Author: cazfi
Date: Mon Jan 18 12:15:01 2016
New Revision: 31481

URL: http://svn.gna.org/viewcvs/freeciv?rev=31481&view=rev
Log:
Added players' consequtive idle turns count to savegame.

Requested by Michal Mazurek <akfaew>

See bug #24312

Modified:
    trunk/data/scenarios/tileset-demo.sav
    trunk/server/savecompat.c
    trunk/server/savegame2.c
    trunk/server/savegame3.c

Modified: trunk/data/scenarios/tileset-demo.sav
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/data/scenarios/tileset-demo.sav?rev=31481&r1=31480&r2=31481&view=diff
==============================================================================
--- trunk/data/scenarios/tileset-demo.sav       (original)
+++ trunk/data/scenarios/tileset-demo.sav       Mon Jan 18 12:15:01 2016
@@ -890,6 +890,7 @@
 team_no=0
 government_name="Despotism"
 style_by_name="Classical"
+idle_turns=0
 is_male=TRUE
 is_alive=TRUE
 turns_alive=0
@@ -1529,6 +1530,7 @@
 team_no=1
 government_name="Despotism"
 style_by_name="Babylonian"
+idle_turns=0
 is_male=TRUE
 is_alive=TRUE
 turns_alive=0
@@ -2141,6 +2143,7 @@
 team_no=2
 government_name="Despotism"
 style_by_name="Classical"
+idle_turns=0
 is_male=TRUE
 is_alive=TRUE
 turns_alive=0
@@ -2775,6 +2778,7 @@
 team_no=3
 government_name="Despotism"
 style_by_name="Celtic"
+idle_turns=0
 is_male=TRUE
 is_alive=TRUE
 turns_alive=0
@@ -3405,6 +3409,7 @@
 team_no=4
 government_name="Despotism"
 style_by_name="Classical"
+idle_turns=0
 is_male=TRUE
 is_alive=TRUE
 turns_alive=0

Modified: trunk/server/savecompat.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/server/savecompat.c?rev=31481&r1=31480&r2=31481&view=diff
==============================================================================
--- trunk/server/savecompat.c   (original)
+++ trunk/server/savecompat.c   Mon Jan 18 12:15:01 2016
@@ -863,7 +863,10 @@
     secfile_insert_int(loading->file, turn, "player%d.turns_alive", plrno);
 
     /* As if there never has been a war. */
-    secfile_insert_int(loading->file, -1, "player%d.last_war", plrno); 
+    secfile_insert_int(loading->file, -1, "player%d.last_war", plrno);
+
+    /* Assume people were playing until current reload */
+    secfile_insert_int(loading->file, 0, "player%d.idle_turns", plrno);
 
     for (i = 0; i < tsize; i++) {
       int val;
@@ -1391,6 +1394,20 @@
       secfile_insert_int_vec(loading->file, tgt_vec, len,
                              "player%d.u%d.tgt_vec",
                              plrno, unit);
+    }
+  }
+
+  /* Since version number bump to 2.91.99 */
+
+  /* Idle turns */
+  for (plrno = 0; plrno < nplayers; plrno++) {
+    int idlet;
+
+    idlet = secfile_lookup_int_default(loading->file, -1,
+                                       "player%d.idle_turns", plrno);
+
+    if (idlet == -1) {
+      secfile_insert_int(loading->file, 0, "player%d.idle_turns", plrno);
     }
   }
 }

Modified: trunk/server/savegame2.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/server/savegame2.c?rev=31481&r1=31480&r2=31481&view=diff
==============================================================================
--- trunk/server/savegame2.c    (original)
+++ trunk/server/savegame2.c    Mon Jan 18 12:15:01 2016
@@ -2904,7 +2904,9 @@
     plr->style = style;
   }
 
-  plr->nturns_idle = 0;
+  sg_failure_ret(secfile_lookup_int(loading->file, &plr->nturns_idle,
+                                    "player%d.idle_turns", plrno),
+                 "%s", secfile_error());
   plr->is_male = secfile_lookup_bool_default(loading->file, TRUE,
                                              "player%d.is_male", plrno);
   sg_failure_ret(secfile_lookup_bool(loading->file, &plr->is_alive,

Modified: trunk/server/savegame3.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/server/savegame3.c?rev=31481&r1=31480&r2=31481&view=diff
==============================================================================
--- trunk/server/savegame3.c    (original)
+++ trunk/server/savegame3.c    Mon Jan 18 12:15:01 2016
@@ -3690,7 +3690,9 @@
     plr->style = style;
   }
 
-  plr->nturns_idle = 0;
+  sg_failure_ret(secfile_lookup_int(loading->file, &plr->nturns_idle,
+                                    "player%d.idle_turns", plrno),
+                 "%s", secfile_error());
   plr->is_male = secfile_lookup_bool_default(loading->file, TRUE,
                                              "player%d.is_male", plrno);
   sg_failure_ret(secfile_lookup_bool(loading->file, &plr->is_alive,
@@ -4017,6 +4019,8 @@
   secfile_insert_str(saving->file, style_rule_name(plr->style),
                       "player%d.style_by_name", plrno);
 
+  secfile_insert_int(saving->file, plr->nturns_idle,
+                     "player%d.idle_turns", plrno);
   secfile_insert_bool(saving->file, plr->is_male,
                       "player%d.is_male", plrno);
   secfile_insert_bool(saving->file, plr->is_alive,


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

Reply via email to