From e8e49e5ddabf6bdc6c6b6a77a1d2ead377c27444 Mon Sep 17 00:00:00 2001 From: frosch Date: Sun, 22 Feb 2015 14:01:24 +0000 Subject: (svn r27157) -Fix: Mark bridge middle tiles dirty when building/removing/changing bridges. --- src/road_cmd.cpp | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'src/road_cmd.cpp') diff --git a/src/road_cmd.cpp b/src/road_cmd.cpp index e56633696..e7cfa2382 100644 --- a/src/road_cmd.cpp +++ b/src/road_cmd.cpp @@ -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; } -- cgit v1.2.3-70-g09d2