@@ -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++;
default:
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:
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()
case TRANSPORT_WATER:
if (c != NULL) c->infrastructure.water += len;