summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2009-10-06 23:01:35 +0000
committerrubidium <rubidium@openttd.org>2009-10-06 23:01:35 +0000
commit446363aac4c791cf39254c3da7f1bc34e2aebf57 (patch)
treeb3dda29c6e4ef0474fe3754ca641d7dccc37f11f /src
parent9b045ac7b2dc4749b3eb511f4a8ec2dc53ba324a (diff)
downloadopenttd-446363aac4c791cf39254c3da7f1bc34e2aebf57.tar.xz
(svn r17734) -Fix (r17732): broke the assumption that 'this->packets == this', which broke loading old savegames. Now remove the (need for the) hack that needed that assumption.
Diffstat (limited to 'src')
-rw-r--r--src/cargopacket.h6
-rw-r--r--src/economy_base.h1
-rw-r--r--src/saveload/vehicle_sl.cpp2
-rw-r--r--src/station_base.h1
4 files changed, 6 insertions, 4 deletions
diff --git a/src/cargopacket.h b/src/cargopacket.h
index b911e8d7c..bbad42bff 100644
--- a/src/cargopacket.h
+++ b/src/cargopacket.h
@@ -17,6 +17,7 @@
#include "tile_type.h"
#include "station_type.h"
#include "cargo_type.h"
+#include "vehicle_type.h"
#include <list>
/** Unique identifier for a single cargo packet. */
@@ -143,6 +144,7 @@ public:
#define FOR_ALL_CARGOPACKETS(var) FOR_ALL_CARGOPACKETS_FROM(var, 0)
extern const struct SaveLoad *GetGoodsDesc();
+extern const SaveLoad *GetVehicleDescription(VehicleType vt);
/**
* Simple collection class for a list of cargo packets
@@ -168,8 +170,10 @@ private:
List packets; ///< The cargo packets in this list
public:
- /** The GoodsEntry has a CargoList. */
+ /** The stations, via GoodsEntry, have a CargoList. */
friend const struct SaveLoad *GetGoodsDesc();
+ /** The vehicles have a cargo list too. */
+ friend const SaveLoad *GetVehicleDescription(VehicleType vt);
/** Create the cargo list */
FORCEINLINE CargoList() { this->InvalidateCache(); }
diff --git a/src/economy_base.h b/src/economy_base.h
index 7d447b23c..5d7124c1b 100644
--- a/src/economy_base.h
+++ b/src/economy_base.h
@@ -13,7 +13,6 @@
#define ECONOMY_BASE_H
#include "cargopacket.h"
-#include "vehicle_type.h"
#include "company_type.h"
/** Type of pool to store cargo payments in. */
diff --git a/src/saveload/vehicle_sl.cpp b/src/saveload/vehicle_sl.cpp
index fbca9332f..f49d4c385 100644
--- a/src/saveload/vehicle_sl.cpp
+++ b/src/saveload/vehicle_sl.cpp
@@ -447,7 +447,7 @@ const SaveLoad *GetVehicleDescription(VehicleType vt)
SLEG_CONDVAR( _cargo_source_xy, SLE_UINT32, 44, 67),
SLE_VAR(Vehicle, cargo_cap, SLE_UINT16),
SLEG_CONDVAR( _cargo_count, SLE_UINT16, 0, 67),
- SLE_CONDLST(Vehicle, cargo, REF_CARGO_PACKET, 68, SL_MAX_VERSION),
+ SLE_CONDLST(Vehicle, cargo.packets, REF_CARGO_PACKET, 68, SL_MAX_VERSION),
SLE_VAR(Vehicle, day_counter, SLE_UINT8),
SLE_VAR(Vehicle, tick_counter, SLE_UINT8),
diff --git a/src/station_base.h b/src/station_base.h
index ce87b2cf6..5c047f03f 100644
--- a/src/station_base.h
+++ b/src/station_base.h
@@ -16,7 +16,6 @@
#include "airport.h"
#include "cargopacket.h"
#include "cargo_type.h"
-#include "vehicle_type.h"
#include "industry_type.h"
#include "core/geometry_type.hpp"
#include <list>