mirror of https://github.com/OpenTTD/OpenTTD
(svn r18778) -Fix [FS#3483]: [YAPP] Remove a special check for two-sided signals when reserving a path as this causes trains to get stuck in front of them.
parent
f51aac3523
commit
de878fad31
|
@ -2851,20 +2851,6 @@ bool TryPathReserve(Train *v, bool mark_as_stuck, bool first_tile_okay)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Special check if we are in front of a two-sided conventional signal. */
|
|
||||||
DiagDirection dir = TrainExitDir(v->direction, v->track);
|
|
||||||
TileIndex next_tile = TileAddByDiagDir(v->tile, dir);
|
|
||||||
if (IsTileType(next_tile, MP_RAILWAY) && HasReservedTracks(next_tile, DiagdirReachesTracks(dir))) {
|
|
||||||
/* Can have only one reserved trackdir. */
|
|
||||||
Trackdir td = FindFirstTrackdir(TrackBitsToTrackdirBits(GetReservedTrackbits(next_tile)) & DiagdirReachesTrackdirs(dir));
|
|
||||||
if (HasSignalOnTrackdir(next_tile, td) && HasSignalOnTrackdir(next_tile, ReverseTrackdir(td)) &&
|
|
||||||
!IsPbsSignal(GetSignalType(next_tile, TrackdirToTrack(td)))) {
|
|
||||||
/* Signal already reserved, is not ours. */
|
|
||||||
if (mark_as_stuck) MarkTrainAsStuck(v);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Vehicle *other_train = NULL;
|
Vehicle *other_train = NULL;
|
||||||
PBSTileInfo origin = FollowTrainReservation(v, &other_train);
|
PBSTileInfo origin = FollowTrainReservation(v, &other_train);
|
||||||
/* The path we are driving on is alread blocked by some other train.
|
/* The path we are driving on is alread blocked by some other train.
|
||||||
|
|
Loading…
Reference in New Issue