Author: sveinung
Date: Sun Aug  9 17:42:10 2015
New Revision: 29424

URL: http://svn.gna.org/viewcvs/freeciv?rev=29424&view=rev
Log:
orders system: replace ORDER_BUILD_WONDER with ORDER_PERFORM_ACTION

See patch #6202

Modified:
    trunk/common/unit.h
    trunk/fc_version
    trunk/server/savecompat.c
    trunk/server/savegame.c
    trunk/server/savegame2.c
    trunk/server/savegame3.c
    trunk/server/unithand.c
    trunk/server/unittools.c

Modified: trunk/common/unit.h
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/common/unit.h?rev=29424&r1=29423&r2=29424&view=diff
==============================================================================
--- trunk/common/unit.h (original)
+++ trunk/common/unit.h Sun Aug  9 17:42:10 2015
@@ -37,7 +37,7 @@
   ORDER_FULL_MP = 2,
   ORDER_BUILD_CITY = 3,
   ORDER_DISBAND = 4,
-  ORDER_BUILD_WONDER = 5,
+  ORDER_OLD_BUILD_WONDER = 5,
   ORDER_TRADE_ROUTE = 6,
   ORDER_HOMECITY = 7,
   ORDER_ACTION_MOVE = 8,

Modified: trunk/fc_version
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/fc_version?rev=29424&r1=29423&r2=29424&view=diff
==============================================================================
--- trunk/fc_version    (original)
+++ trunk/fc_version    Sun Aug  9 17:42:10 2015
@@ -54,7 +54,7 @@
 #   - Avoid adding a new mandatory capability to the development branch for
 #     as long as possible.  We want to maintain network compatibility with
 #     the stable branch for as long as possible.
-NETWORK_CAPSTRING_MANDATORY="+Freeciv.Devel-3.0-2015.Aug.08"
+NETWORK_CAPSTRING_MANDATORY="+Freeciv.Devel-3.0-2015.Aug.09"
 NETWORK_CAPSTRING_OPTIONAL=""
 
 FREECIV_DISTRIBUTOR=""

Modified: trunk/server/savecompat.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/server/savecompat.c?rev=29424&r1=29423&r2=29424&view=diff
==============================================================================
--- trunk/server/savecompat.c   (original)
+++ trunk/server/savecompat.c   Sun Aug  9 17:42:10 2015
@@ -1048,7 +1048,7 @@
     } else {
       return ACTION_FOUND_CITY;
     }
-  case ORDER_BUILD_WONDER:
+  case ORDER_OLD_BUILD_WONDER:
     /* Maps one to one with each other. */
     return ACTION_HELP_WONDER;
   case ORDER_TRADE_ROUTE:

Modified: trunk/server/savegame.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/server/savegame.c?rev=29424&r1=29423&r2=29424&view=diff
==============================================================================
--- trunk/server/savegame.c     (original)
+++ trunk/server/savegame.c     Sun Aug  9 17:42:10 2015
@@ -298,7 +298,7 @@
     return ORDER_DISBAND;
   case 'u':
   case 'U':
-    return ORDER_BUILD_WONDER;
+    return ORDER_OLD_BUILD_WONDER;
   case 't':
   case 'T':
     return ORDER_TRADE_ROUTE;

Modified: trunk/server/savegame2.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/server/savegame2.c?rev=29424&r1=29423&r2=29424&view=diff
==============================================================================
--- trunk/server/savegame2.c    (original)
+++ trunk/server/savegame2.c    Sun Aug  9 17:42:10 2015
@@ -579,7 +579,7 @@
     return ORDER_DISBAND;
   case 'u':
   case 'U':
-    return ORDER_BUILD_WONDER;
+    return ORDER_OLD_BUILD_WONDER;
   case 't':
   case 'T':
     return ORDER_TRADE_ROUTE;

Modified: trunk/server/savegame3.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/server/savegame3.c?rev=29424&r1=29423&r2=29424&view=diff
==============================================================================
--- trunk/server/savegame3.c    (original)
+++ trunk/server/savegame3.c    Sun Aug  9 17:42:10 2015
@@ -713,7 +713,15 @@
     return ORDER_DISBAND;
   case 'u':
   case 'U':
-    return ORDER_BUILD_WONDER;
+#ifdef FREECIV_DEV_SAVE_COMPAT
+    /* Will be upgraded with sg_order_to_action(). */
+    return ORDER_OLD_BUILD_WONDER;
+#else /* FREECIV_DEV_SAVE_COMPAT */
+    /* 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 */
   case 't':
   case 'T':
     return ORDER_TRADE_ROUTE;
@@ -748,8 +756,6 @@
     return 'b';
   case ORDER_DISBAND:
     return 'd';
-  case ORDER_BUILD_WONDER:
-    return 'u';
   case ORDER_TRADE_ROUTE:
     return 't';
   case ORDER_HOMECITY:
