mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-09 07:29:44 +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
|
DoZoomInOutWindow(ZOOM_NONE, w); // update button status
|
||||||
MarkWholeScreenDirty();
|
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++) {
|
for (TileIndex t = 0; t < map_size; t++) {
|
||||||
switch (GetTileType(t)) {
|
switch (GetTileType(t)) {
|
||||||
case MP_STATION:
|
case MP_STATION: {
|
||||||
|
Station *st = GetStationByTile(t);
|
||||||
|
|
||||||
|
st->rect.BeforeAddTile(t, StationRect::ADD_FORCE);
|
||||||
|
|
||||||
switch (GetStationType(t)) {
|
switch (GetStationType(t)) {
|
||||||
case STATION_TRUCK:
|
case STATION_TRUCK:
|
||||||
case STATION_BUS:
|
case STATION_BUS:
|
||||||
if (CheckSavegameVersion(6)) {
|
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);
|
RoadStop *rs = new RoadStop(t);
|
||||||
if (rs == NULL) error("Too many road stops in savegame");
|
if (rs == NULL) error("Too many road stops in savegame");
|
||||||
|
|
||||||
Station *st = GetStationByTile(t);
|
|
||||||
RoadStop **head =
|
RoadStop **head =
|
||||||
IsTruckStop(t) ? &st->truck_stops : &st->bus_stops;
|
IsTruckStop(t) ? &st->truck_stops : &st->bus_stops;
|
||||||
*head = rs;
|
*head = rs;
|
||||||
@ -1330,6 +1333,7 @@ bool AfterLoadGame(void)
|
|||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
@ -2647,11 +2647,6 @@ void AfterLoadStations(void)
|
|||||||
st->speclist[i].spec = GetCustomStationSpecByGrf(st->speclist[i].grfid, st->speclist[i].localidx);
|
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