Codechange: Un-bitstuff order commands.

This commit is contained in:
Michael Lutz
2021-11-02 22:58:40 +01:00
parent de45a8729c
commit 211c630cbe
10 changed files with 106 additions and 131 deletions

View File

@@ -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);