Change TunnelBridgeIsFree across_only to a mode enum type

This commit is contained in:
Jonathan G Rennison
2023-05-06 15:48:27 +01:00
parent f94e43c940
commit 09e03fb6b2
5 changed files with 23 additions and 16 deletions

View File

@@ -3593,7 +3593,7 @@ static void ClearPathReservation(const Train *v, TileIndex tile, Trackdir track_
/* Are we just leaving a tunnel/bridge? */
if (TrackdirExitsTunnelBridge(tile, track_dir)) {
TileIndex end = GetOtherTunnelBridgeEnd(tile);
bool free = TunnelBridgeIsFree(tile, end, v, true).Succeeded();
bool free = TunnelBridgeIsFree(tile, end, v, TBIFM_ACROSS_ONLY).Succeeded();
HandleLastTunnelBridgeSignals(tile, end, ReverseDiagDir(GetTunnelBridgeDirection(tile)), free);
}
} else if (tunbridge_clear_unsignaled_other_end) {
@@ -3720,7 +3720,7 @@ void FreeTrainTrackReservation(Train *v, TileIndex origin, Trackdir orig_td)
}
} else if (IsTunnelBridgeWithSignalSimulation(tile) && TrackdirExitsTunnelBridge(tile, td)) {
TileIndex end = GetOtherTunnelBridgeEnd(tile);
bool free = TunnelBridgeIsFree(tile, end, v, true).Succeeded();
bool free = TunnelBridgeIsFree(tile, end, v, TBIFM_ACROSS_ONLY).Succeeded();
if (!free) break;
}
@@ -6107,7 +6107,7 @@ static Vehicle *CollectTrackbitsFromCrashedVehiclesEnum(Vehicle *v, void *data)
static void SetSignalledBridgeTunnelGreenIfClear(TileIndex tile, TileIndex end)
{
if (TunnelBridgeIsFree(tile, end, nullptr, true).Succeeded()) {
if (TunnelBridgeIsFree(tile, end, nullptr, TBIFM_ACROSS_ONLY).Succeeded()) {
auto process_tile = [](TileIndex t) {
if (IsTunnelBridgeSignalSimulationEntrance(t)) {
if (IsBridge(t)) {