src/order.h
changeset 8149 eb78fb69096f
parent 7992 8ac3fcd8d570
child 8609 8c0c3e9dd6a0
--- 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);