From 255102d223272de5179ddfa4c13eb3245ef266cc Mon Sep 17 00:00:00 2001 From: rubidium Date: Tue, 10 Jul 2007 22:45:09 +0000 Subject: [PATCH] (svn r10502) -Fix [FS#1017]: trying to get the town from a tile that can never be associated with a town. --- src/road_cmd.cpp | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/src/road_cmd.cpp b/src/road_cmd.cpp index 29827b46c1..c5e0622e88 100644 --- a/src/road_cmd.cpp +++ b/src/road_cmd.cpp @@ -112,7 +112,6 @@ CommandCost CmdRemoveRoad(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) /* cost for removing inner/edge -roads */ static const uint16 road_remove_cost[2] = {50, 18}; - Town *t; /* true if the roadpiece was always removeable, * false if it was a center piece. Affects town ratings drop */ bool edge_road; @@ -122,33 +121,25 @@ CommandCost CmdRemoveRoad(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) RoadType rt = (RoadType)GB(p1, 4, 2); if (!IsValidRoadType(rt)) return CMD_ERROR; - Owner owner; + Town *t = NULL; switch (GetTileType(tile)) { case MP_STREET: - owner = GetRoadOwner(tile, rt); + if (_game_mode != GM_EDITOR && GetRoadOwner(tile, rt) == OWNER_TOWN) t = GetTownByTile(tile); break; case MP_STATION: if (!IsDriveThroughStopTile(tile)) return CMD_ERROR; - owner = GetTileOwner(tile); break; case MP_TUNNELBRIDGE: if ((IsTunnel(tile) && GetTunnelTransportType(tile) != TRANSPORT_ROAD) || (IsBridge(tile) && GetBridgeTransportType(tile) != TRANSPORT_ROAD)) return CMD_ERROR; - owner = GetTileOwner(tile); break; default: return CMD_ERROR; } - if (owner == OWNER_TOWN && _game_mode != GM_EDITOR) { - t = GetTownByTile(tile); - } else { - t = NULL; - } - RoadBits pieces = Extract(p1); RoadTypes rts = GetRoadTypes(tile); /* The tile doesn't have the given road type */