diff options
-rw-r--r-- | roadveh_cmd.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/roadveh_cmd.c b/roadveh_cmd.c index 0d668de20..b349bd8cc 100644 --- a/roadveh_cmd.c +++ b/roadveh_cmd.c @@ -310,7 +310,14 @@ static Depot *FindClosestRoadDepot(Vehicle *v) if (_patches.new_pathfinding_all) { NPFFoundTargetData ftd; /* See where we are now */ - byte trackdir = _dir_to_diag_trackdir[(v->direction>>1)&3]; + byte trackdir; + if (IsRoadStationTile(tile)) + /* if we are in a station, simulate leaving the station (since + * v->direction won't contain anything usefule than */ + trackdir = _dir_to_diag_trackdir[GetRoadStationDir(tile)]; + else + trackdir = _dir_to_diag_trackdir[(v->direction>>1)&3]; + ftd = NPFRouteToDepotBreadthFirst(v->tile, trackdir, TRANSPORT_ROAD, v->owner); if (ftd.best_bird_dist == 0) return GetDepotByTile(ftd.node.tile); /* Target found */ |