diff options
Diffstat (limited to 'src/order_base.h')
-rw-r--r-- | src/order_base.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/order_base.h b/src/order_base.h index a722ef5d4..836ceb4b0 100644 --- a/src/order_base.h +++ b/src/order_base.h @@ -25,6 +25,9 @@ typedef Pool<OrderList, OrderListID, 128, 64000> OrderListPool; extern OrderPool _order_pool; extern OrderListPool _orderlist_pool; +template <typename, typename> +class EndianBufferWriter; + /* If you change this, keep in mind that it is saved on 3 places: * - Load_ORDR, all the global orders * - Vehicle -> current_order @@ -38,6 +41,10 @@ private: friend class SlVehicleCommon; friend class SlVehicleDisaster; + template <typename Tcont, typename Titer> + friend EndianBufferWriter<Tcont, Titer> &operator <<(EndianBufferWriter<Tcont, Titer> &buffer, const Order &data); + friend class EndianBufferReader &operator >>(class EndianBufferReader &buffer, Order &order); + uint8 type; ///< The type of order + non-stop flags uint8 flags; ///< Load/unload types, depot order/action types. DestinationID dest; ///< The destination of the order. @@ -51,7 +58,7 @@ private: public: Order *next; ///< Pointer to next order. If nullptr, end of list - Order() : flags(0), refit_cargo(CT_NO_REFIT), max_speed(UINT16_MAX) {} + Order() : flags(0), refit_cargo(CT_NO_REFIT), wait_time(0), travel_time(0), max_speed(UINT16_MAX) {} ~Order(); Order(uint32 packed); |