summaryrefslogtreecommitdiff
path: root/src/train_cmd.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2008-08-02 22:56:21 +0000
committerrubidium <rubidium@openttd.org>2008-08-02 22:56:21 +0000
commit5c9bb1bbd6f1f50c4553c4033871d2c7fa427936 (patch)
tree29f7cbda13663586094a1e74190b8f952828f792 /src/train_cmd.cpp
parentdb637a2b7f3ff0eddecf0e97a364cc57ba06aef6 (diff)
downloadopenttd-5c9bb1bbd6f1f50c4553c4033871d2c7fa427936.tar.xz
(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)
Diffstat (limited to 'src/train_cmd.cpp')
-rw-r--r--src/train_cmd.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp
index e237df907..3ce90a07f 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 {