diff options
author | tron <tron@openttd.org> | 2007-01-31 09:49:02 +0000 |
---|---|---|
committer | tron <tron@openttd.org> | 2007-01-31 09:49:02 +0000 |
commit | 0f17d2537725aa5d15afa5a4a878cea9df7e5f39 (patch) | |
tree | 1114aa14a8b57700137be469a8b76c0940421b4d /src/openttd.cpp | |
parent | cb859f4a6acc2950fc16f7b3edc68fdead63470c (diff) | |
download | openttd-0f17d2537725aa5d15afa5a4a878cea9df7e5f39.tar.xz |
(svn r8478) -Fix
Change the structure of the the loop in r8477 to prepare for further changes
Diffstat (limited to 'src/openttd.cpp')
-rw-r--r-- | src/openttd.cpp | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/src/openttd.cpp b/src/openttd.cpp index cba18f730..a8fea2804 100644 --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -1285,16 +1285,28 @@ bool AfterLoadGame(void) /* From this version on there can be multiple road stops of the same type per * station. Convert the existing stops to the new internal data structure. */ - if (CheckSavegameVersion(6)) { - for (TileIndex t = 0; t < map_size; t++) { - if (IsRoadStopTile(t)) { - RoadStop *rs = new RoadStop(t); - if (rs == NULL) error("Too many road stops in savegame"); + for (TileIndex t = 0; t < map_size; t++) { + switch (GetTileType(t)) { + case MP_STATION: + switch (GetStationType(t)) { + case STATION_TRUCK: + case STATION_BUS: + if (CheckSavegameVersion(6)) { + RoadStop *rs = new RoadStop(t); + if (rs == NULL) error("Too many road stops in savegame"); + + Station *st = GetStationByTile(t); + RoadStop **head = + IsTruckStop(t) ? &st->truck_stops : &st->bus_stops; + *head = rs; + } + break; - Station *st = GetStationByTile(t); - RoadStop **head = IsTruckStop(t) ? &st->truck_stops : &st->bus_stops; - *head = rs; - } + default: break; + } + break; + + default: break; } } |