Author: cazfi
Date: Sat Oct  8 07:12:36 2016
New Revision: 34050

URL: http://svn.gna.org/viewcvs/freeciv?rev=34050&view=rev
Log:
Added support for editing scenario-reserved property of players.

See patch #7784

Modified:
    trunk/client/gui-gtk-2.0/editprop.c
    trunk/client/gui-gtk-3.0/editprop.c
    trunk/client/gui-gtk-3.22/editprop.c
    trunk/common/networking/packets.def
    trunk/fc_version
    trunk/server/edithand.c

Modified: trunk/client/gui-gtk-2.0/editprop.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-gtk-2.0/editprop.c?rev=34050&r1=34049&r2=34050&view=diff
==============================================================================
--- trunk/client/gui-gtk-2.0/editprop.c (original)
+++ trunk/client/gui-gtk-2.0/editprop.c Sat Oct  8 07:12:36 2016
@@ -360,6 +360,7 @@
   OPID_PLAYER_ADDRESS,
 #endif /* FREECIV_DEBUG */
   OPID_PLAYER_INVENTIONS,
+  OPID_PLAYER_SCENARIO_RESERVED,
   OPID_PLAYER_SCIENCE,
   OPID_PLAYER_GOLD,
 
@@ -1786,6 +1787,9 @@
         } advance_index_iterate_end;
         pv->must_free = TRUE;
         break;
+      case OPID_PLAYER_SCENARIO_RESERVED:
+        pv->data.v_bool = player_has_flag(pplayer, PLRF_SCENARIO_RESERVED);
+        break;
       case OPID_PLAYER_SCIENCE:
         presearch = research_get(pplayer);
         pv->data.v_int = presearch->bulbs_researched;
@@ -2548,6 +2552,9 @@
         advance_index_iterate(A_FIRST, tech) {
           packet->inventions[tech] = pv->data.v_inventions[tech];
         } advance_index_iterate_end;
+        return;
+      case OPID_PLAYER_SCENARIO_RESERVED:
+        packet->scenario_reserved = pv->data.v_bool;
         return;
       case OPID_PLAYER_SCIENCE:
         packet->bulbs_researched = pv->data.v_int;
@@ -3048,6 +3055,7 @@
   case OPID_GAME_PREVENT_CITIES:
   case OPID_GAME_LAKE_FLOODING:
   case OPID_GAME_RULESET_LOCKED:
+  case OPID_PLAYER_SCENARIO_RESERVED:
     button = gtk_check_button_new();
     g_signal_connect(button, "toggled",
         G_CALLBACK(objprop_widget_toggle_button_changed), op);
@@ -3263,6 +3271,7 @@
   case OPID_GAME_PREVENT_CITIES:
   case OPID_GAME_LAKE_FLOODING:
   case OPID_GAME_RULESET_LOCKED:
+  case OPID_PLAYER_SCENARIO_RESERVED:
     button = objprop_get_child_widget(op, "checkbutton");
     disable_gobject_callback(G_OBJECT(button),
         G_CALLBACK(objprop_widget_toggle_button_changed));
@@ -4464,6 +4473,8 @@
             OPF_HAS_WIDGET, VALTYPE_INT);
     ADDPROP(OPID_PLAYER_INVENTIONS, _("Inventions"), OPF_IN_LISTVIEW
             | OPF_HAS_WIDGET | OPF_EDITABLE, VALTYPE_INVENTIONS_ARRAY);
+    ADDPROP(OPID_PLAYER_SCENARIO_RESERVED, _("Reserved"),
+            OPF_HAS_WIDGET | OPF_EDITABLE, VALTYPE_BOOL);
     ADDPROP(OPID_PLAYER_SCIENCE, _("Science"),
             OPF_HAS_WIDGET | OPF_EDITABLE, VALTYPE_INT);
     ADDPROP(OPID_PLAYER_GOLD, _("Gold"), OPF_IN_LISTVIEW

Modified: trunk/client/gui-gtk-3.0/editprop.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-gtk-3.0/editprop.c?rev=34050&r1=34049&r2=34050&view=diff
==============================================================================
--- trunk/client/gui-gtk-3.0/editprop.c (original)
+++ trunk/client/gui-gtk-3.0/editprop.c Sat Oct  8 07:12:36 2016
@@ -361,6 +361,7 @@
   OPID_PLAYER_ADDRESS,
 #endif /* FREECIV_DEBUG */
   OPID_PLAYER_INVENTIONS,
+  OPID_PLAYER_SCENARIO_RESERVED,
   OPID_PLAYER_SCIENCE,
   OPID_PLAYER_GOLD,
 
@@ -1790,6 +1791,9 @@
         } advance_index_iterate_end;
         pv->must_free = TRUE;
         break;
