summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2009-10-06 21:06:26 +0000
committerrubidium <rubidium@openttd.org>2009-10-06 21:06:26 +0000
commit31acc42b21105ced6bdc65bbb903cc71d57a99e3 (patch)
treea4ce45321da95a5c8d47c65391703faaead3c389
parent1cab0dbc1d87da383efbc328087cce0c19b313bb (diff)
downloadopenttd-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.cpp2
-rw-r--r--src/cargopacket.h3
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;;
}
/**