|
|
@ -399,7 +399,7 @@ no_entry_cost: // jump here at the beginning if the node has no parent (it is th
|
|
|
|
} else if (cur.tile_type == MP_RAILWAY && IsRailWaypoint(cur.tile)) {
|
|
|
|
} else if (cur.tile_type == MP_RAILWAY && IsRailWaypoint(cur.tile)) {
|
|
|
|
/* Waypoint is also a good reason to finish. */
|
|
|
|
/* Waypoint is also a good reason to finish. */
|
|
|
|
end_segment_reason |= ESRB_WAYPOINT;
|
|
|
|
end_segment_reason |= ESRB_WAYPOINT;
|
|
|
|
} else if (TrackFollower::MaskReservedTracks() && cur.tile_type == MP_RAILWAY) {
|
|
|
|
} else if (TrackFollower::DoTrackMasking() && cur.tile_type == MP_RAILWAY) {
|
|
|
|
/* Searching for a safe tile? */
|
|
|
|
/* Searching for a safe tile? */
|
|
|
|
if (HasSignalOnTrackdir(cur.tile, cur.td) && !IsPbsSignal(GetSignalType(cur.tile, TrackdirToTrack(cur.td)))) {
|
|
|
|
if (HasSignalOnTrackdir(cur.tile, cur.td) && !IsPbsSignal(GetSignalType(cur.tile, TrackdirToTrack(cur.td)))) {
|
|
|
|
end_segment_reason |= ESRB_SAFE_TILE;
|
|
|
|
end_segment_reason |= ESRB_SAFE_TILE;
|
|
|
@ -437,7 +437,7 @@ no_entry_cost: // jump here at the beginning if the node has no parent (it is th
|
|
|
|
end_segment_reason |= ESRB_DEAD_END;
|
|
|
|
end_segment_reason |= ESRB_DEAD_END;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (TrackFollower::MaskReservedTracks() && tf_local.m_err != TrackFollower::EC_90DEG) {
|
|
|
|
if (TrackFollower::DoTrackMasking() && tf_local.m_err != TrackFollower::EC_90DEG) {
|
|
|
|
if (!HasOnewaySignalBlockingTrackdir(cur.tile, cur.td)) end_segment_reason |= ESRB_SAFE_TILE;
|
|
|
|
if (!HasOnewaySignalBlockingTrackdir(cur.tile, cur.td)) end_segment_reason |= ESRB_SAFE_TILE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
@ -453,7 +453,7 @@ no_entry_cost: // jump here at the beginning if the node has no parent (it is th
|
|
|
|
/* Gather the next tile/trackdir/tile_type/rail_type. */
|
|
|
|
/* Gather the next tile/trackdir/tile_type/rail_type. */
|
|
|
|
TILE next(tf_local.m_new_tile, (Trackdir)FindFirstBit2x64(tf_local.m_new_td_bits));
|
|
|
|
TILE next(tf_local.m_new_tile, (Trackdir)FindFirstBit2x64(tf_local.m_new_td_bits));
|
|
|
|
|
|
|
|
|
|
|
|
if (TrackFollower::MaskReservedTracks() && HasPbsSignalOnTrackdir(next.tile, next.td)) {
|
|
|
|
if (TrackFollower::DoTrackMasking() && HasPbsSignalOnTrackdir(next.tile, next.td)) {
|
|
|
|
/* Possible safe tile. */
|
|
|
|
/* Possible safe tile. */
|
|
|
|
end_segment_reason |= ESRB_SAFE_TILE;
|
|
|
|
end_segment_reason |= ESRB_SAFE_TILE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|