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