Author: cazfi
Date: Sat Jul  2 20:34:08 2016
New Revision: 33148

URL: http://svn.gna.org/viewcvs/freeciv?rev=33148&view=rev
Log:
Added macro FREECIV_DEV_SAVE_COMPAT_3_0 to be used instead of
FREECIV_DEV_SAVE_COMPAT where the compatibility code is specific
to 3.0 development

See patch #7331

Modified:
    trunk/configure.ac
    trunk/server/savecompat.c
    trunk/server/savegame3.c

Modified: trunk/configure.ac
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/configure.ac?rev=33148&r1=33147&r2=33148&view=diff
==============================================================================
--- trunk/configure.ac  (original)
+++ trunk/configure.ac  Sat Jul  2 20:34:08 2016
@@ -323,7 +323,9 @@
   [dev_save_compat=$IS_DEVEL_VERSION])
 AS_IF([test $dev_save_compat != 0],
       [AC_DEFINE([FREECIV_DEV_SAVE_COMPAT], [1],
-                 [Development version save game compatibility])])
+                 [Development version save game compatibility])
+       AC_DEFINE([FREECIV_DEV_SAVE_COMPAT_3_0], [1],
+                 [Development version save game compatibility - 3.0 
development])])
 
 dnl set default values
 mapimg_all=auto

Modified: trunk/server/savecompat.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/server/savecompat.c?rev=33148&r1=33147&r2=33148&view=diff
==============================================================================
--- trunk/server/savecompat.c   (original)
+++ trunk/server/savecompat.c   Sat Jul  2 20:34:08 2016
@@ -133,7 +133,7 @@
 
   loading->version = secfile_lookup_int_default(loading->file, -1,
                                                 "savefile.version");
-#ifdef DEBUG
+#ifdef FREECIV_DEBUG
   sg_failure_ret(0 < loading->version, "Invalid savefile format version (%d).",
                  loading->version);
   if (loading->version > compat[compat_current].version) {
@@ -142,11 +142,11 @@
               "Trying to load the game nevertheless ...", loading->version,
               compat[compat_current].version);
   }
-#else
+#else  /* FREECIV_DEBUG */
   sg_failure_ret(0 < loading->version
                  && loading->version <= compat[compat_current].version,
                  "Unknown savefile format version (%d).", loading->version);
-#endif /* DEBUG */
+#endif /* FREECIV_DEBUG */
 
 
   for (i = 0; i < compat_num; i++) {
@@ -1309,7 +1309,7 @@
   secfile_replace_int(loading->file, num_settings, "settings.set_count");
 }
 
-#ifdef FREECIV_DEV_SAVE_COMPAT
+#ifdef FREECIV_DEV_SAVE_COMPAT_3_0
 static const char num_chars[] =
   "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-+";
 
@@ -1333,17 +1333,21 @@
 
   return pch - num_chars;
 }
+#endif /* FREECIV_DEV_SAVE_COMPAT_3_0 */
 
 /****************************************************************************
   Translate savegame secfile data from earlier development version format
   to current one.
 ****************************************************************************/
+#ifdef FREECIV_DEV_SAVE_COMPAT
 static void compat_load_dev(struct loaddata *loading)
 {
+  int game_version;
+#ifdef FREECIV_DEV_SAVE_COMPAT_3_0
   bool randsaved;
-  int game_version;
   size_t diplstate_type_size;
   int num_settings;
+#endif /* FREECIV_DEV_SAVE_COMPAT_3_0 */
 
   /* Check status and return if not OK (sg_success != TRUE). */
   sg_check_ret();
@@ -1364,6 +1368,7 @@
     game_version *= 100;
   }
 
+#ifdef FREECIV_DEV_SAVE_COMPAT_3_0
   if (game_version < 2910000) {
     /* Early 3.0 development version save. */
   
@@ -1690,6 +1695,7 @@
       }
     } player_slots_iterate_end;
   }
+#endif /* FREECIV_DEV_SAVE_COMPAT_3_0 */
 }
 #endif /* FREECIV_DEV_SAVE_COMPAT */
 

Modified: trunk/server/savegame3.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/server/savegame3.c?rev=33148&r1=33147&r2=33148&view=diff
==============================================================================
--- trunk/server/savegame3.c    (original)
+++ trunk/server/savegame3.c    Sat Jul  2 20:34:08 2016
@@ -674,62 +674,62 @@
     return ORDER_FULL_MP;
   case 'b':
   case 'B':
-#ifdef FREECIV_DEV_SAVE_COMPAT
+#ifdef FREECIV_DEV_SAVE_COMPAT_3_0
     /* Will be upgraded with sg_order_to_action(). */
     return ORDER_OLD_BUILD_CITY;
-#else /* FREECIV_DEV_SAVE_COMPAT */
+#else /* FREECIV_DEV_SAVE_COMPAT_3_0 */
     /* This order isn't supposed to show up in version 3 save games. */
     log_error("Corrupt save game: build city ordered the old way.");
 
     return ORDER_LAST;
