From 96e2435aa827b9e4af60b7c87fd8da38f9b87cc2 Mon Sep 17 00:00:00 2001 From: rubidium Date: Wed, 9 Sep 2009 21:01:45 +0000 Subject: (svn r17491) -Fix [FS#3188]: road vehicles could get lost when the prelimiary destination (for the pathfinder heuristics) is unreachable. --- src/roadveh_cmd.cpp | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) (limited to 'src/roadveh_cmd.cpp') diff --git a/src/roadveh_cmd.cpp b/src/roadveh_cmd.cpp index 6f656bb9a..11584d08e 100644 --- a/src/roadveh_cmd.cpp +++ b/src/roadveh_cmd.cpp @@ -689,22 +689,8 @@ TileIndex RoadVehicle::GetOrderStationLocation(StationID station) { if (station == this->last_station_visited) this->last_station_visited = INVALID_STATION; - TileIndex dest = INVALID_TILE; - const RoadStop *rs = Station::Get(station)->GetPrimaryRoadStop(this); - if (rs != NULL) { - uint mindist = UINT_MAX; - - for (; rs != NULL; rs = rs->GetNextRoadStop(this)) { - uint dist = DistanceManhattan(this->tile, rs->xy); - - if (dist < mindist) { - mindist = dist; - dest = rs->xy; - } - } - } - - if (dest != INVALID_TILE) { + TileIndex dest; + if (YapfFindNearestRoadVehicleCompatibleStop(this, station, &dest)) { return dest; } else { /* There is no stop left at the station, so don't even TRY to go there */ -- cgit v1.2.3-54-g00ecf