mirror of https://github.com/OpenTTD/OpenTTD
(svn r23942) -Fix: infrastructure cache of standard road stops would get messed up when buying a company with them
parent
b5525fd33d
commit
060cac439c
|
@ -2722,6 +2722,16 @@ bool AfterLoadGame()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* The road owner of standard road stops was not properly accounted for. */
|
||||||
|
if (IsSavegameVersionBefore(172)) {
|
||||||
|
for (TileIndex t = 0; t < map_size; t++) {
|
||||||
|
if (!IsStandardRoadStopTile(t)) continue;
|
||||||
|
Owner o = GetTileOwner(t);
|
||||||
|
SetRoadOwner(t, ROADTYPE_ROAD, o);
|
||||||
|
SetRoadOwner(t, ROADTYPE_TRAM, o);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Road stops is 'only' updating some caches */
|
/* Road stops is 'only' updating some caches */
|
||||||
AfterLoadRoadStops();
|
AfterLoadRoadStops();
|
||||||
AfterLoadLabelMaps();
|
AfterLoadLabelMaps();
|
||||||
|
|
|
@ -3588,7 +3588,7 @@ void DeleteOilRig(TileIndex tile)
|
||||||
|
|
||||||
static void ChangeTileOwner_Station(TileIndex tile, Owner old_owner, Owner new_owner)
|
static void ChangeTileOwner_Station(TileIndex tile, Owner old_owner, Owner new_owner)
|
||||||
{
|
{
|
||||||
if (IsDriveThroughStopTile(tile)) {
|
if (IsRoadStopTile(tile)) {
|
||||||
for (RoadType rt = ROADTYPE_ROAD; rt < ROADTYPE_END; rt++) {
|
for (RoadType rt = ROADTYPE_ROAD; rt < ROADTYPE_END; rt++) {
|
||||||
/* Update all roadtypes, no matter if they are present */
|
/* Update all roadtypes, no matter if they are present */
|
||||||
if (GetRoadOwner(tile, rt) == old_owner) {
|
if (GetRoadOwner(tile, rt) == old_owner) {
|
||||||
|
@ -3624,11 +3624,7 @@ static void ChangeTileOwner_Station(TileIndex tile, Owner old_owner, Owner new_o
|
||||||
|
|
||||||
case STATION_BUS:
|
case STATION_BUS:
|
||||||
case STATION_TRUCK:
|
case STATION_TRUCK:
|
||||||
if (!IsDriveThroughStopTile(tile)) {
|
/* Road stops were already handled above. */
|
||||||
/* Drive-through stops were already handled above. */
|
|
||||||
old_company->infrastructure.road[FIND_FIRST_BIT(GetRoadTypes(tile))] -= 2;
|
|
||||||
new_company->infrastructure.road[FIND_FIRST_BIT(GetRoadTypes(tile))] += 2;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case STATION_BUOY:
|
case STATION_BUOY:
|
||||||
|
|
Loading…
Reference in New Issue