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

Reply via email to