summaryrefslogtreecommitdiff
path: root/src/tunnelbridge_cmd.cpp
diff options
context:
space:
mode:
authormichi_cc <michi_cc@openttd.org>2011-12-03 23:40:23 +0000
committermichi_cc <michi_cc@openttd.org>2011-12-03 23:40:23 +0000
commitc06bbb48634ce7b34c53fed37cfebf47248dcdc5 (patch)
tree08984de5f23a2101035d74c38dac8b38f4d5173b /src/tunnelbridge_cmd.cpp
parenta29a9d94b7216e41dc6d7f96345d2f66e882c89a (diff)
downloadopenttd-c06bbb48634ce7b34c53fed37cfebf47248dcdc5.tar.xz
(svn r23413) -Add: Company infrastructure counts for canals.
Diffstat (limited to 'src/tunnelbridge_cmd.cpp')
-rw-r--r--src/tunnelbridge_cmd.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/tunnelbridge_cmd.cpp b/src/tunnelbridge_cmd.cpp
index 2fb10b611..744223168 100644
--- a/src/tunnelbridge_cmd.cpp
+++ b/src/tunnelbridge_cmd.cpp
@@ -456,6 +456,7 @@ CommandCost CmdBuildBridge(TileIndex end_tile, DoCommandFlag flags, uint32 p1, u
break;
case TRANSPORT_WATER:
+ if (!IsBridgeTile(tile_start) && c != NULL) c->infrastructure.water += (bridge_len + 2) * TUNNELBRIDGE_TRACKBIT_FACTOR;
MakeAqueductBridgeRamp(tile_start, owner, dir);
MakeAqueductBridgeRamp(tile_end, owner, ReverseDiagDir(dir));
break;
@@ -856,6 +857,8 @@ static CommandCost DoClearBridge(TileIndex tile, DoCommandFlag flags)
DirtyCompanyInfrastructureWindows(c->index);
}
}
+ } else { // Aqueduct
+ if (Company::IsValidID(owner)) Company::Get(owner)->infrastructure.water -= len * TUNNELBRIDGE_TRACKBIT_FACTOR;
}
DirtyCompanyInfrastructureWindows(owner);
@@ -1574,6 +1577,9 @@ static void ChangeTileOwner_TunnelBridge(TileIndex tile, Owner old_owner, Owner
if (tt == TRANSPORT_RAIL) {
old->infrastructure.rail[GetRailType(tile)] -= num_pieces;
if (new_owner != INVALID_OWNER) Company::Get(new_owner)->infrastructure.rail[GetRailType(tile)] += num_pieces;
+ } else if (tt == TRANSPORT_WATER) {
+ old->infrastructure.water -= num_pieces;
+ if (new_owner != INVALID_OWNER) Company::Get(new_owner)->infrastructure.water += num_pieces;
}
if (new_owner != INVALID_OWNER) {