summaryrefslogtreecommitdiff
path: root/src/saveload
diff options
context:
space:
mode:
authorfonsinchen <fonsinchen@openttd.org>2013-06-10 21:30:31 +0000
committerfonsinchen <fonsinchen@openttd.org>2013-06-10 21:30:31 +0000
commit06d95e9123eaccfe1aacace5c157248e5ec9231a (patch)
treeb9b4d5c63be3f4ff9b905504f8af3499fca53335 /src/saveload
parentdee02ba153770300a56b977cdbe9892f2e2c2c77 (diff)
downloadopenttd-06d95e9123eaccfe1aacace5c157248e5ec9231a.tar.xz
(svn r25390) -Fix: add missing compatibility settings in afterload.
Diffstat (limited to 'src/saveload')
-rw-r--r--src/saveload/afterload.cpp29
1 files changed, 26 insertions, 3 deletions
diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp
index d1333c853..478717ff8 100644
--- a/src/saveload/afterload.cpp
+++ b/src/saveload/afterload.cpp
@@ -636,7 +636,12 @@ bool AfterLoadGame()
SetDate(_date, _date_fract);
/*
- * Force the old behaviour for compatibility reasons with old savegames.
+ * Force the old behaviour for compatibility reasons with old savegames. As new
+ * settings can only be loaded from new savegames loading old savegames with new
+ * versions of OpenTTD will normally initialize settings newer than the savegame
+ * version with "new game" defaults which the player can define to their liking.
+ * For some settings we override that to keep the behaviour the same as when the
+ * game was saved.
*
* Note that there is no non-stop in here. This is because the setting could have
* either value in TTDPatch. To convert it properly the user has to make sure the
@@ -648,9 +653,27 @@ bool AfterLoadGame()
if (IsSavegameVersionBefore(21)) _settings_game.vehicle.train_acceleration_model = 0;
if (IsSavegameVersionBefore(90)) _settings_game.vehicle.plane_speed = 4;
if (IsSavegameVersionBefore(95)) _settings_game.vehicle.dynamic_engines = 0;
- if (IsSavegameVersionBefore(133)) _settings_game.vehicle.roadveh_acceleration_model = 0;
- if (IsSavegameVersionBefore(159)) _settings_game.vehicle.max_train_length = 50;
+ if (IsSavegameVersionBefore(96)) _settings_game.economy.station_noise_level = false;
+ if (IsSavegameVersionBefore(133)) {
+ _settings_game.vehicle.roadveh_acceleration_model = 0;
+ _settings_game.vehicle.train_slope_steepness = 3;
+ }
+ if (IsSavegameVersionBefore(134)) _settings_game.economy.feeder_payment_share = 75;
+ if (IsSavegameVersionBefore(138)) _settings_game.vehicle.plane_crashes = 2;
+ if (IsSavegameVersionBefore(139)) _settings_game.vehicle.roadveh_slope_steepness = 7;
+ if (IsSavegameVersionBefore(143)) _settings_game.economy.allow_town_level_crossings = true;
+ if (IsSavegameVersionBefore(159)) {
+ _settings_game.vehicle.max_train_length = 50;
+ _settings_game.construction.max_bridge_length = 64;
+ _settings_game.construction.max_tunnel_length = 64;
+ }
if (IsSavegameVersionBefore(166)) _settings_game.economy.infrastructure_maintenance = false;
+ if (IsSavegameVersionBefore(183)) {
+ _settings_game.linkgraph.distribution_pax = DT_MANUAL;
+ _settings_game.linkgraph.distribution_mail = DT_MANUAL;
+ _settings_game.linkgraph.distribution_armoured = DT_MANUAL;
+ _settings_game.linkgraph.distribution_default = DT_MANUAL;
+ }
/* Load the sprites */
GfxLoadSprites();