diff options
author | michi_cc <michi_cc@openttd.org> | 2011-12-03 23:40:23 +0000 |
---|---|---|
committer | michi_cc <michi_cc@openttd.org> | 2011-12-03 23:40:23 +0000 |
commit | c06bbb48634ce7b34c53fed37cfebf47248dcdc5 (patch) | |
tree | 08984de5f23a2101035d74c38dac8b38f4d5173b /src/tunnelbridge_cmd.cpp | |
parent | a29a9d94b7216e41dc6d7f96345d2f66e882c89a (diff) | |
download | openttd-c06bbb48634ce7b34c53fed37cfebf47248dcdc5.tar.xz |
(svn r23413) -Add: Company infrastructure counts for canals.
Diffstat (limited to 'src/tunnelbridge_cmd.cpp')
-rw-r--r-- | src/tunnelbridge_cmd.cpp | 6 |
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) { |