From ed629f599bd39feead9ff16ff12b58e0285feac7 Mon Sep 17 00:00:00 2001 From: rubidium Date: Sat, 2 Aug 2008 22:56:21 +0000 Subject: [PATCH] (svn r13962) -Codechange [YAPP]: Do not reverse in front of red signals when inside a PBS block and reversing of stuck trains is disabled. (michi_cc) --- src/train_cmd.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index e237df9075..3ce90a07fa 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -3654,6 +3654,13 @@ static void TrainController(Vehicle *v, Vehicle *nomove, bool update_image) if (VehicleFromPos(o_tile, &exitdir, &CheckVehicleAtSignal) == NULL) return; } } + + /* If we would reverse but are currently in a PBS block and + * reversing of stuck trains is disabled, don't reverse. */ + if (_settings_game.pf.wait_for_pbs_path == 255 && UpdateSignalsOnSegment(v->tile, enterdir, v->owner) == SIGSEG_PBS) { + v->load_unload_time_rem = 0; + return; + } goto reverse_train_direction; } } else {