|
|
|
@ -260,7 +260,7 @@ public:
|
|
|
|
|
(m_non_artic || IsDriveThroughStopTile(tile));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return tile == m_destTile && ((m_destTrackdirs & TrackdirToTrackdirBits(trackdir)) != TRACKDIR_BIT_NONE);
|
|
|
|
|
return tile == m_destTile && HasTrackdir(m_destTrackdirs, trackdir);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -420,7 +420,7 @@ public:
|
|
|
|
|
/* set origin (tile, trackdir) */
|
|
|
|
|
TileIndex src_tile = v->tile;
|
|
|
|
|
Trackdir src_td = v->GetVehicleTrackdir();
|
|
|
|
|
if ((TrackStatusToTrackdirBits(GetTileTrackStatus(src_tile, TRANSPORT_ROAD, v->compatible_roadtypes)) & TrackdirToTrackdirBits(src_td)) == 0) {
|
|
|
|
|
if (!HasTrackdir(TrackStatusToTrackdirBits(GetTileTrackStatus(src_tile, TRANSPORT_ROAD, v->compatible_roadtypes)), src_td)) {
|
|
|
|
|
/* sometimes the roadveh is not on the road (it resides on non-existing track)
|
|
|
|
|
* how should we handle that situation? */
|
|
|
|
|
return false;
|
|
|
|
@ -503,7 +503,7 @@ FindDepotData YapfRoadVehicleFindNearestDepot(const RoadVehicle *v, int max_dist
|
|
|
|
|
{
|
|
|
|
|
TileIndex tile = v->tile;
|
|
|
|
|
Trackdir trackdir = v->GetVehicleTrackdir();
|
|
|
|
|
if ((TrackStatusToTrackdirBits(GetTileTrackStatus(tile, TRANSPORT_ROAD, v->compatible_roadtypes)) & TrackdirToTrackdirBits(trackdir)) == 0) {
|
|
|
|
|
if (!HasTrackdir(TrackStatusToTrackdirBits(GetTileTrackStatus(tile, TRANSPORT_ROAD, v->compatible_roadtypes)), trackdir)) {
|
|
|
|
|
return FindDepotData();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|