+      case OPID_PLAYER_SCENARIO_RESERVED:
+        pv->data.v_bool = player_has_flag(pplayer, PLRF_SCENARIO_RESERVED);
+        break;
       case OPID_PLAYER_SCIENCE:
         presearch = research_get(pplayer);
         pv->data.v_int = presearch->bulbs_researched;
@@ -2552,6 +2556,9 @@
         advance_index_iterate(A_FIRST, tech) {
           packet->inventions[tech] = pv->data.v_inventions[tech];
         } advance_index_iterate_end;
+        return;
+      case OPID_PLAYER_SCENARIO_RESERVED:
+        packet->scenario_reserved = pv->data.v_bool;
         return;
       case OPID_PLAYER_SCIENCE:
         packet->bulbs_researched = pv->data.v_int;
@@ -3080,6 +3087,7 @@
   case OPID_GAME_PREVENT_CITIES:
   case OPID_GAME_LAKE_FLOODING:
   case OPID_GAME_RULESET_LOCKED:
+  case OPID_PLAYER_SCENARIO_RESERVED:
     button = gtk_check_button_new();
     gtk_widget_set_hexpand(button, TRUE);
     gtk_widget_set_halign(button, GTK_ALIGN_END);
@@ -3297,6 +3305,7 @@
   case OPID_GAME_PREVENT_CITIES:
   case OPID_GAME_LAKE_FLOODING:
   case OPID_GAME_RULESET_LOCKED:
+  case OPID_PLAYER_SCENARIO_RESERVED:
     button = objprop_get_child_widget(op, "checkbutton");
     disable_gobject_callback(G_OBJECT(button),
         G_CALLBACK(objprop_widget_toggle_button_changed));
@@ -4529,6 +4538,8 @@
     ADDPROP(OPID_PLAYER_INVENTIONS, _("Inventions"), NULL,
             OPF_IN_LISTVIEW | OPF_HAS_WIDGET | OPF_EDITABLE,
             VALTYPE_INVENTIONS_ARRAY);
+    ADDPROP(OPID_PLAYER_SCENARIO_RESERVED, _("Reserved"), NULL,
+            OPF_HAS_WIDGET | OPF_EDITABLE, VALTYPE_BOOL);
     ADDPROP(OPID_PLAYER_SCIENCE, _("Science"), NULL,
             OPF_HAS_WIDGET | OPF_EDITABLE, VALTYPE_INT);
     ADDPROP(OPID_PLAYER_GOLD, _("Gold"), NULL,

Modified: trunk/client/gui-gtk-3.22/editprop.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-gtk-3.22/editprop.c?rev=34050&r1=34049&r2=34050&view=diff
==============================================================================
--- trunk/client/gui-gtk-3.22/editprop.c        (original)
+++ trunk/client/gui-gtk-3.22/editprop.c        Sat Oct  8 07:12:36 2016
@@ -361,6 +361,7 @@
   OPID_PLAYER_ADDRESS,
 #endif /* FREECIV_DEBUG */
   OPID_PLAYER_INVENTIONS,
+  OPID_PLAYER_SCENARIO_RESERVED,
   OPID_PLAYER_SCIENCE,
   OPID_PLAYER_GOLD,
 
@@ -1790,6 +1791,9 @@
         } advance_index_iterate_end;
         pv->must_free = TRUE;
         break;
+      case OPID_PLAYER_SCENARIO_RESERVED:
+        pv->data.v_bool = player_has_flag(pplayer, PLRF_SCENARIO_RESERVED);
+        break;
       case OPID_PLAYER_SCIENCE:
         presearch = research_get(pplayer);
         pv->data.v_int = presearch->bulbs_researched;
