mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-06 14:27:16 +00:00
(svn r12622) -Fix: infinite loop in case your compiler decides that enums are unsigned by default. Patch by Dominik.
This commit is contained in:
parent
d31dee2717
commit
b0ca38e20a
@ -875,13 +875,14 @@ static CommandCost ClearTile_Road(TileIndex tile, byte flags)
|
|||||||
|
|
||||||
/* Must iterate over the roadtypes in a reverse manner because
|
/* Must iterate over the roadtypes in a reverse manner because
|
||||||
* tram tracks must be removed before the road bits. */
|
* tram tracks must be removed before the road bits. */
|
||||||
for (RoadType rt = ROADTYPE_HWAY; rt >= ROADTYPE_ROAD; rt--) {
|
RoadType rt = ROADTYPE_HWAY;
|
||||||
|
do {
|
||||||
if (HasBit(rts, rt)) {
|
if (HasBit(rts, rt)) {
|
||||||
CommandCost tmp_ret = RemoveRoad(tile, flags, GetCrossingRoadBits(tile), rt, false);
|
CommandCost tmp_ret = RemoveRoad(tile, flags, GetCrossingRoadBits(tile), rt, false);
|
||||||
if (CmdFailed(tmp_ret)) return tmp_ret;
|
if (CmdFailed(tmp_ret)) return tmp_ret;
|
||||||
ret.AddCost(tmp_ret);
|
ret.AddCost(tmp_ret);
|
||||||
}
|
}
|
||||||
}
|
} while (rt-- != ROADTYPE_ROAD);
|
||||||
|
|
||||||
if (flags & DC_EXEC) {
|
if (flags & DC_EXEC) {
|
||||||
DoCommand(tile, 0, 0, flags, CMD_LANDSCAPE_CLEAR);
|
DoCommand(tile, 0, 0, flags, CMD_LANDSCAPE_CLEAR);
|
||||||
|
Loading…
Reference in New Issue
Block a user