(svn r20446) -Codechange: unify the location of the water class

This commit is contained in:
rubidium
2010-08-11 14:14:06 +00:00
parent 43d6740f2d
commit ab5b0ceff2
10 changed files with 91 additions and 59 deletions

View File

@@ -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();