Author: cazfi Date: Sat Jun 18 08:07:18 2016 New Revision: 32893 URL: http://svn.gna.org/viewcvs/freeciv?rev=32893&view=rev Log: Made 'have_resources' scenario property editor controlled.
Requested by Jacob Nevins <jtn> See bug #21347 Modified: trunk/client/gui-gtk-2.0/editprop.c trunk/client/gui-gtk-3.0/editprop.c trunk/client/gui-gtk-3.x/editprop.c trunk/client/packhand.c trunk/common/game.c trunk/common/map.c trunk/common/map_types.h trunk/common/packets.def trunk/fc_version trunk/server/edithand.c trunk/server/generator/mapgen.c trunk/server/legacysave.c trunk/server/savegame2.c trunk/server/savegame3.c trunk/server/srv_main.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=32893&r1=32892&r2=32893&view=diff ============================================================================== --- trunk/client/gui-gtk-2.0/editprop.c (original) +++ trunk/client/gui-gtk-2.0/editprop.c Sat Jun 18 08:07:18 2016 @@ -356,9 +356,9 @@ OPID_PLAYER_NATION, OPID_PLAYER_GOV, OPID_PLAYER_AGE, -#ifdef DEBUG +#ifdef FREECIV_DEBUG OPID_PLAYER_ADDRESS, -#endif /* DEBUG */ +#endif /* FREECIV_DEBUG */ OPID_PLAYER_INVENTIONS, OPID_PLAYER_SCIENCE, OPID_PLAYER_GOLD, @@ -373,6 +373,7 @@ OPID_GAME_STARTPOS_NATIONS, OPID_GAME_PREVENT_CITIES, OPID_GAME_LAKE_FLOODING, + OPID_GAME_HAVE_RESOURCES, OPID_GAME_RULESET_LOCKED }; @@ -1841,6 +1842,9 @@ case OPID_GAME_LAKE_FLOODING: pv->data.v_bool = pgame->scenario.lake_flooding; break; + case OPID_GAME_HAVE_RESOURCES: + pv->data.v_bool = pgame->scenario.have_resources; + break; case OPID_GAME_RULESET_LOCKED: pv->data.v_bool = pgame->scenario.ruleset_locked; break; @@ -2346,6 +2350,7 @@ packet->startpos_nations = pgame->scenario.startpos_nations; packet->prevent_new_cities = pgame->scenario.prevent_new_cities; packet->lake_flooding = pgame->scenario.lake_flooding; + packet->have_resources = pgame->scenario.have_resources; } return; @@ -2599,6 +2604,9 @@ case OPID_GAME_LAKE_FLOODING: packet->lake_flooding = pv->data.v_bool; return; + case OPID_GAME_HAVE_RESOURCES: + packet->have_resources = pv->data.v_bool; + return; case OPID_GAME_RULESET_LOCKED: packet->ruleset_locked = pv->data.v_bool; return; @@ -3047,6 +3055,7 @@ case OPID_GAME_STARTPOS_NATIONS: case OPID_GAME_PREVENT_CITIES: case OPID_GAME_LAKE_FLOODING: + case OPID_GAME_HAVE_RESOURCES: case OPID_GAME_RULESET_LOCKED: button = gtk_check_button_new(); g_signal_connect(button, "toggled", @@ -3262,6 +3271,7 @@ case OPID_GAME_STARTPOS_NATIONS: case OPID_GAME_PREVENT_CITIES: case OPID_GAME_LAKE_FLOODING: + case OPID_GAME_HAVE_RESOURCES: case OPID_GAME_RULESET_LOCKED: button = objprop_get_child_widget(op, "checkbutton"); disable_gobject_callback(G_OBJECT(button), @@ -4493,6 +4503,8 @@ OPF_IN_LISTVIEW | OPF_HAS_WIDGET | OPF_EDITABLE, VALTYPE_BOOL); ADDPROP(OPID_GAME_LAKE_FLOODING, _("Saltwater Flooding Lakes"), OPF_IN_LISTVIEW | OPF_HAS_WIDGET | OPF_EDITABLE, VALTYPE_BOOL); + ADDPROP(OPID_GAME_HAVE_RESOURCES, _("Do not regenerate resources"), + OPF_IN_LISTVIEW | OPF_HAS_WIDGET | OPF_EDITABLE, VALTYPE_BOOL); ADDPROP(OPID_GAME_RULESET_LOCKED, _("Lock to current Ruleset"), OPF_IN_LISTVIEW | OPF_HAS_WIDGET | OPF_EDITABLE, VALTYPE_BOOL); return; 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=32893&r1=32892&r2=32893&view=diff ============================================================================== --- trunk/client/gui-gtk-3.0/editprop.c (original) +++ trunk/client/gui-gtk-3.0/editprop.c Sat Jun 18 08:07:18 2016 @@ -357,9 +357,9 @@ OPID_PLAYER_NATION, OPID_PLAYER_GOV, OPID_PLAYER_AGE, -#ifdef DEBUG +#ifdef FREECIV_DEBUG OPID_PLAYER_ADDRESS, -#endif /* DEBUG */ +#endif /* FREECIV_DEBUG */ OPID_PLAYER_INVENTIONS, OPID_PLAYER_SCIENCE, OPID_PLAYER_GOLD, @@ -374,6 +374,7 @@ OPID_GAME_STARTPOS_NATIONS, OPID_GAME_PREVENT_CITIES, OPID_GAME_LAKE_FLOODING, + OPID_GAME_HAVE_RESOURCES, OPID_GAME_RULESET_LOCKED }; @@ -1842,6 +1843,9 @@ case OPID_GAME_LAKE_FLOODING: pv->data.v_bool = pgame->scenario.lake_flooding; break; + case OPID_GAME_HAVE_RESOURCES: + pv->data.v_bool = pgame->scenario.have_resources; + break; case OPID_GAME_RULESET_LOCKED: pv->data.v_bool = pgame->scenario.ruleset_locked; break; @@ -2347,6 +2351,7 @@ packet->startpos_nations = pgame->scenario.startpos_nations; packet->prevent_new_cities = pgame->scenario.prevent_new_cities; packet->lake_flooding = pgame->scenario.lake_flooding; + packet->have_resources = pgame->scenario.have_resources; } return; @@ -2600,6 +2605,9 @@ case OPID_GAME_LAKE_FLOODING: packet->lake_flooding = pv->data.v_bool; return; + case OPID_GAME_HAVE_RESOURCES: + packet->have_resources = pv->data.v_bool; + return; case OPID_GAME_RULESET_LOCKED: packet->ruleset_locked = pv->data.v_bool; return; @@ -3063,6 +3071,7 @@ case OPID_GAME_STARTPOS_NATIONS: case OPID_GAME_PREVENT_CITIES: case OPID_GAME_LAKE_FLOODING: + case OPID_GAME_HAVE_RESOURCES: case OPID_GAME_RULESET_LOCKED: button = gtk_check_button_new(); gtk_widget_set_hexpand(button, TRUE); @@ -3280,6 +3289,7 @@ case OPID_GAME_STARTPOS_NATIONS: case OPID_GAME_PREVENT_CITIES: case OPID_GAME_LAKE_FLOODING: + case OPID_GAME_HAVE_RESOURCES: case OPID_GAME_RULESET_LOCKED: button = objprop_get_child_widget(op, "checkbutton"); disable_gobject_callback(G_OBJECT(button), @@ -4533,6 +4543,8 @@ OPF_IN_LISTVIEW | OPF_HAS_WIDGET | OPF_EDITABLE, VALTYPE_BOOL); ADDPROP(OPID_GAME_LAKE_FLOODING, _("Saltwater Flooding Lakes"), OPF_IN_LISTVIEW | OPF_HAS_WIDGET | OPF_EDITABLE, VALTYPE_BOOL); + ADDPROP(OPID_GAME_HAVE_RESOURCES, _("Do not regenerate resources"), + OPF_IN_LISTVIEW | OPF_HAS_WIDGET | OPF_EDITABLE, VALTYPE_BOOL); ADDPROP(OPID_GAME_RULESET_LOCKED, _("Lock to current Ruleset"), OPF_IN_LISTVIEW | OPF_HAS_WIDGET | OPF_EDITABLE, VALTYPE_BOOL); return; Modified: trunk/client/gui-gtk-3.x/editprop.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-gtk-3.x/editprop.c?rev=32893&r1=32892&r2=32893&view=diff ============================================================================== --- trunk/client/gui-gtk-3.x/editprop.c (original) +++ trunk/client/gui-gtk-3.x/editprop.c Sat Jun 18 08:07:18 2016 @@ -357,9 +357,9 @@ OPID_PLAYER_NATION, OPID_PLAYER_GOV, OPID_PLAYER_AGE, -#ifdef DEBUG +#ifdef FREECIV_DEBUG OPID_PLAYER_ADDRESS, -#endif /* DEBUG */ +#endif /* FREECIV_DEBUG */ OPID_PLAYER_INVENTIONS, OPID_PLAYER_SCIENCE, OPID_PLAYER_GOLD, @@ -374,6 +374,7 @@ OPID_GAME_STARTPOS_NATIONS, OPID_GAME_PREVENT_CITIES, OPID_GAME_LAKE_FLOODING, + OPID_GAME_HAVE_RESOURCES, OPID_GAME_RULESET_LOCKED }; @@ -1842,6 +1843,9 @@ case OPID_GAME_LAKE_FLOODING: pv->data.v_bool = pgame->scenario.lake_flooding; break; + case OPID_GAME_HAVE_RESOURCES: + pv->data.v_bool = pgame->scenario.have_resources; + break; case OPID_GAME_RULESET_LOCKED: pv->data.v_bool = pgame->scenario.ruleset_locked; break; @@ -2347,6 +2351,7 @@ packet->startpos_nations = pgame->scenario.startpos_nations; packet->prevent_new_cities = pgame->scenario.prevent_new_cities; packet->lake_flooding = pgame->scenario.lake_flooding; + packet->have_resources = pgame->scenario.have_resources; } return; @@ -2600,6 +2605,9 @@ case OPID_GAME_LAKE_FLOODING: packet->lake_flooding = pv->data.v_bool; return; + case OPID_GAME_HAVE_RESOURCES: + packet->have_resources = pv->data.v_bool; + return; case OPID_GAME_RULESET_LOCKED: packet->ruleset_locked = pv->data.v_bool; return; @@ -3063,6 +3071,7 @@ case OPID_GAME_STARTPOS_NATIONS: case OPID_GAME_PREVENT_CITIES: case OPID_GAME_LAKE_FLOODING: + case OPID_GAME_HAVE_RESOURCES: case OPID_GAME_RULESET_LOCKED: button = gtk_check_button_new(); gtk_widget_set_hexpand(button, TRUE); @@ -3280,6 +3289,7 @@ case OPID_GAME_STARTPOS_NATIONS: case OPID_GAME_PREVENT_CITIES: case OPID_GAME_LAKE_FLOODING: + case OPID_GAME_HAVE_RESOURCES: case OPID_GAME_RULESET_LOCKED: button = objprop_get_child_widget(op, "checkbutton"); disable_gobject_callback(G_OBJECT(button), @@ -4532,6 +4542,8 @@ OPF_IN_LISTVIEW | OPF_HAS_WIDGET | OPF_EDITABLE, VALTYPE_BOOL); ADDPROP(OPID_GAME_LAKE_FLOODING, _("Saltwater Flooding Lakes"), OPF_IN_LISTVIEW | OPF_HAS_WIDGET | OPF_EDITABLE, VALTYPE_BOOL); + ADDPROP(OPID_GAME_HAVE_RESOURCES, _("Do not regenerate resources"), + OPF_IN_LISTVIEW | OPF_HAS_WIDGET | OPF_EDITABLE, VALTYPE_BOOL); ADDPROP(OPID_GAME_RULESET_LOCKED, _("Lock to current Ruleset"), OPF_IN_LISTVIEW | OPF_HAS_WIDGET | OPF_EDITABLE, VALTYPE_BOOL); return; Modified: trunk/client/packhand.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/client/packhand.c?rev=32893&r1=32892&r2=32893&view=diff ============================================================================== --- trunk/client/packhand.c (original) +++ trunk/client/packhand.c Sat Jun 18 08:07:18 2016 @@ -3012,6 +3012,7 @@ game.scenario.startpos_nations = packet->startpos_nations; game.scenario.prevent_new_cities = packet->prevent_new_cities; game.scenario.lake_flooding = packet->lake_flooding; + game.scenario.have_resources = packet->have_resources; game.scenario.ruleset_locked = packet->ruleset_locked; game.scenario.save_random = packet->save_random; game.scenario.handmade = packet->handmade; Modified: trunk/common/game.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/common/game.c?rev=32893&r1=32892&r2=32893&view=diff ============================================================================== --- trunk/common/game.c (original) +++ trunk/common/game.c Sat Jun 18 08:07:18 2016 @@ -346,6 +346,7 @@ game.scenario.handmade = FALSE; game.scenario.prevent_new_cities = FALSE; game.scenario.lake_flooding = TRUE; + game.scenario.have_resources = FALSE; game.scenario.ruleset_locked = TRUE; game.scenario.save_random = FALSE; game.scenario.allow_ai_type_fallback = FALSE; Modified: trunk/common/map.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/common/map.c?rev=32893&r1=32892&r2=32893&view=diff ============================================================================== --- trunk/common/map.c (original) +++ trunk/common/map.c Sat Jun 18 08:07:18 2016 @@ -187,7 +187,6 @@ game.map.server.single_pole = MAP_DEFAULT_SINGLE_POLE; game.map.server.alltemperate = MAP_DEFAULT_ALLTEMPERATE; game.map.server.temperature = MAP_DEFAULT_TEMPERATURE; - game.map.server.have_resources = FALSE; game.map.server.have_huts = FALSE; game.map.server.team_placement = MAP_DEFAULT_TEAM_PLACEMENT; } Modified: trunk/common/map_types.h URL: http://svn.gna.org/viewcvs/freeciv/trunk/common/map_types.h?rev=32893&r1=32892&r2=32893&view=diff ============================================================================== --- trunk/common/map_types.h (original) +++ trunk/common/map_types.h Sat Jun 18 08:07:18 2016 @@ -1,4 +1,4 @@ -/********************************************************************** +/*********************************************************************** Freeciv - Copyright (C) 1996 - A Kjeldberg, L Gregersen, P Unold This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -95,7 +95,6 @@ int temperature; int wetness; int steepness; - bool have_resources; bool ocean_resources; /* Resources in the middle of the ocean */ bool have_huts; enum team_placement team_placement; Modified: trunk/common/packets.def URL: http://svn.gna.org/viewcvs/freeciv/trunk/common/packets.def?rev=32893&r1=32892&r2=32893&view=diff ============================================================================== --- trunk/common/packets.def (original) +++ trunk/common/packets.def Sat Jun 18 08:07:18 2016 @@ -1929,6 +1929,7 @@ BOOL save_random; BOOL prevent_new_cities; BOOL lake_flooding; + BOOL have_resources; BOOL handmade; BOOL allow_ai_type_fallback; BOOL ruleset_locked; @@ -2170,6 +2171,7 @@ BOOL startpos_nations; BOOL prevent_new_cities; BOOL lake_flooding; + BOOL have_resources; BOOL ruleset_locked; end Modified: trunk/fc_version URL: http://svn.gna.org/viewcvs/freeciv/trunk/fc_version?rev=32893&r1=32892&r2=32893&view=diff ============================================================================== --- trunk/fc_version (original) +++ trunk/fc_version Sat Jun 18 08:07:18 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.Jun.17" +NETWORK_CAPSTRING_MANDATORY="+Freeciv.Devel-3.0-2016.Jun.18" NETWORK_CAPSTRING_OPTIONAL="" FREECIV_DISTRIBUTOR="" Modified: trunk/server/edithand.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/server/edithand.c?rev=32893&r1=32892&r2=32893&view=diff ============================================================================== --- trunk/server/edithand.c (original) +++ trunk/server/edithand.c Sat Jun 18 08:07:18 2016 @@ -1395,6 +1395,11 @@ changed = TRUE; } + if (packet->have_resources != game.scenario.have_resources) { + game.scenario.have_resources = packet->have_resources; + changed = TRUE; + } + if (packet->ruleset_locked != game.scenario.ruleset_locked) { game.scenario.ruleset_locked = packet->ruleset_locked; changed = TRUE; Modified: trunk/server/generator/mapgen.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/server/generator/mapgen.c?rev=32893&r1=32892&r2=32893&view=diff ============================================================================== --- trunk/server/generator/mapgen.c (original) +++ trunk/server/generator/mapgen.c Sat Jun 18 08:07:18 2016 @@ -1361,7 +1361,7 @@ } /* some scenarios already provide specials */ - if (!game.map.server.have_resources) { + if (!game.scenario.have_resources) { add_resources(game.map.server.riches); } @@ -1565,7 +1565,7 @@ } } whole_map_iterate_end; - game.map.server.have_resources = TRUE; + game.scenario.have_resources = TRUE; } /************************************************************************** @@ -3693,7 +3693,8 @@ } } } whole_map_iterate_end; - game.map.server.have_resources = TRUE; + + game.scenario.have_resources = TRUE; game.map.server.have_huts = TRUE; fair_map_destroy(pmap); Modified: trunk/server/legacysave.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/server/legacysave.c?rev=32893&r1=32892&r2=32893&view=diff ============================================================================== --- trunk/server/legacysave.c (original) +++ trunk/server/legacysave.c Sat Jun 18 08:07:18 2016 @@ -1137,7 +1137,8 @@ } whole_map_iterate_end; FC_FREE(known); } - game.map.server.have_resources = TRUE; + + game.scenario.have_resources = TRUE; } /***************************************************************************** Modified: trunk/server/savegame2.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/server/savegame2.c?rev=32893&r1=32892&r2=32893&view=diff ============================================================================== --- trunk/server/savegame2.c (original) +++ trunk/server/savegame2.c Sat Jun 18 08:07:18 2016 @@ -2006,7 +2006,7 @@ } } whole_map_iterate_end; - game.map.server.have_resources = TRUE; + game.scenario.have_resources = TRUE; } /**************************************************************************** Modified: trunk/server/savegame3.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/server/savegame3.c?rev=32893&r1=32892&r2=32893&view=diff ============================================================================== --- trunk/server/savegame3.c (original) +++ trunk/server/savegame3.c Sat Jun 18 08:07:18 2016 @@ -2381,7 +2381,7 @@ * 2) when map is actually generated, it re-initialize this to FALSE. */ game.map.server.have_huts = secfile_lookup_bool_default(loading->file, TRUE, "map.have_huts"); - game.map.server.have_resources + game.scenario.have_resources = secfile_lookup_bool_default(loading->file, TRUE, "map.have_resources"); if (S_S_INITIAL == loading->server_state @@ -2426,7 +2426,7 @@ if (saving->scenario) { secfile_insert_bool(saving->file, game.map.server.have_huts, "map.have_huts"); - secfile_insert_bool(saving->file, game.map.server.have_resources, "map.have_resources"); + secfile_insert_bool(saving->file, game.scenario.have_resources, "map.have_resources"); } else { secfile_insert_bool(saving->file, TRUE, "map.have_huts"); secfile_insert_bool(saving->file, TRUE, "map.have_resources"); @@ -2533,7 +2533,7 @@ if (S_S_INITIAL != loading->server_state || MAPGEN_SCENARIO != game.map.server.generator - || game.map.server.have_resources) { + || game.scenario.have_resources) { whole_map_iterate(ptile) { extra_type_by_cause_iterate(EC_RESOURCE, pres) { if (tile_has_extra(ptile, pres)) { Modified: trunk/server/srv_main.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/server/srv_main.c?rev=32893&r1=32892&r2=32893&view=diff ============================================================================== --- trunk/server/srv_main.c (original) +++ trunk/server/srv_main.c Sat Jun 18 08:07:18 2016 @@ -2899,7 +2899,7 @@ /* One should never set this to false in scenario map that had resources * placed. We are safe side here as map generation is retried only if this is * not scenario map at all. */ - game.map.server.have_resources = FALSE; + game.scenario.have_resources = FALSE; /* Remove old information already present in tiles */ map_free(); _______________________________________________ Freeciv-commits mailing list Freeciv-commits@gna.org https://mail.gna.org/listinfo/freeciv-commits