mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-06 14:27:16 +00:00
(svn r8828) -Fix
-Regression (r7585): On load calculate the station rectangle for all savegames, not just savegames with at least version 27
This commit is contained in:
parent
771932d889
commit
565da62355
@ -1288,20 +1288,23 @@ bool AfterLoadGame(void)
|
||||
DoZoomInOutWindow(ZOOM_NONE, w); // update button status
|
||||
MarkWholeScreenDirty();
|
||||
|
||||
/* 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.
|
||||
*/
|
||||
for (TileIndex t = 0; t < map_size; t++) {
|
||||
switch (GetTileType(t)) {
|
||||
case MP_STATION:
|
||||
case MP_STATION: {
|
||||
Station *st = GetStationByTile(t);
|
||||
|
||||
st->rect.BeforeAddTile(t, StationRect::ADD_FORCE);
|
||||
|
||||
switch (GetStationType(t)) {
|
||||
case STATION_TRUCK:
|
||||
case STATION_BUS:
|
||||
if (CheckSavegameVersion(6)) {
|
||||
/* 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. */
|
||||
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;
|
||||
@ -1330,6 +1333,7 @@ bool AfterLoadGame(void)
|
||||
default: break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
default: break;
|
||||
}
|
||||
|
@ -2647,11 +2647,6 @@ void AfterLoadStations(void)
|
||||
st->speclist[i].spec = GetCustomStationSpecByGrf(st->speclist[i].grfid, st->speclist[i].localidx);
|
||||
}
|
||||
}
|
||||
|
||||
for (TileIndex tile = 0; tile < MapSize(); tile++) {
|
||||
if (GetTileType(tile) != MP_STATION) continue;
|
||||
GetStationByTile(tile)->rect.BeforeAddTile(tile, StationRect::ADD_FORCE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user