From 05fca79cf05a72e03052b0f2312d4c6081853f5a Mon Sep 17 00:00:00 2001 From: smatz Date: Mon, 3 Dec 2007 22:40:18 +0000 Subject: (svn r11565) -Revert: part of r11564 --- src/ai/default/default.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'src/ai/default/default.cpp') diff --git a/src/ai/default/default.cpp b/src/ai/default/default.cpp index d1979ed82..e84217ddc 100644 --- a/src/ai/default/default.cpp +++ b/src/ai/default/default.cpp @@ -1646,18 +1646,22 @@ clear_town_stuff:; rating += _cleared_town_rating; } } else if (p->mode == 2) { - // Rail + /* Rail */ if (IsTileType(c, MP_RAILWAY)) return CMD_ERROR; j = p->attr; k = 0; - // Build the rail - FOR_EACH_SET_BIT(i, j) { - k = i; - ret = DoCommand(c, railtype, i, flag | DC_AUTO | DC_NO_WATER, CMD_BUILD_SINGLE_RAIL); - if (CmdFailed(ret)) return CMD_ERROR; - total_cost.AddCost(ret); + /* Build the rail + * note: FOR_EACH_SET_BIT cannot be used here + */ + for (i = 0; i != 6; i++, j >>= 1) { + if (j & 1) { + k = i; + ret = DoCommand(c, railtype, i, flag | DC_AUTO | DC_NO_WATER, CMD_BUILD_SINGLE_RAIL); + if (CmdFailed(ret)) return CMD_ERROR; + total_cost.AddCost(ret); + } } /* signals too? */ -- cgit v1.2.3-70-g09d2