diff --git a/src/order_base.h b/src/order_base.h index a67cf69bb4..6a9d46b711 100644 --- a/src/order_base.h +++ b/src/order_base.h @@ -137,6 +137,8 @@ public: inline OrderDepotTypeFlags GetDepotOrderType() const { return (OrderDepotTypeFlags)GB(this->flags, 0, 3); } /** What are we going to do when in the depot. */ inline OrderDepotActionFlags GetDepotActionType() const { return (OrderDepotActionFlags)GB(this->flags, 4, 3); } + /** What waypoint flags? */ + inline OrderWaypointFlags GetWaypointFlags() const { return (OrderWaypointFlags)GB(this->flags, 0, 8); } /** What variable do we have to compare? */ inline OrderConditionVariable GetConditionVariable() const { return (OrderConditionVariable)GB(this->dest, 11, 5); } /** What is the comparator to use? */ @@ -158,6 +160,8 @@ public: inline void SetDepotOrderType(OrderDepotTypeFlags depot_order_type) { SB(this->flags, 0, 3, depot_order_type); } /** Set what we are going to do in the depot. */ inline void SetDepotActionType(OrderDepotActionFlags depot_service_type) { SB(this->flags, 4, 3, depot_service_type); } + /** Set waypoint flags. */ + inline void SetWaypointFlags(OrderWaypointFlags waypoint_flags) { SB(this->flags, 0, 8, waypoint_flags); } /** Set variable we have to compare. */ inline void SetConditionVariable(OrderConditionVariable condition_variable) { SB(this->dest, 11, 5, condition_variable); } /** Set the comparator to use. */ diff --git a/src/order_type.h b/src/order_type.h index d3a771ce8b..8cb31de022 100644 --- a/src/order_type.h +++ b/src/order_type.h @@ -112,6 +112,14 @@ enum OrderDepotActionFlags { }; DECLARE_ENUM_AS_BIT_SET(OrderDepotActionFlags) +/** + * Flags for go to waypoint orders + */ +enum OrderWaypointFlags { + OWF_DEFAULT = 0, ///< Default waypoint behaviour +}; +DECLARE_ENUM_AS_BIT_SET(OrderWaypointFlags) + /** * Variables (of a vehicle) to 'cause' skipping on. */