diff options
author | Peter Nelson <peter1138@openttd.org> | 2018-07-22 23:47:15 +0100 |
---|---|---|
committer | PeterN <peter@fuzzle.org> | 2018-07-26 13:27:40 +0100 |
commit | 5db883fbe9b8ef6171bfafc145a80932c3920504 (patch) | |
tree | de3ec131897c708f3fd960e9bc7cb1865d32fe7e /src/saveload/afterload.cpp | |
parent | 65548c37a840ca48378180df1bf8857b087f7329 (diff) | |
download | openttd-5db883fbe9b8ef6171bfafc145a80932c3920504.tar.xz |
Change: Move rail type bits from m3 to m8.
Diffstat (limited to 'src/saveload/afterload.cpp')
-rw-r--r-- | src/saveload/afterload.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index 33c49fb61..cca9ad328 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -1214,6 +1214,38 @@ bool AfterLoadGame() } } + /* Railtype moved from m3 to m8 in version 200. */ + if (IsSavegameVersionBefore(200)) { + for (TileIndex t = 0; t < map_size; t++) { + switch (GetTileType(t)) { + case MP_RAILWAY: + SetRailType(t, (RailType)GB(_m[t].m3, 0, 4)); + break; + + case MP_ROAD: + if (IsLevelCrossing(t)) { + SetRailType(t, (RailType)GB(_m[t].m3, 0, 4)); + } + break; + + case MP_STATION: + if (HasStationRail(t)) { + SetRailType(t, (RailType)GB(_m[t].m3, 0, 4)); + } + break; + + case MP_TUNNELBRIDGE: + if (GetTunnelBridgeTransportType(t) == TRANSPORT_RAIL) { + SetRailType(t, (RailType)GB(_m[t].m3, 0, 4)); + } + break; + + default: + break; + } + } + } + /* Elrails got added in rev 24 */ if (IsSavegameVersionBefore(24)) { RailType min_rail = RAILTYPE_ELECTRIC; |