summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2007-09-07 21:17:01 +0000
committerrubidium <rubidium@openttd.org>2007-09-07 21:17:01 +0000
commitc25655d4aef70413a9cdb3619338b2b6356307dd (patch)
treef932004a663ffbd3fc85c3e1849b593bd183304d
parenta208f83e8bc2d10e98a3d76c0bfc99a45898b3e1 (diff)
downloadopenttd-c25655d4aef70413a9cdb3619338b2b6356307dd.tar.xz
(svn r11056) -Fix [FS#1213]: road/tram tiles would not always get marked dirty properly, causing glitches for non-local players. Patch by SmatZ.
-rw-r--r--src/road_cmd.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/road_cmd.cpp b/src/road_cmd.cpp
index cf5015c8d..3dadf9e5d 100644
--- a/src/road_cmd.cpp
+++ b/src/road_cmd.cpp
@@ -198,10 +198,12 @@ CommandCost CmdRemoveRoad(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
if (present == ROAD_NONE) {
RoadTypes rts = GetRoadTypes(tile) & ComplementRoadTypes(RoadTypeToRoadTypes(rt));
if (rts == ROADTYPES_NONE) {
+ /* Includes MarkTileDirtyByTile() */
DoClearSquare(tile);
} else {
SetRoadBits(tile, ROAD_NONE, rt);
SetRoadTypes(tile, rts);
+ MarkTileDirtyByTile(tile);
}
} else {
/* When bits are removed, you *always* end up with something that