diff options
author | frosch <frosch@openttd.org> | 2015-02-22 14:01:24 +0000 |
---|---|---|
committer | frosch <frosch@openttd.org> | 2015-02-22 14:01:24 +0000 |
commit | e8e49e5ddabf6bdc6c6b6a77a1d2ead377c27444 (patch) | |
tree | a6cd6584172b1917357ac22feb2779fd3e18e6f4 /src/road_cmd.cpp | |
parent | ff1f465191e9ea1651ad18070f53f8274c8c2f74 (diff) | |
download | openttd-e8e49e5ddabf6bdc6c6b6a77a1d2ead377c27444.tar.xz |
(svn r27157) -Fix: Mark bridge middle tiles dirty when building/removing/changing bridges.
Diffstat (limited to 'src/road_cmd.cpp')
-rw-r--r-- | src/road_cmd.cpp | 18 |
1 files changed, 8 insertions, 10 deletions
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; } |