Fix assert fail when ChooseTrainTrack called on disallowed 90 degree turn
This commit is contained in:
@@ -4004,8 +4004,7 @@ static Track ChooseTrainTrack(Train *v, TileIndex tile, DiagDirection enterdir,
|
||||
if (KillFirstBit(tracks) == TRACK_BIT_NONE) {
|
||||
Track track = FindFirstTrack(tracks);
|
||||
/* We need to check for signals only here, as a junction tile can't have signals. */
|
||||
Trackdir td = TrackEnterdirToTrackdir(track, enterdir);
|
||||
if (track != INVALID_TRACK && HasPbsSignalOnTrackdir(tile, td)) {
|
||||
if (track != INVALID_TRACK && HasPbsSignalOnTrackdir(tile, TrackEnterdirToTrackdir(track, enterdir))) {
|
||||
if (IsRestrictedSignal(tile) && v->force_proceed != TFP_SIGNAL) {
|
||||
const TraceRestrictProgram *prog = GetExistingTraceRestrictProgram(tile, track);
|
||||
if (prog && prog->actions_used_flags & (TRPAUF_WAIT_AT_PBS | TRPAUF_SLOT_ACQUIRE | TRPAUF_TRAIN_NOT_STUCK)) {
|
||||
|
Reference in New Issue
Block a user