@@ -2552,6 +2556,9 @@
         advance_index_iterate(A_FIRST, tech) {
           packet->inventions[tech] = pv->data.v_inventions[tech];
         } advance_index_iterate_end;
+        return;
+      case OPID_PLAYER_SCENARIO_RESERVED:
+        packet->scenario_reserved = pv->data.v_bool;
         return;
       case OPID_PLAYER_SCIENCE:
         packet->bulbs_researched = pv->data.v_int;
@@ -3080,6 +3087,7 @@
   case OPID_GAME_PREVENT_CITIES:
   case OPID_GAME_LAKE_FLOODING:
   case OPID_GAME_RULESET_LOCKED:
+  case OPID_PLAYER_SCENARIO_RESERVED:
     button = gtk_check_button_new();
     gtk_widget_set_hexpand(button, TRUE);
     gtk_widget_set_halign(button, GTK_ALIGN_END);
@@ -3297,6 +3305,7 @@
   case OPID_GAME_PREVENT_CITIES:
   case OPID_GAME_LAKE_FLOODING:
   case OPID_GAME_RULESET_LOCKED:
+  case OPID_PLAYER_SCENARIO_RESERVED:
     button = objprop_get_child_widget(op, "checkbutton");
     disable_gobject_callback(G_OBJECT(button),
         G_CALLBACK(objprop_widget_toggle_button_changed));
@@ -4529,6 +4538,8 @@
     ADDPROP(OPID_PLAYER_INVENTIONS, _("Inventions"), NULL,
             OPF_IN_LISTVIEW | OPF_HAS_WIDGET | OPF_EDITABLE,
             VALTYPE_INVENTIONS_ARRAY);
+    ADDPROP(OPID_PLAYER_SCENARIO_RESERVED, _("Reserved"), NULL,
+            OPF_HAS_WIDGET | OPF_EDITABLE, VALTYPE_BOOL);
     ADDPROP(OPID_PLAYER_SCIENCE, _("Science"), NULL,
             OPF_HAS_WIDGET | OPF_EDITABLE, VALTYPE_INT);
     ADDPROP(OPID_PLAYER_GOLD, _("Gold"), NULL,

Modified: trunk/common/networking/packets.def
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/common/networking/packets.def?rev=34050&r1=34049&r2=34050&view=diff
==============================================================================
--- trunk/common/networking/packets.def (original)
+++ trunk/common/networking/packets.def Sat Oct  8 07:12:36 2016
@@ -2174,6 +2174,7 @@
   BOOL inventions[A_LAST+1]; diff
 
   BOOL ai;
+  BOOL scenario_reserved;
 end
 
 PACKET_EDIT_PLAYER_VISION = 217; cs, handle-per-conn, dsend

Modified: trunk/fc_version
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/fc_version?rev=34050&r1=34049&r2=34050&view=diff
==============================================================================
--- trunk/fc_version    (original)
+++ trunk/fc_version    Sat Oct  8 07:12:36 2016
@@ -56,7 +56,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-2016.Oct.07"
+NETWORK_CAPSTRING_MANDATORY="+Freeciv.Devel-3.0-2016.Oct.08"
 NETWORK_CAPSTRING_OPTIONAL=""
 
 FREECIV_DISTRIBUTOR=""

Modified: trunk/server/edithand.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/server/edithand.c?rev=34050&r1=34049&r2=34050&view=diff
==============================================================================
--- trunk/server/edithand.c     (original)
+++ trunk/server/edithand.c     Sat Oct  8 07:12:36 2016
@@ -1078,6 +1078,18 @@
     changed = TRUE;
   }
 
+  if (packet->scenario_reserved) {
+    if (!player_has_flag(pplayer, PLRF_SCENARIO_RESERVED)) {
+      changed = TRUE;
+      BV_SET(pplayer->flags, PLRF_SCENARIO_RESERVED);
+    }
+  } else {
+    if (player_has_flag(pplayer, PLRF_SCENARIO_RESERVED)) {
+      changed = TRUE;
+      BV_CLR(pplayer->flags, PLRF_SCENARIO_RESERVED);
+    }
+  }
+
   /* TODO: Handle more property edits. */
 
   if (update_research) {


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

Reply via email to