summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2014-02-06 20:42:09 +0000
committerrubidium <rubidium@openttd.org>2014-02-06 20:42:09 +0000
commit30a95966ecb1d6f88a7a789ff1aaee442241c84c (patch)
treedb6e4ce84cb628734278a443ac07580a5f60ad9e /src
parent96030141026ded3f892510ff9e3643319f27ebd8 (diff)
downloadopenttd-30a95966ecb1d6f88a7a789ff1aaee442241c84c.tar.xz
(svn r26308) -Fix-ish: do not try to build more towns/industries than the pool can hold (MJP)
Diffstat (limited to 'src')
-rw-r--r--src/industry_cmd.cpp2
-rw-r--r--src/town_cmd.cpp1
2 files changed, 2 insertions, 1 deletions
diff --git a/src/industry_cmd.cpp b/src/industry_cmd.cpp
index 0bc92459d..34096be92 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 b6cd19bc2..d9843866c 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);