summaryrefslogtreecommitdiff
path: root/src/vehicle_base.h
diff options
context:
space:
mode:
authorbjarni <bjarni@openttd.org>2008-05-04 10:05:35 +0000
committerbjarni <bjarni@openttd.org>2008-05-04 10:05:35 +0000
commit63fea0790b405ee5c48c1b48c51d93dc4639e8d3 (patch)
treec16aecefc1241e86133980055d11b5c8aadaa468 /src/vehicle_base.h
parentb35100e2a9b109581086a078f9adec0addd7284f (diff)
downloadopenttd-63fea0790b405ee5c48c1b48c51d93dc4639e8d3.tar.xz
(svn r12940) -Fix [FS#1974](r12913): [autoreplace] a vehicle backup should include the cargo packets in the vehicle as well
Diffstat (limited to 'src/vehicle_base.h')
-rw-r--r--src/vehicle_base.h15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/vehicle_base.h b/src/vehicle_base.h
index d9dabdf58..83b1ee2c1 100644
--- a/src/vehicle_base.h
+++ b/src/vehicle_base.h
@@ -522,9 +522,6 @@ public:
* @return the cost of the depot action.
*/
CommandCost SendToDepot(uint32 flags, DepotCommand command);
-
- Vehicle* BackupVehicle() const;
- Vehicle* RestoreBackupVehicle();
};
/**
@@ -659,15 +656,19 @@ private:
Vehicle *vehicles;
BackuppedOrders *orders;
PlayerMoneyBackup *economy;
+ CargoPacket *cargo_packets;
+
+ void BackupVehicle(Vehicle *v);
+ Vehicle* RestoreBackupVehicle(Vehicle *v, Player *p);
public:
- BackuppedVehicle(bool include_orders) : vehicles(NULL), economy(NULL) {
+ BackuppedVehicle(bool include_orders) : vehicles(NULL), economy(NULL), cargo_packets(NULL) {
orders = include_orders ? new BackuppedOrders() : NULL;
}
- ~BackuppedVehicle() { free(vehicles); delete orders; delete economy; }
+ ~BackuppedVehicle() { free(vehicles); delete orders; delete economy; free(cargo_packets); }
- void Backup(const Vehicle *v, Player *p = NULL);
- Vehicle *Restore(Vehicle *v);
+ void Backup(Vehicle *v, Player *p = NULL);
+ Vehicle *Restore(Vehicle *v, Player *p);
bool ContainsBackup() { return vehicles != NULL; }
};