@@ -758,6 +764,7 @@
     return 'x';
   case ORDER_PERFORM_ACTION:
     return 'p';
+  case ORDER_OLD_BUILD_WONDER:
   case ORDER_LAST:
     break;
   }
@@ -5358,10 +5365,10 @@
         case ORDER_FULL_MP:
         case ORDER_BUILD_CITY:
         case ORDER_DISBAND:
-        case ORDER_BUILD_WONDER:
         case ORDER_TRADE_ROUTE:
         case ORDER_HOMECITY:
         case ORDER_ACTION_MOVE:
+        case ORDER_OLD_BUILD_WONDER:
         case ORDER_LAST:
           break;
         }

Modified: trunk/server/unithand.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/server/unithand.c?rev=29424&r1=29423&r2=29424&view=diff
==============================================================================
--- trunk/server/unithand.c     (original)
+++ trunk/server/unithand.c     Sun Aug  9 17:42:10 2015
@@ -3686,10 +3686,19 @@
     case ORDER_FULL_MP:
     case ORDER_BUILD_CITY:
     case ORDER_DISBAND:
-    case ORDER_BUILD_WONDER:
     case ORDER_TRADE_ROUTE:
     case ORDER_HOMECITY:
       break;
+    case ORDER_OLD_BUILD_WONDER:
+      /* This order has been replaced with ORDER_PERFORM_ACTION and the
+       * action it performs. */
+      log_error("handle_unit_orders(): outdated client. "
+                "The order %d has been replaced. "
+                "Sent in order number %d from %s to unit number %d.",
+                packet->orders[i], i,
+                player_name(pplayer), packet->unit_id);
+
+      return;
     case ORDER_LAST:
       /* An invalid order.  This is handled in execute_orders. */
       break;

Modified: trunk/server/unittools.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/server/unittools.c?rev=29424&r1=29423&r2=29424&view=diff
==============================================================================
--- trunk/server/unittools.c    (original)
+++ trunk/server/unittools.c    Sun Aug  9 17:42:10 2015
@@ -3735,8 +3735,6 @@
     } else {
       return ACTION_FOUND_CITY;
     }
-  case ORDER_BUILD_WONDER:
-    return ACTION_HELP_WONDER;
   case ORDER_TRADE_ROUTE:
     return ACTION_TRADE_ROUTE;
   case ORDER_MOVE:
@@ -3746,6 +3744,7 @@
   case ORDER_DISBAND:
   case ORDER_HOMECITY:
   case ORDER_PERFORM_ACTION:
+  case ORDER_OLD_BUILD_WONDER:
   case ORDER_LAST:
     /* Not action enabler controlled. */
     break;
@@ -3854,7 +3853,7 @@
       }
       break;
     case ORDER_BUILD_CITY:
-    case ORDER_BUILD_WONDER:
+    case ORDER_OLD_BUILD_WONDER:
     case ORDER_TRADE_ROUTE:
       if (should_wait_for_mp(punit, order_to_action(punit, order.order))) {
         log_debug("  stopping. Not enough move points this turn");
@@ -4102,34 +4101,6 @@
       } else {
        return FALSE;
       }
-    case ORDER_BUILD_WONDER:
-      log_debug("  orders: building wonder");
-      dst_tile = unit_tile(punit);
-
-      fc_assert_ret_val_msg(dst_tile, FALSE, "No tile for ordered unit");
-
-      if (tile_city(dst_tile) == NULL) {
-        cancel_orders(punit, "  build wonder order with no city");
-        notify_player(pplayer, unit_tile(punit), E_UNIT_ORDERS, ftc_server,
-                      _("Orders for %s aborted since they "
-                        "give a location without a city."),
-                      unit_link(punit));
-        return TRUE;
-      }
-
-      handle_unit_do_action(pplayer,
-                            unitid,
-                            tile_city(dst_tile)->id,
-                            0, "", ACTION_HELP_WONDER);
-      if (player_unit_by_number(pplayer, unitid)) {
-        cancel_orders(punit, "  no wonder city");
-        notify_player(pplayer, unit_tile(punit), E_UNIT_ORDERS, ftc_server,
-                      _("Attempt to build wonder for %s failed."),
-                      unit_link(punit));
-        return TRUE;
-      } else {
-       return FALSE;
-      }
     case ORDER_PERFORM_ACTION:
       log_debug("  orders: doing action %d", order.action);
 
@@ -4257,6 +4228,7 @@
       }
 
       break;
+    case ORDER_OLD_BUILD_WONDER:
     case ORDER_LAST:
       cancel_orders(punit, "  client sent invalid order!");
       notify_player(pplayer, unit_tile(punit), E_UNIT_ORDERS, ftc_server,


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

Reply via email to