summaryrefslogtreecommitdiff
path: root/src/train_cmd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/train_cmd.cpp')
-rw-r--r--src/train_cmd.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp
index 72a0e1784..3813178d5 100644
--- a/src/train_cmd.cpp
+++ b/src/train_cmd.cpp
@@ -2084,6 +2084,18 @@ static TrainFindDepotData FindClosestTrainDepot(Vehicle *v, int max_distance)
return tfdd;
}
+bool Train::FindClosestDepot(TileIndex *location, DestinationID *destination, bool *reverse)
+{
+ TrainFindDepotData tfdd = FindClosestTrainDepot(this, 0);
+ if (tfdd.best_length == (uint)-1) return false;
+
+ if (location != NULL) *location = tfdd.tile;
+ if (destination != NULL) *destination = GetDepotByTile(tfdd.tile)->index;
+ if (reverse != NULL) *reverse = tfdd.reverse;
+
+ return true;
+}
+
/** Send a train to a depot
* @param tile unused
* @param flags type of operation