diff options
Diffstat (limited to 'yapf/yapf_road.cpp')
-rw-r--r-- | yapf/yapf_road.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/yapf/yapf_road.cpp b/yapf/yapf_road.cpp index 5bf679b56..6fbff3ecb 100644 --- a/yapf/yapf_road.cpp +++ b/yapf/yapf_road.cpp @@ -430,6 +430,12 @@ Depot* YapfFindNearestRoadDepot(const Vehicle *v) if ((GetTileTrackStatus(tile, TRANSPORT_ROAD) & TrackdirToTrackdirBits(trackdir)) == 0) return NULL; + // handle the case when our vehicle is already in the depot tile + if (IsTileType(tile, MP_STREET) && IsTileDepotType(tile, TRANSPORT_ROAD)) { + // only what we need to return is the Depot* + return GetDepotByTile(tile); + } + // default is YAPF type 2 typedef Depot* (*PfnFindNearestDepot)(Vehicle*, TileIndex, Trackdir); PfnFindNearestDepot pfnFindNearestDepot = &CYapfRoadAnyDepot2::stFindNearestDepot; |