diff --git a/src/genworld.cpp b/src/genworld.cpp index 587d100b5a..8ff7da064a 100644 --- a/src/genworld.cpp +++ b/src/genworld.cpp @@ -93,7 +93,6 @@ static void _GenerateWorld() _generating_world = true; if (_network_dedicated) Debug(net, 3, "Generating map, please wait..."); /* Set the Random() seed to generation_seed so we produce the same map with the same seed */ - if (_settings_game.game_creation.generation_seed == GENERATE_NEW_SEED) _settings_game.game_creation.generation_seed = _settings_newgame.game_creation.generation_seed = InteractiveRandom(); _random.SetSeed(_settings_game.game_creation.generation_seed); SetGeneratingWorldProgress(GWP_MAP_INIT, 2); SetObjectToPlace(SPR_CURSOR_ZZZ, PAL_NONE, HT_NONE, WC_MAIN_WINDOW, 0); @@ -302,6 +301,8 @@ void GenerateWorld(GenWorldMode mode, uint size_x, uint size_y, bool reset_setti _settings_game.construction.map_height_limit = std::max(MAP_HEIGHT_LIMIT_AUTO_MINIMUM, std::min(MAX_MAP_HEIGHT_LIMIT, estimated_height + MAP_HEIGHT_LIMIT_AUTO_CEILING_ROOM)); } + if (_settings_game.game_creation.generation_seed == GENERATE_NEW_SEED) _settings_game.game_creation.generation_seed = _settings_newgame.game_creation.generation_seed = InteractiveRandom(); + /* Load the right landscape stuff, and the NewGRFs! */ GfxLoadSprites(); LoadStringWidthTable(); diff --git a/src/newgrf.cpp b/src/newgrf.cpp index ef13e5545d..329b8cbea9 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -7046,6 +7046,10 @@ static uint32 GetPatchVariable(uint8 param) case 0x16: return SPR_SHORE_BASE; + /* Game map seed */ + case 0x17: + return _settings_game.game_creation.generation_seed; + default: grfmsg(2, "ParamSet: Unknown Patch variable 0x%02X.", param); return 0;