summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2007-07-10 22:45:09 +0000
committerrubidium <rubidium@openttd.org>2007-07-10 22:45:09 +0000
commitfd93cd0411a8b506b9d7a5d721593298f4aa3883 (patch)
treec5a2d62b6acc4b1f29d9ec357bd66b0262cbaf51
parent3ba01bec844e80e77f9f8450c1ffe414e121202a (diff)
downloadopenttd-fd93cd0411a8b506b9d7a5d721593298f4aa3883.tar.xz
(svn r10502) -Fix [FS#1017]: trying to get the town from a tile that can never be associated with a town.
-rw-r--r--src/road_cmd.cpp13
1 files changed, 2 insertions, 11 deletions
diff --git a/src/road_cmd.cpp b/src/road_cmd.cpp
index 29827b46c..c5e0622e8 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<RoadBits, 0>(p1);
RoadTypes rts = GetRoadTypes(tile);
/* The tile doesn't have the given road type */