(svn r2102) Fix bug introduced in r2038, which gave you money for clearing occupied railway tiles ([1171926])
authortron
Mon, 28 Mar 2005 18:59:33 +0000
changeset 1598 4425f756c19b
parent 1597 cc09dbccddac
child 1599 d161472bfbb7
(svn r2102) Fix bug introduced in r2038, which gave you money for clearing occupied railway tiles ([1171926])
rail_cmd.c
--- a/rail_cmd.c	Mon Mar 28 15:40:05 2005 +0000
+++ b/rail_cmd.c	Mon Mar 28 18:59:33 2005 +0000
@@ -1070,6 +1070,10 @@
 			}
 
 			m5 &= RAIL_BIT_MASK;
+			if (!(flags & DC_EXEC)) {
+				for (; m5 != 0; m5 >>= 1) if (m5 & 1) cost += _price.remove_rail;
+				return cost;
+			}
 			/* FALLTHROUGH */
 
 		case RAIL_TYPE_NORMAL: {
@@ -1077,12 +1081,8 @@
 
 			for (i = 0; m5 != 0; i++, m5 >>= 1) {
 				if (m5 & 1) {
-					if (flags & DC_EXEC) {
-						ret = DoCommandByTile(tile, 0, i, flags, CMD_REMOVE_SINGLE_RAIL);
-						if (ret == CMD_ERROR) return CMD_ERROR;
-					} else {
-						ret = _price.remove_rail;
-					}
+					ret = DoCommandByTile(tile, 0, i, flags, CMD_REMOVE_SINGLE_RAIL);
+					if (ret == CMD_ERROR) return CMD_ERROR;
 					cost += ret;
 				}
 			}