Mercurial > hg > openttd
changeset 18465:4358f26ad8d1 draft
(svn r23309) -Fix: loading old games didn't have goals set for towns (tnx to frosch for spotting)
author | truebrain <truebrain@openttd.org> |
---|---|
date | Wed, 23 Nov 2011 18:54:51 +0000 |
parents | 77391de9ca48 |
children | 2c1f4522114b |
files | src/saveload/afterload.cpp |
diffstat | 1 files changed, 18 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -2670,6 +2670,24 @@ /* The center of train vehicles was changed, fix up spacing. */ if (IsSavegameVersionBefore(164)) FixupTrainLengths(); + if (IsSavegameVersionBefore(165)) { + Town *t; + + FOR_ALL_TOWNS(t) { + /* Set the default cargo requirement for town growth */ + switch (_settings_game.game_creation.landscape) { + case LT_ARCTIC: + if (FindFirstCargoWithTownEffect(TE_FOOD) != NULL) t->goal[TE_FOOD] = TOWN_GROWTH_WINTER; + break; + + case LT_TROPIC: + if (FindFirstCargoWithTownEffect(TE_FOOD) != NULL) t->goal[TE_FOOD] = TOWN_GROWTH_DESERT; + if (FindFirstCargoWithTownEffect(TE_WATER) != NULL) t->goal[TE_WATER] = TOWN_GROWTH_DESERT; + break; + } + } + } + /* When any NewGRF has been changed the availability of some vehicles might * have been changed too. e->company_avail must be set to 0 in that case * which is done by StartupEngines(). */