mirror of https://github.com/OpenTTD/OpenTTD
(svn r2584) - Fix: Game no longer asserts when you use the remove-road tool on a town building or industry.
parent
71f9078bdd
commit
c496d92c3e
11
road_cmd.c
11
road_cmd.c
|
@ -139,7 +139,7 @@ int32 CmdRemoveRoad(int x, int y, uint32 flags, uint32 p1, uint32 p2)
|
||||||
TileInfo ti;
|
TileInfo ti;
|
||||||
int32 cost;
|
int32 cost;
|
||||||
TileIndex tile;
|
TileIndex tile;
|
||||||
byte owner;
|
PlayerID owner;
|
||||||
Town *t;
|
Town *t;
|
||||||
/* true if the roadpiece was always removeable,
|
/* true if the roadpiece was always removeable,
|
||||||
* false if it was a center piece. Affects town ratings drop */
|
* 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);
|
FindLandscapeHeight(&ti, x, y);
|
||||||
tile = ti.tile;
|
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
|
// 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 = IsLevelCrossing(tile) ? _m[tile].m3 : GetTileOwner(tile);
|
||||||
owner = _m[tile].m3;
|
|
||||||
} else
|
|
||||||
owner = GetTileOwner(tile);
|
|
||||||
|
|
||||||
if (owner == OWNER_TOWN && _game_mode != GM_EDITOR) {
|
if (owner == OWNER_TOWN && _game_mode != GM_EDITOR) {
|
||||||
if (IsTileType(tile, MP_TUNNELBRIDGE)) { // index of town is not saved for bridge (no space)
|
if (IsTileType(tile, MP_TUNNELBRIDGE)) { // index of town is not saved for bridge (no space)
|
||||||
|
|
Loading…
Reference in New Issue