Mercurial > hg > openttd
changeset 6842:4dda4076644b draft
(svn r10081) -Fix [FS851]: towns/AIs didn't build bridges anymore (boekabart).
author | rubidium <rubidium@openttd.org> |
---|---|
date | Sun, 10 Jun 2007 10:52:19 +0000 |
parents | 797e736c88a7 |
children | 985ee48901eb |
files | src/ai/default/default.cpp src/town_cmd.cpp |
diffstat | 2 files changed, 4 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ai/default/default.cpp +++ b/src/ai/default/default.cpp @@ -2888,7 +2888,7 @@ } // Is building a (rail)bridge possible at this place (type doesn't matter)? - if (CmdFailed(DoCommand(tile_new, tile, 0x8000, DC_AUTO, CMD_BUILD_BRIDGE))) + if (CmdFailed(DoCommand(tile_new, tile, ((0x80 | ROADTYPES_ROAD) << 8), DC_AUTO, CMD_BUILD_BRIDGE))) return; AiBuildRoadRecursive(arf, tile_new, dir2); @@ -3038,13 +3038,13 @@ */ for (i = 10; i != 0; i--) { if (CheckBridge_Stuff(i, bridge_len)) { - int32 cost = DoCommand(tile, p->ai.cur_tile_a, i + (0x80 << 8), DC_AUTO, CMD_BUILD_BRIDGE); + int32 cost = DoCommand(tile, p->ai.cur_tile_a, i + ((0x80 | ROADTYPES_ROAD) << 8), DC_AUTO, CMD_BUILD_BRIDGE); if (!CmdFailed(cost) && cost < (p->player_money >> 5)) break; } } // Build it - DoCommand(tile, p->ai.cur_tile_a, i + (0x80 << 8), DC_AUTO | DC_EXEC, CMD_BUILD_BRIDGE); + DoCommand(tile, p->ai.cur_tile_a, i + ((0x80 | ROADTYPES_ROAD) << 8), DC_AUTO | DC_EXEC, CMD_BUILD_BRIDGE); p->ai.state_counter = 0; } else if (arf.best_ptr[0] & 0x40) {
--- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -1096,7 +1096,7 @@ do { byte bridge_type = RandomRange(MAX_BRIDGES - 1); if (CheckBridge_Stuff(bridge_type, bridge_len)) { - if (!CmdFailed(DoCommand(tile, tmptile, 0x8000 + bridge_type, DC_EXEC | DC_AUTO, CMD_BUILD_BRIDGE))) + if (!CmdFailed(DoCommand(tile, tmptile, bridge_type | ((0x80 | ROADTYPES_ROAD) << 8), DC_EXEC | DC_AUTO, CMD_BUILD_BRIDGE))) _grow_town_result = -1; /* obviously, if building any bridge would fail, there is no need to try other bridge-types */