Changeset - r7223:399c5be7f50d
[Not reviewed]
master
0 1 0
rubidium - 17 years ago 2007-07-10 22:45:09
rubidium@openttd.org
(svn r10502) -Fix [FS#1017]: trying to get the town from a tile that can never be associated with a town.
1 file changed with 2 insertions and 11 deletions:
0 comments (0 inline, 0 general)
src/road_cmd.cpp
Show inline comments
 
@@ -112,7 +112,6 @@ CommandCost CmdRemoveRoad(TileIndex tile
 
	/* 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
 
	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 */
0 comments (0 inline, 0 general)