1
0
mirror of https://github.com/OpenTTD/OpenTTD.git synced 2025-08-19 04:29:09 +00:00

Change: Flood trains inside a train depot platform.

This commit is contained in:
J0anJosep
2021-02-21 22:17:13 +01:00
parent c8dfc18380
commit e26d14c5ef

View File

@@ -40,6 +40,9 @@
#include "water_cmd.h"
#include "landscape_cmd.h"
#include "pathfinder/water_regions.h"
#include "train.h"
#include "platform_func.h"
#include "pbs.h"
#include "table/strings.h"
@@ -1073,16 +1076,25 @@ static void FloodVehicles(TileIndex tile)
return;
}
if (!IsBridgeTile(tile)) {
if (IsBridgeTile(tile)) {
TileIndex end = GetOtherBridgeEnd(tile);
z = GetBridgePixelHeight(tile);
FindVehicleOnPos(tile, &z, &FloodVehicleProc);
FindVehicleOnPos(end, &z, &FloodVehicleProc);
} else if (IsExtendedRailDepotTile(tile)) {
/* Free reserved path. */
if (HasDepotReservation(tile)) {
Train *v = GetTrainForReservation(tile, GetRailDepotTrack(tile));
if (v != nullptr) FreeTrainTrackReservation(v);
}
/* Crash trains on platform. */
for (TileIndex t : GetPlatformTileArea(tile)) {
FindVehicleOnPos(t, &z, &FloodVehicleProc);
}
} else {
FindVehicleOnPos(tile, &z, &FloodVehicleProc);
return;
}
TileIndex end = GetOtherBridgeEnd(tile);
z = GetBridgePixelHeight(tile);
FindVehicleOnPos(tile, &z, &FloodVehicleProc);
FindVehicleOnPos(end, &z, &FloodVehicleProc);
}
/**