summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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();