diff options
author | rubidium <rubidium@openttd.org> | 2009-10-06 21:06:26 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2009-10-06 21:06:26 +0000 |
commit | 31acc42b21105ced6bdc65bbb903cc71d57a99e3 (patch) | |
tree | a4ce45321da95a5c8d47c65391703faaead3c389 | |
parent | 1cab0dbc1d87da383efbc328087cce0c19b313bb (diff) | |
download | openttd-31acc42b21105ced6bdc65bbb903cc71d57a99e3.tar.xz |
(svn r17730) -Codechange: do not cache the source of a packet in the cargo list. It's only used for (some) GUI/NewGRF purposes so precalculating it costs more than calculating when it's actually used.
-rw-r--r-- | src/cargopacket.cpp | 2 | ||||
-rw-r--r-- | src/cargopacket.h | 3 |
2 files changed, 1 insertions, 4 deletions
diff --git a/src/cargopacket.cpp b/src/cargopacket.cpp index 6caceac98..134238990 100644 --- a/src/cargopacket.cpp +++ b/src/cargopacket.cpp @@ -217,7 +217,6 @@ void CargoList::InvalidateCache() this->empty = this->packets.empty(); this->count = 0; this->feeder_share = 0; - this->source = INVALID_STATION; this->days_in_transit = 0; if (this->empty) return; @@ -229,5 +228,4 @@ void CargoList::InvalidateCache() this->feeder_share += (*it)->feeder_share; } this->days_in_transit = dit / count; - this->source = (*packets.begin())->source; } diff --git a/src/cargopacket.h b/src/cargopacket.h index dd96ed7f0..c5d0bf822 100644 --- a/src/cargopacket.h +++ b/src/cargopacket.h @@ -166,7 +166,6 @@ private: bool empty; ///< Cache for whether this list is empty or not uint count; ///< Cache for the number of cargo entities Money feeder_share; ///< Cache for the feeder share - StationID source; ///< Cache for the source of the packet uint days_in_transit; ///< Cache for the number of days in transit public: @@ -225,7 +224,7 @@ public: */ FORCEINLINE StationID Source() const { - return this->source; + return this->Empty() ? INVALID_STATION : this->packets.front()->source;; } /** |