src/cargopacket.cpp
changeset 9081 38b6cc9fd473
parent 8847 426dd2d582e7
child 9605 5a1897abd925
--- a/src/cargopacket.cpp	Sun May 04 09:39:16 2008 +0000
+++ b/src/cargopacket.cpp	Sun May 04 10:05:35 2008 +0000
@@ -273,3 +273,15 @@
 	days_in_transit = dit / count;
 	source = (*packets.begin())->source;
 }
+
+/** Restore an array of cargo packets  from a backup
+ * The end of the row should be marked by an invalid packet
+ */
+void CargoPacket::RestoreBackup() const
+{
+	for (const CargoPacket *cargo = this; cargo->IsValid(); cargo++) {
+		CargoPacket *dest = GetCargoPacket(cargo->index);
+		assert(!dest->IsValid());
+		memcpy(dest, cargo, sizeof(CargoPacket));
+	}
+}