diff options
Diffstat (limited to 'src/saveload/afterload.cpp')
-rw-r--r-- | src/saveload/afterload.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index fd0c016b2..68009a727 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -605,11 +605,14 @@ bool AfterLoadGame() for (TileIndex t = 0; t < map_size; t++) { switch (GetTileType(t)) { case MP_STATION: { - Station *st = Station::GetByTile(t); - if (st == NULL) break; + BaseStation *bst = BaseStation::GetByTile(t); - /* Set up station spread; waypoints do not have one */ - st->rect.BeforeAddTile(t, StationRect::ADD_FORCE); + /* Set up station spread */ + bst->rect.BeforeAddTile(t, StationRect::ADD_FORCE); + + /* Waypoints don't have road stops/oil rigs in the old format */ + if (!Station::IsExpected(bst)) break; + Station *st = Station::From(bst); switch (GetStationType(t)) { case STATION_TRUCK: |