summaryrefslogtreecommitdiff
path: root/tunnelbridge_cmd.c
diff options
context:
space:
mode:
authorDarkvater <darkvater@openttd.org>2006-03-15 21:27:19 +0000
committerDarkvater <darkvater@openttd.org>2006-03-15 21:27:19 +0000
commit748d082a7932fcf83e01db6040bdf02d819c2ecf (patch)
treed0e05fc1051ce979b584ab2f173ea4a7fb64b030 /tunnelbridge_cmd.c
parentc51c86b2c8e4d456b42330122ad4852d772463cd (diff)
downloadopenttd-748d082a7932fcf83e01db6040bdf02d819c2ecf.tar.xz
(svn r3893) - Fix: Properly set back the owner of a crossing/road-under bridge after removing it. For crossings we can always use .m2 because it is already 0 when not owned by a town.
Diffstat (limited to 'tunnelbridge_cmd.c')
-rw-r--r--tunnelbridge_cmd.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/tunnelbridge_cmd.c b/tunnelbridge_cmd.c
index 0034f10f7..191343845 100644
--- a/tunnelbridge_cmd.c
+++ b/tunnelbridge_cmd.c
@@ -714,7 +714,8 @@ static int32 DoClearBridge(TileIndex tile, uint32 flags)
if (GB(_m[c].m5, 3, 2) == TRANSPORT_RAIL) {
MakeRailNormal(c, GetTileOwner(c), _m[c].m5 & 1 ? TRACK_BIT_X : TRACK_BIT_Y, GB(_m[c].m3, 0, 3));
} else {
- MakeRoadNormal(c, GetTileOwner(c), _m[c].m5 & 1 ? ROAD_X : ROAD_Y, 0); // XXX Determine town, missing till now
+ uint town = IsTileOwner(c, OWNER_TOWN) ? ClosestTownFromTile(c, (uint)-1)->index : 0;
+ MakeRoadNormal(c, GetTileOwner(c), _m[c].m5 & 1 ? ROAD_X : ROAD_Y, town);
}
MarkTileDirtyByTile(c);
} else {