diff --git a/src/industry_cmd.cpp b/src/industry_cmd.cpp index 0bc92459dd..34096be92e 100644 --- a/src/industry_cmd.cpp +++ b/src/industry_cmd.cpp @@ -1995,7 +1995,7 @@ static uint GetNumberOfIndustries() assert(lengthof(numof_industry_table) == ID_END); uint difficulty = (_game_mode != GM_EDITOR) ? _settings_game.difficulty.industry_density : (uint)ID_VERY_LOW; - return ScaleByMapSize(numof_industry_table[difficulty]); + return min(IndustryPool::MAX_SIZE, ScaleByMapSize(numof_industry_table[difficulty])); } /** diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp index b6cd19bc21..d9843866cf 100644 --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -1880,6 +1880,7 @@ bool GenerateTowns(TownLayout layout) uint current_number = 0; uint difficulty = (_game_mode != GM_EDITOR) ? _settings_game.difficulty.number_towns : 0; uint total = (difficulty == (uint)CUSTOM_TOWN_NUMBER_DIFFICULTY) ? _settings_game.game_creation.custom_town_number : ScaleByMapSize(_num_initial_towns[difficulty] + (Random() & 7)); + total = min(TownPool::MAX_SIZE, total); uint32 townnameparts; SetGeneratingWorldProgress(GWP_TOWN, total);