Author: cazfi
Date: Fri Apr 24 21:02:42 2015
New Revision: 28859

URL: http://svn.gna.org/viewcvs/freeciv?rev=28859&view=rev
Log:
Rearranged trait information save format so tabular format can be used.

See patch #6027

Modified:
    trunk/server/savecompat.c
    trunk/server/savegame2.c
    trunk/server/savegame3.c

Modified: trunk/server/savecompat.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/server/savecompat.c?rev=28859&r1=28858&r2=28859&view=diff
==============================================================================
--- trunk/server/savecompat.c   (original)
+++ trunk/server/savecompat.c   Fri Apr 24 21:02:42 2015
@@ -761,6 +761,7 @@
     bool got_first_city;
     int old_barb_type;
     enum barbarian_type new_barb_type;
+    int i;
 
     /* Renamed 'capital' to 'got_first_city'. */
     if (secfile_lookup_bool(loading->file, &got_first_city, 
@@ -775,6 +776,21 @@
     new_barb_type = barb_type_convert(old_barb_type);
     secfile_insert_str(loading->file, barbarian_type_name(new_barb_type),
                        "player%d.ai.barb_type", plrno);
+
+    for (i = 0; i < loading->trait.size; i++) {
+      int val;
+
+      val = secfile_lookup_int_default(loading->file, -1, "pĺr%d.trait.val%d",
+                                       plrno, i);
+      if (val != -1) {
+        secfile_insert_int(loading->file, val, "plr%d.trait%d.val", plrno, i);
+      }
+
+      if (secfile_lookup_int(loading->file, &val, "plr%d.trait.mod%d", plrno, 
i)) {
+        log_sg("Trait mod: %s", secfile_error());
+      }
+      secfile_insert_int(loading->file, val, "plr%d.trait%d.mod", plrno, i);
+    }
   }
 
   /* Units orders. */

Modified: trunk/server/savegame2.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/server/savegame2.c?rev=28859&r1=28858&r2=28859&view=diff
==============================================================================
--- trunk/server/savegame2.c    (original)
+++ trunk/server/savegame2.c    Fri Apr 24 21:02:42 2015
@@ -2667,7 +2667,7 @@
       enum trait tr = trait_by_name(loading->trait.order[i], fc_strcasecmp);
 
       if (trait_is_valid(tr)) {
-        int val = secfile_lookup_int_default(loading->file, -1, 
"plr%d.trait.val%d",
+        int val = secfile_lookup_int_default(loading->file, -1, 
"plr%d.trait%d.val",
                                              plrno, i);
 
         if (val != -1) {
@@ -2675,7 +2675,7 @@
         }
 
         if (secfile_lookup_int(loading->file, &val,
-                               "plr%d.trait.mod%d", plrno, i)) {
+                               "plr%d.trait%d.mod", plrno, i)) {
           plr->ai_common.traits[tr].mod = val;
         }
       }

Modified: trunk/server/savegame3.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/server/savegame3.c?rev=28859&r1=28858&r2=28859&view=diff
==============================================================================
--- trunk/server/savegame3.c    (original)
+++ trunk/server/savegame3.c    Fri Apr 24 21:02:42 2015
@@ -3644,7 +3644,7 @@
       enum trait tr = trait_by_name(loading->trait.order[i], fc_strcasecmp);
 
       if (trait_is_valid(tr)) {
-        int val = secfile_lookup_int_default(loading->file, -1, 
"plr%d.trait.val%d",
+        int val = secfile_lookup_int_default(loading->file, -1, 
"plr%d.trait%d.val",
                                              plrno, i);
 
         if (val != -1) {
@@ -3652,7 +3652,7 @@
         }
 
         if (secfile_lookup_int(loading->file, &val,
-                               "plr%d.trait.mod%d", plrno, i)) {
+                               "plr%d.trait%d.mod", plrno, i)) {
           plr->ai_common.traits[tr].mod = val;
         }
       }
@@ -3925,9 +3925,9 @@
 
     for (tr = trait_begin(), j = 0; tr != trait_end(); tr = trait_next(tr), 
j++) {
       secfile_insert_int(saving->file, plr->ai_common.traits[tr].val,
-                         "player%d.trait.val%d", plrno, j);
+                         "player%d.trait%d.val", plrno, j);
       secfile_insert_int(saving->file, plr->ai_common.traits[tr].mod,
-                         "player%d.trait.mod%d", plrno, j);
+                         "player%d.trait%d.mod", plrno, j);
     }
   }
 


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

Reply via email to