|
|
|
@ -124,8 +124,12 @@ struct CFollowTrackT
|
|
|
|
|
m_old_tile = old_tile;
|
|
|
|
|
m_old_td = old_td;
|
|
|
|
|
m_err = EC_NONE;
|
|
|
|
|
assert(((TrackStatusToTrackdirBits(GetTileTrackStatus(m_old_tile, TT(), IsRoadTT() ? RoadVehicle::From(m_veh)->compatible_roadtypes : 0)) & TrackdirToTrackdirBits(m_old_td)) != 0) ||
|
|
|
|
|
(IsTram() && GetSingleTramBit(m_old_tile) != INVALID_DIAGDIR)); // Disable the assertion for single tram bits
|
|
|
|
|
assert(
|
|
|
|
|
((TrackStatusToTrackdirBits(
|
|
|
|
|
GetTileTrackStatus(m_old_tile, TT(), (IsRoadTT() && m_veh != NULL) ? RoadVehicle::From(m_veh)->compatible_roadtypes : 0)
|
|
|
|
|
) & TrackdirToTrackdirBits(m_old_td)) != 0) ||
|
|
|
|
|
(IsTram() && GetSingleTramBit(m_old_tile) != INVALID_DIAGDIR) // Disable the assertion for single tram bits
|
|
|
|
|
);
|
|
|
|
|
m_exitdir = TrackdirToExitdir(m_old_td);
|
|
|
|
|
if (ForcedReverse()) return true;
|
|
|
|
|
if (!CanExitOldTile()) return false;
|
|
|
|
|