Author: cazfi
Date: Wed Jun 22 08:41:21 2016
New Revision: 32948

URL: http://svn.gna.org/viewcvs/freeciv?rev=32948&view=rev
Log:
Have have_resources value for current map separately from if it should be
saved as part of scenario.

See bug #24767

Modified:
    trunk/common/game.c
    trunk/common/map.c
    trunk/common/map_types.h
    trunk/server/generator/mapgen.c
    trunk/server/legacysave.c
    trunk/server/savegame2.c
    trunk/server/savegame3.c
    trunk/server/srv_main.c

Modified: trunk/common/game.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/common/game.c?rev=32948&r1=32947&r2=32948&view=diff
==============================================================================
--- trunk/common/game.c (original)
+++ trunk/common/game.c Wed Jun 22 08:41:21 2016
@@ -347,7 +347,7 @@
   game.scenario.handmade = FALSE;
   game.scenario.prevent_new_cities = FALSE;
   game.scenario.lake_flooding = TRUE;
-  game.scenario.have_resources = FALSE;
+  game.scenario.have_resources = TRUE;
   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=32948&r1=32947&r2=32948&view=diff
==============================================================================
--- trunk/common/map.c  (original)
+++ trunk/common/map.c  Wed Jun 22 08:41:21 2016
@@ -188,6 +188,7 @@
     game.map.server.alltemperate = MAP_DEFAULT_ALLTEMPERATE;
     game.map.server.temperature = MAP_DEFAULT_TEMPERATURE;
     game.map.server.have_huts = FALSE;
+    game.map.server.have_resources = 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=32948&r1=32947&r2=32948&view=diff
==============================================================================
--- trunk/common/map_types.h    (original)
+++ trunk/common/map_types.h    Wed Jun 22 08:41:21 2016
@@ -97,6 +97,7 @@
       int steepness;
       bool ocean_resources;         /* Resources in the middle of the ocean */
       bool have_huts;
+      bool have_resources;
       enum team_placement team_placement;
     } server;
 

Modified: trunk/server/generator/mapgen.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/server/generator/mapgen.c?rev=32948&r1=32947&r2=32948&view=diff
==============================================================================
--- trunk/server/generator/mapgen.c     (original)
+++ trunk/server/generator/mapgen.c     Wed Jun 22 08:41:21 2016
@@ -1275,8 +1275,9 @@
 
   fc_srand(game.map.server.seed);
 
-  /* don't generate tiles with mapgen==0 as we've loaded them from file */
-  /* also, don't delete (the handcrafted!) tiny islands in a scenario */
+  /* don't generate tiles with mapgen == MAPGEN_SCENARIO as we've loaded *
+     them from file.
+     Also, don't delete (the handcrafted!) tiny islands in a scenario */
   if (game.map.server.generator != MAPGEN_SCENARIO) {
     river_types_init();
 
@@ -1361,7 +1362,7 @@
   }
 
   /* some scenarios already provide specials */
-  if (!game.scenario.have_resources) {
+  if (!game.map.server.have_resources) {
     add_resources(game.map.server.riches);
   }
 
@@ -1565,7 +1566,7 @@
     }
   } whole_map_iterate_end;
 
-  game.scenario.have_resources = TRUE;
+  game.map.server.have_resources = TRUE;
 }
 
 /**************************************************************************
@@ -3694,7 +3695,7 @@
     }
   } whole_map_iterate_end;
 
-  game.scenario.have_resources = TRUE;
+  game.map.server.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=32948&r1=32947&r2=32948&view=diff
==============================================================================
--- trunk/server/legacysave.c   (original)
+++ trunk/server/legacysave.c   Wed Jun 22 08:41:21 2016
@@ -1138,6 +1138,7 @@
     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=32948&r1=32947&r2=32948&view=diff
==============================================================================
--- trunk/server/savegame2.c    (original)
+++ trunk/server/savegame2.c    Wed Jun 22 08:41:21 2016
@@ -2006,6 +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=32948&r1=32947&r2=32948&view=diff
==============================================================================
--- trunk/server/savegame3.c    (original)
+++ trunk/server/savegame3.c    Wed Jun 22 08:41:21 2016
@@ -2384,6 +2384,8 @@
   game.scenario.have_resources
     = secfile_lookup_bool_default(loading->file, TRUE, "map.have_resources");
 
+  game.map.server.have_resources = game.scenario.have_resources;
+
   if (S_S_INITIAL == loading->server_state
       && MAPGEN_SCENARIO == game.map.server.generator) {
     /* Generator MAPGEN_SCENARIO is used;

Modified: trunk/server/srv_main.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/server/srv_main.c?rev=32948&r1=32947&r2=32948&view=diff
==============================================================================
--- trunk/server/srv_main.c     (original)
+++ trunk/server/srv_main.c     Wed Jun 22 08:41:21 2016
@@ -2896,10 +2896,7 @@
            * +2 */
           log_normal(_("Attempt %d/%d"), i + 2, max);
         }
-        /* 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.scenario.have_resources = FALSE;
+        game.map.server.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