diff options
author | Darkvater <darkvater@openttd.org> | 2006-03-14 23:28:04 +0000 |
---|---|---|
committer | Darkvater <darkvater@openttd.org> | 2006-03-14 23:28:04 +0000 |
commit | decf3c42f8f01a040f03a15158ea50fdeb110738 (patch) | |
tree | 5fe9a10c78a82d7e9f88b1d12aafd66c25bee1b7 | |
parent | cd1dea52ca171f623dc3d92ed39ab2347a1f2023 (diff) | |
download | openttd-decf3c42f8f01a040f03a15158ea50fdeb110738.tar.xz |
(svn r3876) - Fix: We know on a level crossing's town owner of the road (if any); it is in m2 so properly set it back when the crossing's removed.
-rw-r--r-- | rail_cmd.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/rail_cmd.c b/rail_cmd.c index 1456e85a0..7c8468034 100644 --- a/rail_cmd.c +++ b/rail_cmd.c @@ -427,6 +427,7 @@ int32 CmdRemoveSingleRail(int x, int y, uint32 flags, uint32 p1, uint32 p2) break; case MP_STREET: { + uint town; if (!IsLevelCrossing(tile)) return CMD_ERROR; /* This is a crossing, let's check if the direction is correct */ @@ -435,7 +436,8 @@ int32 CmdRemoveSingleRail(int x, int y, uint32 flags, uint32 p1, uint32 p2) if (!(flags & DC_EXEC)) return _price.remove_rail; - MakeRoadNormal(tile, _m[tile].m3, GetCrossingRoadBits(tile), 0); + town = (_m[tile].m3 == OWNER_TOWN) ? _m[tile].m2 : 0; + MakeRoadNormal(tile, _m[tile].m3, GetCrossingRoadBits(tile), town); break; } |