(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:
tron 2007-02-21 07:37:31 +00:00
parent 771932d889
commit 565da62355
2 changed files with 9 additions and 10 deletions

View File

@ -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;
}

View File

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