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(). */