From effaf6acc4bca78bbe58a5a69aad6979296e9767 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Sun, 26 May 2024 12:13:49 +0100 Subject: [PATCH] Allow removing reservation boundary signal in realistic braking All other operations were permitted so only disallowing removal was not useful and could be trivially bypassed --- src/rail_cmd.cpp | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp index ab32c6a276..3c9a2898cc 100644 --- a/src/rail_cmd.cpp +++ b/src/rail_cmd.cpp @@ -2276,18 +2276,6 @@ CommandCost CmdRemoveSingleSignal(TileIndex tile, DoCommandFlag flags, uint32_t Train *v = nullptr; if (HasReservedTracks(tile, TrackToTrackBits(track))) { v = GetTrainForReservation(tile, track); - } else if (IsPbsSignal(GetSignalType(tile, track))) { - /* PBS signal, might be the end of a path reservation. */ - Trackdir td = TrackToTrackdir(track); - for (int i = 0; v == nullptr && i < 2; i++, td = ReverseTrackdir(td)) { - /* Only test the active signal side. */ - if (!HasSignalOnTrackdir(tile, ReverseTrackdir(td))) continue; - TileIndex next = TileAddByDiagDir(tile, TrackdirToExitdir(td)); - TrackBits tracks = TrackdirBitsToTrackBits(TrackdirReachesTrackdirs(td)); - if (HasReservedTracks(next, tracks)) { - v = GetTrainForReservation(next, TrackBitsToTrack(GetReservedTrackbits(next) & tracks)); - } - } } if (v != nullptr) { CommandCost ret = CheckTrainReservationPreventsTrackModification(v);