summaryrefslogtreecommitdiff
path: root/src/saveload/afterload.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/saveload/afterload.cpp')
-rw-r--r--src/saveload/afterload.cpp41
1 files changed, 35 insertions, 6 deletions
diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp
index ce2ef047b..12cbf2e3e 100644
--- a/src/saveload/afterload.cpp
+++ b/src/saveload/afterload.cpp
@@ -1543,6 +1543,41 @@ bool AfterLoadGame()
}
}
+ /* The water class was moved/unified. */
+ if (CheckSavegameVersion(146)) {
+ for (TileIndex t = 0; t < map_size; t++) {
+ switch (GetTileType(t)) {
+ case MP_STATION:
+ switch (GetStationType(t)) {
+ case STATION_OILRIG:
+ case STATION_DOCK:
+ case STATION_BUOY:
+ SetWaterClass(t, (WaterClass)GB(_m[t].m3, 0, 2));
+ SB(_m[t].m3, 0, 2, 0);
+ break;
+
+ default:
+ SetWaterClass(t, WATER_CLASS_INVALID);
+ break;
+ }
+ break;
+
+ case MP_WATER:
+ SetWaterClass(t, (WaterClass)GB(_m[t].m3, 0, 2));
+ SB(_m[t].m3, 0, 2, 0);
+ break;
+
+ case MP_OBJECT:
+ SetWaterClass(t, WATER_CLASS_INVALID);
+ break;
+
+ default:
+ /* No water class. */
+ break;
+ }
+ }
+ }
+
if (CheckSavegameVersion(86)) {
for (TileIndex t = 0; t < map_size; t++) {
/* Move river flag and update canals to use water class */
@@ -2153,12 +2188,6 @@ bool AfterLoadGame()
FOR_ALL_DEPOTS(d) d->build_date = _date;
}
- if (CheckSavegameVersion(145)) {
- for (TileIndex t = 0; t < map_size; t++) {
- if (IsAirportTile(t)) SetWaterClass(t, WATER_CLASS_INVALID);
- }
- }
-
/* Road stops is 'only' updating some caches */
AfterLoadRoadStops();
AfterLoadLabelMaps();