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

Reply via email to