-#endif /* FREECIV_DEV_SAVE_COMPAT */
+#endif /* FREECIV_DEV_SAVE_COMPAT_3_0 */
   case 'a':
   case 'A':
     return ORDER_ACTIVITY;
   case 'd':
   case 'D':
-#ifdef FREECIV_DEV_SAVE_COMPAT
+#ifdef FREECIV_DEV_SAVE_COMPAT_3_0
     /* Will be upgraded with sg_order_to_action(). */
     return ORDER_OLD_DISBAND;
-#else /* FREECIV_DEV_SAVE_COMPAT */
+#else /* FREECIV_DEV_SAVE_COMPAT_3_0 */
     /* This order isn't supposed to show up in version 3 save games. */
     log_error("Corrupt save game: disband unit ordered the old way.");
 
     return ORDER_LAST;
-#endif /* FREECIV_DEV_SAVE_COMPAT */
+#endif /* FREECIV_DEV_SAVE_COMPAT_3_0 */
   case 'u':
   case 'U':
-#ifdef FREECIV_DEV_SAVE_COMPAT
+#ifdef FREECIV_DEV_SAVE_COMPAT_3_0
     /* Will be upgraded with sg_order_to_action(). */
     return ORDER_OLD_BUILD_WONDER;
-#else /* FREECIV_DEV_SAVE_COMPAT */
+#else /* FREECIV_DEV_SAVE_COMPAT_3_0 */
     /* This order isn't supposed to show up in version 3 save games. */
     log_error("Corrupt save game: help build wonder ordered the old way.");
 
     return ORDER_LAST;
-#endif /* FREECIV_DEV_SAVE_COMPAT */
+#endif /* FREECIV_DEV_SAVE_COMPAT_3_0 */
   case 't':
   case 'T':
-#ifdef FREECIV_DEV_SAVE_COMPAT
+#ifdef FREECIV_DEV_SAVE_COMPAT_3_0
     /* Will be upgraded with sg_order_to_action(). */
     return ORDER_OLD_TRADE_ROUTE;
-#else /* FREECIV_DEV_SAVE_COMPAT */
+#else /* FREECIV_DEV_SAVE_COMPAT_3_0 */
     /* This order isn't supposed to show up in version 3 save games. */
     log_error("Corrupt save game: trade route ordered the old way.");
 
     return ORDER_LAST;
-#endif /* FREECIV_DEV_SAVE_COMPAT */
+#endif /* FREECIV_DEV_SAVE_COMPAT_3_0 */
   case 'h':
   case 'H':
-#ifdef FREECIV_DEV_SAVE_COMPAT
+#ifdef FREECIV_DEV_SAVE_COMPAT_3_0
     /* Will be upgraded with sg_order_to_action(). */
     return ORDER_OLD_HOMECITY;
-#else /* FREECIV_DEV_SAVE_COMPAT */
+#else /* FREECIV_DEV_SAVE_COMPAT_3_0 */
     /* This order isn't supposed to show up in version 3 save games. */
     log_error("Corrupt save game: change home city ordered the old way.");
 
     return ORDER_LAST;
-#endif /* FREECIV_DEV_SAVE_COMPAT */
+#endif /* FREECIV_DEV_SAVE_COMPAT_3_0 */
   case 'x':
   case 'X':
     return ORDER_ACTION_MOVE;
@@ -5373,9 +5373,9 @@
         int order_tgt;
 
         if (orders_unitstr[j] == '\0' || dir_unitstr[j] == '\0'
-#ifndef FREECIV_DEV_SAVE_COMPAT
+#ifndef FREECIV_DEV_SAVE_COMPAT_3_0
             || action_unitstr[j] == '\0'
-#endif /* FREECIV_DEV_SAVE_COMPAT */
+#endif /* FREECIV_DEV_SAVE_COMPAT_3_0 */
             || act_unitstr[j] == '\0') {
           log_sg("Invalid unit orders.");
           free_unit_orders(punit);
@@ -5386,15 +5386,15 @@
         order->activity = char2activity(act_unitstr[j]);
 
         order->action = (
-#ifdef FREECIV_DEV_SAVE_COMPAT
+#ifdef FREECIV_DEV_SAVE_COMPAT_3_0
                          action_unitstr[0] == '\0'
                          ||
-#endif /* FREECIV_DEV_SAVE_COMPAT */
+#endif /* FREECIV_DEV_SAVE_COMPAT_3_0 */
                          action_unitstr[j] == '?'
                          ? ACTION_COUNT
                          : char2num(action_unitstr[j]));
 
-#ifdef FREECIV_DEV_SAVE_COMPAT
+#ifdef FREECIV_DEV_SAVE_COMPAT_3_0
         if (order->order != ORDER_PERFORM_ACTION
             && order->action == ACTION_COUNT) {
           /* This order may have been replaced by the perform action
@@ -5409,7 +5409,7 @@
             order->order = ORDER_PERFORM_ACTION;
           }
         }
-#endif /* FREECIV_DEV_SAVE_COMPAT */
+#endif /* FREECIV_DEV_SAVE_COMPAT_3_0 */
 
         if (order->order == ORDER_LAST
             || (order->order == ORDER_MOVE && !direction8_is_valid(order->dir))


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

Reply via email to