summaryrefslogtreecommitdiff
path: root/roadveh_cmd.c
diff options
context:
space:
mode:
Diffstat (limited to 'roadveh_cmd.c')
-rw-r--r--roadveh_cmd.c9
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 */