Author: cazfi Date: Fri Dec 18 20:51:25 2015 New Revision: 31070 URL: http://svn.gna.org/viewcvs/freeciv?rev=31070&view=rev Log: Load player research before main player data from the savegame to fix problems with seemingly unknown technologies.
Reported by Jordi Negrevernis i Font <jorneg> See bug #24133 Modified: trunk/server/savegame2.c trunk/server/savegame3.c Modified: trunk/server/savegame2.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/server/savegame2.c?rev=31070&r1=31069&r2=31070&view=diff ============================================================================== --- trunk/server/savegame2.c (original) +++ trunk/server/savegame2.c Fri Dec 18 20:51:25 2015 @@ -450,10 +450,10 @@ sg_load_players_basic(loading); /* [map]; needs width and height loaded by [settings] */ sg_load_map(loading); + /* [research] */ + sg_load_researches(loading); /* [player<i>] */ sg_load_players(loading); - /* [research] */ - sg_load_researches(loading); /* [event_cache] */ sg_load_event_cache(loading); /* [treaties] */ @@ -2696,6 +2696,8 @@ unit_list_iterate(pplayer->units, punit) { if (!can_unit_continue_current_activity(punit)) { log_sg("Unit doing illegal activity in savegame!"); + log_sg("Activity: %s, Target: %s", unit_activity_name(punit->activity), + extra_rule_name(punit->activity_target)); punit->activity = ACTIVITY_IDLE; } } unit_list_iterate_end; Modified: trunk/server/savegame3.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/server/savegame3.c?rev=31070&r1=31069&r2=31070&view=diff ============================================================================== --- trunk/server/savegame3.c (original) +++ trunk/server/savegame3.c Fri Dec 18 20:51:25 2015 @@ -520,10 +520,10 @@ sg_load_players_basic(loading); /* [map]; needs width and height loaded by [settings] */ sg_load_map(loading); + /* [research] */ + sg_load_researches(loading); /* [player<i>] */ sg_load_players(loading); - /* [research] */ - sg_load_researches(loading); /* [event_cache] */ sg_load_event_cache(loading); /* [treaties] */ @@ -3485,6 +3485,8 @@ unit_list_iterate(pplayer->units, punit) { if (!can_unit_continue_current_activity(punit)) { log_sg("Unit doing illegal activity in savegame!"); + log_sg("Activity: %s, Target: %s", unit_activity_name(punit->activity), + extra_rule_name(punit->activity_target)); punit->activity = ACTIVITY_IDLE; } } unit_list_iterate_end; _______________________________________________ Freeciv-commits mailing list Freeciv-commits@gna.org https://mail.gna.org/listinfo/freeciv-commits