summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarkvater <Darkvater@openttd.org>2005-07-15 21:17:38 +0000
committerDarkvater <Darkvater@openttd.org>2005-07-15 21:17:38 +0000
commit4ea22149930fe8e03bad4cff64161174b5dd48d2 (patch)
treee63c0fc2d2e8d7ef2f0f4f5837b6a1ba9798c670
parentfd0cee74182900b6cdcf679e0fbdd16f0cf59466 (diff)
downloadopenttd-4ea22149930fe8e03bad4cff64161174b5dd48d2.tar.xz
(svn r2584) - Fix: Game no longer asserts when you use the remove-road tool on a town building or industry.
-rw-r--r--road_cmd.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/road_cmd.c b/road_cmd.c
index 2fc75a02a..3996901ef 100644
--- a/road_cmd.c
+++ b/road_cmd.c
@@ -139,7 +139,7 @@ int32 CmdRemoveRoad(int x, int y, uint32 flags, uint32 p1, uint32 p2)
TileInfo ti;
int32 cost;
TileIndex tile;
- byte owner;
+ PlayerID owner;
Town *t;
/* true if the roadpiece was always removeable,
* false if it was a center piece. Affects town ratings drop */
@@ -154,12 +154,11 @@ int32 CmdRemoveRoad(int x, int y, uint32 flags, uint32 p1, uint32 p2)
FindLandscapeHeight(&ti, x, y);
tile = ti.tile;
- // owner for railraod crossing is stored somewhere else
+ if (!IsTileType(tile, MP_STREET) && !IsTileType(tile, MP_TUNNELBRIDGE)) return CMD_ERROR;
+
+ // owner for railroad crossing is stored somewhere else
// XXX - Fix this so for a given tiletype the owner of the type is in the same variable
- if (IsTileType(tile, MP_STREET) && IsLevelCrossing(tile)) {
- owner = _m[tile].m3;
- } else
- owner = GetTileOwner(tile);
+ owner = IsLevelCrossing(tile) ? _m[tile].m3 : GetTileOwner(tile);
if (owner == OWNER_TOWN && _game_mode != GM_EDITOR) {
if (IsTileType(tile, MP_TUNNELBRIDGE)) { // index of town is not saved for bridge (no space)