mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r14830) -Fix [FS#2495]: overflow of number of orders per vehicle (based on patch by Swallow)
This commit is contained in:
parent
9658c83a33
commit
e557c88667
|
@ -567,6 +567,7 @@ CommandCost CmdInsertOrder(TileIndex tile, uint32 flags, uint32 p1, uint32 p2, c
|
|||
|
||||
if (sel_ord > v->GetNumOrders()) return CMD_ERROR;
|
||||
|
||||
if (v->GetNumOrders() >= MAX_VEH_ORDER_ID) return_cmd_error(STR_8832_TOO_MANY_ORDERS);
|
||||
if (!Order::CanAllocateItem()) return_cmd_error(STR_8831_NO_MORE_SPACE_FOR_ORDERS);
|
||||
if (v->orders.list == NULL && !OrderList::CanAllocateItem()) return_cmd_error(STR_8831_NO_MORE_SPACE_FOR_ORDERS);
|
||||
|
||||
|
|
|
@ -12,10 +12,12 @@ typedef uint16 OrderID;
|
|||
typedef uint16 OrderListID;
|
||||
typedef uint16 DestinationID;
|
||||
|
||||
enum {
|
||||
INVALID_VEH_ORDER_ID = 0xFF,
|
||||
};
|
||||
/** Invalid vehicle order index (sentinel) */
|
||||
static const VehicleOrderID INVALID_VEH_ORDER_ID = 0xFF;
|
||||
/** Last valid VehicleOrderID. */
|
||||
static const VehicleOrderID MAX_VEH_ORDER_ID = INVALID_VEH_ORDER_ID - 1;
|
||||
|
||||
/** Invalid order (sentinel) */
|
||||
static const OrderID INVALID_ORDER = 0xFFFF;
|
||||
|
||||
/* Order types */
|
||||
|
|
Loading…
Reference in New Issue