summaryrefslogtreecommitdiff
path: root/src/waypoint.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/waypoint.cpp')
-rw-r--r--src/waypoint.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/waypoint.cpp b/src/waypoint.cpp
index e245627e5..015ca8941 100644
--- a/src/waypoint.cpp
+++ b/src/waypoint.cpp
@@ -91,6 +91,25 @@ Waypoint::~Waypoint()
this->sign.MarkDirty();
}
+/**
+ * Assign a station spec to this waypoint.
+ * @param index the index of the spec from the waypoint specs
+ */
+void Waypoint::AssignStationSpec(uint index)
+{
+ const StationSpec *statspec = GetCustomStationSpec(STAT_CLASS_WAYP, index);
+
+ if (statspec != NULL) {
+ this->spec.spec = statspec;
+ this->spec.grfid = statspec->grffile->grfid;
+ this->spec.localidx = statspec->localidx;
+ } else {
+ this->spec.spec = NULL;
+ this->spec.grfid = 0;
+ this->spec.localidx = 0;
+ }
+}
+
void InitializeWaypoints()
{
_waypoint_pool.CleanPool();