Extend Order::flags to 16 bits, fixes conditional order target field size

Adjust order packing and CmdInsertOrder

See: #198
This commit is contained in:
Jonathan G Rennison
2020-10-17 15:21:38 +01:00
parent b9f7db9c7e
commit e1aca1ab34
8 changed files with 40 additions and 25 deletions

View File

@@ -70,16 +70,16 @@ private:
friend void Load_VEOX(); ///< Saving and loading of orders.
friend void Save_VEOX(); ///< Saving and loading of orders.
uint8 type; ///< The type of order + non-stop flags
uint8 flags; ///< Load/unload types, depot order/action types.
std::unique_ptr<OrderExtraInfo> extra; ///< Extra order info
uint16 flags; ///< Load/unload types, depot order/action types.
DestinationID dest; ///< The destination of the order.
uint8 type; ///< The type of order + non-stop flags
CargoID refit_cargo; ///< Refit CargoID
uint8 occupancy; ///< Estimate of vehicle occupancy on departure, for the current order, 0 indicates invalid, 1 - 101 indicate 0 - 100%
std::unique_ptr<OrderExtraInfo> extra; ///< Extra order info
TimetableTicks wait_time; ///< How long in ticks to wait at the destination.
TimetableTicks travel_time; ///< How long in ticks the journey to this destination should take.
uint16 max_speed; ///< How fast the vehicle may go on the way to the destination.
@@ -120,7 +120,7 @@ public:
Order() : flags(0), refit_cargo(CT_NO_REFIT), max_speed(UINT16_MAX) {}
~Order();
Order(uint32 packed);
Order(uint64 packed);
Order(const Order& other)
{
@@ -504,7 +504,7 @@ public:
void AssignOrder(const Order &other);
bool Equals(const Order &other) const;
uint32 Pack() const;
uint64 Pack() const;
uint16 MapOldOrder() const;
void ConvertFromOldSavegame();
};