(svn r6145) -Codechange: added OrderID to indicate Order indexes out of the pool

This commit is contained in:
truelight 2006-08-26 17:16:51 +00:00
parent 39ae8d29e1
commit c6f4f95438
3 changed files with 4 additions and 3 deletions

View File

@ -41,6 +41,7 @@ typedef uint16 TownID;
typedef uint16 IndustryID;
typedef uint16 DepotID;
typedef uint16 WaypointID;
typedef uint16 OrderID;
typedef byte PlayerID;
typedef byte VehicleOrderID; ///< The index of an order within its current vehicle (not pool related)
typedef byte CargoID;

View File

@ -82,7 +82,7 @@ typedef struct Order {
struct Order *next; ///< Pointer to next order. If NULL, end of list
uint16 index; ///< Index of the order, is not saved or anything, just for reference
OrderID index; ///< Index of the order, is not saved or anything, just for reference
} Order;
#define MAX_BACKUP_ORDER_COUNT 40
@ -103,7 +103,7 @@ extern MemoryPool _order_pool;
/**
* Get the pointer to the order with index 'index'
*/
static inline Order *GetOrder(uint index)
static inline Order *GetOrder(OrderID index)
{
return (Order*)GetItemFromPool(&_order_pool, index);
}

View File

@ -118,7 +118,7 @@ static Order *AllocateOrder(void)
* TODO - This is just a temporary stage, this will be removed. */
for (order = GetOrder(0); order != NULL; order = (order->index + 1 < GetOrderPoolSize()) ? GetOrder(order->index + 1) : NULL) {
if (!IsValidOrder(order)) {
uint index = order->index;
OrderID index = order->index;
memset(order, 0, sizeof(*order));
order->index = index;