--- a/src/order.h Fri Sep 28 19:24:52 2007 +0000
+++ b/src/order.h Fri Sep 28 21:15:45 2007 +0000
@@ -116,18 +116,18 @@
void FreeChain();
};
-#define MAX_BACKUP_ORDER_COUNT 40
+struct BackuppedOrders {
+ BackuppedOrders() : order(NULL) { }
-struct BackuppedOrders {
VehicleID clone;
VehicleOrderID orderindex;
- Order order[MAX_BACKUP_ORDER_COUNT + 1];
+ Order *order;
uint16 service_interval;
char name[32];
};
VARDEF TileIndex _backup_orders_tile;
-VARDEF BackuppedOrders _backup_orders_data[1];
+VARDEF BackuppedOrders _backup_orders_data;
static inline VehicleOrderID GetMaxOrderIndex()
{
@@ -200,8 +200,8 @@
}
/* Functions */
-void BackupVehicleOrders(const Vehicle *v, BackuppedOrders *order);
-void RestoreVehicleOrders(const Vehicle* v, const BackuppedOrders* order);
+void BackupVehicleOrders(const Vehicle *v, BackuppedOrders *order = &_backup_orders_data);
+void RestoreVehicleOrders(const Vehicle *v, const BackuppedOrders *order = &_backup_orders_data);
void RemoveOrderFromAllVehicles(OrderType type, DestinationID destination);
void InvalidateVehicleOrder(const Vehicle *v);
bool VehicleHasDepotOrders(const Vehicle *v);