diff options
Diffstat (limited to 'src/order.h')
-rw-r--r-- | src/order.h | 79 |
1 files changed, 1 insertions, 78 deletions
diff --git a/src/order.h b/src/order.h index b9557adce..2e0a3eeb7 100644 --- a/src/order.h +++ b/src/order.h @@ -5,6 +5,7 @@ #ifndef ORDER_H #define ORDER_H +#include "order_type.h" #include "oldpool.h" #include "core/bitmath_func.hpp" #include "cargo_type.h" @@ -13,84 +14,6 @@ #include "date_type.h" #include "group_type.h" -typedef uint16 DestinationID; - -enum { - INVALID_VEH_ORDER_ID = 0xFF, -}; - -static const OrderID INVALID_ORDER = 0xFFFF; - -/* Order types */ -enum OrderType { - OT_BEGIN = 0, - OT_NOTHING = 0, - OT_GOTO_STATION = 1, - OT_GOTO_DEPOT = 2, - OT_LOADING = 3, - OT_LEAVESTATION = 4, - OT_DUMMY = 5, - OT_GOTO_WAYPOINT = 6, - OT_END -}; - -/* It needs to be 8bits, because we save and load it as such */ -/** Define basic enum properties */ -template <> struct EnumPropsT<OrderType> : MakeEnumPropsT<OrderType, byte, OT_BEGIN, OT_END, OT_END> {}; -typedef TinyEnumT<OrderType> OrderTypeByte; - - -/* Order flags -- please use OF instead OF and use HASBIT/SETBIT/CLEARBIT */ - -/** Order flag masks - these are for direct bit operations */ -enum OrderFlagMasks { - //Flags for stations: - /** vehicle will transfer cargo (i. e. not deliver to nearby industry/town even if accepted there) */ - OFB_TRANSFER = 0x1, - /** If OFB_TRANSFER is not set, drop any cargo loaded. If accepted, deliver, otherwise cargo remains at the station. - * No new cargo is loaded onto the vehicle whatsoever */ - OFB_UNLOAD = 0x2, - /** Wait for full load of all vehicles, or of at least one cargo type, depending on patch setting - * @todo make this two different flags */ - OFB_FULL_LOAD = 0x4, - - //Flags for depots: - /** The current depot-order was initiated because it was in the vehicle's order list */ - OFB_PART_OF_ORDERS = 0x2, - /** if OFB_PART_OF_ORDERS is not set, this will cause the vehicle to be stopped in the depot */ - OFB_HALT_IN_DEPOT = 0x4, - /** if OFB_PART_OF_ORDERS is set, this will cause the order only be come active if the vehicle needs servicing */ - OFB_SERVICE_IF_NEEDED = 0x4, //used when OFB_PART_OF_ORDERS is set. - - //Common flags - /** This causes the vehicle not to stop at intermediate OR the destination station (depending on patch settings) - * @todo make this two different flags */ - OFB_NON_STOP = 0x8 -}; - -/** Order flags bits - these are for the *BIT macros - * for descrption of flags, see OrderFlagMasks - * @see OrderFlagMasks - */ -enum { - OF_TRANSFER = 0, - OF_UNLOAD = 1, - OF_FULL_LOAD = 2, - OF_PART_OF_ORDERS = 1, - OF_HALT_IN_DEPOT = 2, - OF_SERVICE_IF_NEEDED = 2, - OF_NON_STOP = 3 -}; - - -/* Possible clone options */ -enum { - CO_SHARE = 0, - CO_COPY = 1, - CO_UNSHARE = 2 -}; - -struct Order; DECLARE_OLD_POOL(Order, Order, 6, 1000) /* If you change this, keep in mind that it is saved on 3 places: |