From c06bbb48634ce7b34c53fed37cfebf47248dcdc5 Mon Sep 17 00:00:00 2001 From: michi_cc Date: Sat, 3 Dec 2011 23:40:23 +0000 Subject: (svn r23413) -Add: Company infrastructure counts for canals. --- src/saveload/company_sl.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/saveload') diff --git a/src/saveload/company_sl.cpp b/src/saveload/company_sl.cpp index 4d4c50c9e..a51c32d7e 100644 --- a/src/saveload/company_sl.cpp +++ b/src/saveload/company_sl.cpp @@ -151,11 +151,32 @@ void AfterLoadCompanyStats() break; } + case STATION_DOCK: + case STATION_BUOY: + if (GetWaterClass(tile) == WATER_CLASS_CANAL) { + if (c != NULL) c->infrastructure.water++; + } + break; + default: break; } break; + case MP_WATER: + if (IsShipDepot(tile) || IsLock(tile)) { + c = Company::GetIfValid(GetTileOwner(tile)); + if (c != NULL) c->infrastructure.water += LOCK_DEPOT_TILE_FACTOR; + } + /* FALL THROUGH */ + + case MP_OBJECT: + if (GetWaterClass(tile) == WATER_CLASS_CANAL) { + c = Company::GetIfValid(GetTileOwner(tile)); + if (c != NULL) c->infrastructure.water++; + } + break; + case MP_TUNNELBRIDGE: { /* Only count the tunnel/bridge if we're on the northern end tile. */ TileIndex other_end = GetOtherTunnelBridgeEnd(tile); @@ -180,6 +201,11 @@ void AfterLoadCompanyStats() break; } + case TRANSPORT_WATER: + c = Company::GetIfValid(GetTileOwner(tile)); + if (c != NULL) c->infrastructure.water += len; + break; + default: break; } -- cgit v1.2.3-70-g09d2