(svn r27157) -Fix: Mark bridge middle tiles dirty when building/removing/changing bridges.
This commit is contained in:
@@ -246,12 +246,11 @@ static CommandCost RemoveRoad(TileIndex tile, DoCommandFlag flags, RoadBits piec
|
||||
}
|
||||
|
||||
/* Mark tiles dirty that have been repaved */
|
||||
MarkTileDirtyByTile(tile);
|
||||
MarkTileDirtyByTile(other_end);
|
||||
if (IsBridge(tile)) {
|
||||
TileIndexDiff delta = TileOffsByDiagDir(GetTunnelBridgeDirection(tile));
|
||||
|
||||
for (TileIndex t = tile + delta; t != other_end; t += delta) MarkTileDirtyByTile(t);
|
||||
MarkBridgeDirty(tile);
|
||||
} else {
|
||||
MarkTileDirtyByTile(tile);
|
||||
MarkTileDirtyByTile(other_end);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -747,12 +746,11 @@ do_clear:;
|
||||
SetRoadOwner(tile, rt, company);
|
||||
|
||||
/* Mark tiles dirty that have been repaved */
|
||||
MarkTileDirtyByTile(other_end);
|
||||
MarkTileDirtyByTile(tile);
|
||||
if (IsBridge(tile)) {
|
||||
TileIndexDiff delta = TileOffsByDiagDir(GetTunnelBridgeDirection(tile));
|
||||
|
||||
for (TileIndex t = tile + delta; t != other_end; t += delta) MarkTileDirtyByTile(t);
|
||||
MarkBridgeDirty(tile);
|
||||
} else {
|
||||
MarkTileDirtyByTile(other_end);
|
||||
MarkTileDirtyByTile(tile);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
Reference in New Issue
Block a user