mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-02-04 05:15:21 +00:00
(svn r18648) -Fix/Feature [FS#3430-ish]: [YAPP] Treat the backside of an one-way path signals as a safe waiting point.
This commit is contained in:
parent
f7025612e1
commit
40ba9933dc
@ -369,8 +369,14 @@ bool IsSafeWaitingPosition(const Train *v, TileIndex tile, Trackdir trackdir, bo
|
|||||||
if (ft.m_new_td_bits == TRACKDIR_BIT_NONE) return include_line_end;
|
if (ft.m_new_td_bits == TRACKDIR_BIT_NONE) return include_line_end;
|
||||||
|
|
||||||
if (ft.m_new_td_bits != TRACKDIR_BIT_NONE && KillFirstBit(ft.m_new_td_bits) == TRACKDIR_BIT_NONE) {
|
if (ft.m_new_td_bits != TRACKDIR_BIT_NONE && KillFirstBit(ft.m_new_td_bits) == TRACKDIR_BIT_NONE) {
|
||||||
|
Trackdir td = FindFirstTrackdir(ft.m_new_td_bits);
|
||||||
/* PBS signal on next trackdir? Safe position. */
|
/* PBS signal on next trackdir? Safe position. */
|
||||||
if (HasPbsSignalOnTrackdir(ft.m_new_tile, FindFirstTrackdir(ft.m_new_td_bits))) return true;
|
if (HasPbsSignalOnTrackdir(ft.m_new_tile, td)) return true;
|
||||||
|
/* One-way PBS signal against us? Safe if end-of-line is allowed. */
|
||||||
|
if (IsTileType(ft.m_new_tile, MP_RAILWAY) && HasSignalOnTrackdir(ft.m_new_tile, ReverseTrackdir(td)) &&
|
||||||
|
GetSignalType(ft.m_new_tile, TrackdirToTrack(td)) == SIGTYPE_PBS_ONEWAY) {
|
||||||
|
return include_line_end;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
Loading…
Reference in New Issue
Block a user