Author: cazfi
Date: Tue Aug 18 18:34:31 2015
New Revision: 29578

URL: http://svn.gna.org/viewcvs/freeciv?rev=29578&view=rev
Log:
Do not save research data when players are not saved to scenario at all.

See bug #23792

Modified:
    trunk/server/savegame3.c

Modified: trunk/server/savegame3.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/server/savegame3.c?rev=29578&r1=29577&r2=29578&view=diff
==============================================================================
--- trunk/server/savegame3.c    (original)
+++ trunk/server/savegame3.c    Tue Aug 18 18:34:31 2015
@@ -6128,36 +6128,38 @@
   /* Check status and return if not OK (sg_success != TRUE). */
   sg_check_ret();
 
-  researches_iterate(presearch) {
-    secfile_insert_int(saving->file, research_number(presearch),
-                       "research.r%d.number", i);
-    technology_save(saving->file, "research.r%d.goal",
-                    i, presearch->tech_goal);
-    secfile_insert_int(saving->file, presearch->techs_researched,
-                       "research.r%d.techs", i);
-    secfile_insert_int(saving->file, presearch->future_tech,
-                       "research.r%d.futuretech", i);
-    secfile_insert_int(saving->file, presearch->bulbs_researching_saved,
-                       "research.r%d.bulbs_before", i);
-    technology_save(saving->file, "research.r%d.saved",
-                    i, presearch->researching_saved);
-    secfile_insert_int(saving->file, presearch->bulbs_researched,
-                       "research.r%d.bulbs", i);
-    technology_save(saving->file, "research.r%d.now",
-                    i, presearch->researching);
-    secfile_insert_bool(saving->file, presearch->got_tech,
-                        "research.r%d.got_tech", i);
-    /* Save technology lists as bytevector. Note that technology order is
-     * saved in savefile.technology.order */
-    advance_index_iterate(A_NONE, tech_id) {
-      invs[tech_id] = (research_invention_state(presearch, tech_id)
-                       == TECH_KNOWN ? '1' : '0');
-    } advance_index_iterate_end;
-    invs[game.control.num_tech_types] = '\0';
-    secfile_insert_str(saving->file, invs, "research.r%d.done", i);
-    i++;
-  } researches_iterate_end;
-  secfile_insert_int(saving->file, i, "research.count");
+  if (saving->save_players) {
+    researches_iterate(presearch) {
+      secfile_insert_int(saving->file, research_number(presearch),
+                         "research.r%d.number", i);
+      technology_save(saving->file, "research.r%d.goal",
+                      i, presearch->tech_goal);
+      secfile_insert_int(saving->file, presearch->techs_researched,
+                         "research.r%d.techs", i);
+      secfile_insert_int(saving->file, presearch->future_tech,
+                         "research.r%d.futuretech", i);
+      secfile_insert_int(saving->file, presearch->bulbs_researching_saved,
+                         "research.r%d.bulbs_before", i);
+      technology_save(saving->file, "research.r%d.saved",
+                      i, presearch->researching_saved);
+      secfile_insert_int(saving->file, presearch->bulbs_researched,
+                         "research.r%d.bulbs", i);
+      technology_save(saving->file, "research.r%d.now",
+                      i, presearch->researching);
+      secfile_insert_bool(saving->file, presearch->got_tech,
+                          "research.r%d.got_tech", i);
+      /* Save technology lists as bytevector. Note that technology order is
+       * saved in savefile.technology.order */
+      advance_index_iterate(A_NONE, tech_id) {
+        invs[tech_id] = (research_invention_state(presearch, tech_id)
+                         == TECH_KNOWN ? '1' : '0');
+      } advance_index_iterate_end;
+      invs[game.control.num_tech_types] = '\0';
+      secfile_insert_str(saving->file, invs, "research.r%d.done", i);
+      i++;
+    } researches_iterate_end;
+    secfile_insert_int(saving->file, i, "research.count");
+  }
 }
 
 /* =======================================================================


_______________________________________________
Freeciv-commits mailing list
Freeciv-commits@gna.org
https://mail.gna.org/listinfo/freeciv-commits

Reply via email to