summaryrefslogtreecommitdiff
path: root/src/cargomonitor.cpp
diff options
context:
space:
mode:
authorSamu <dj_samu@hotmail.com>2019-02-04 00:44:50 +0000
committerMichael Lutz <michi@icosahedron.de>2019-03-02 18:14:45 +0100
commit780593ae6010adb3e80620cfcac99934330a14ae (patch)
tree659bc7ae3cd5df578654b79eb936ade98ba03e8f /src/cargomonitor.cpp
parentcbaf52fbe1aaf7fc34cd585739b4f9fc10af1ad8 (diff)
downloadopenttd-780593ae6010adb3e80620cfcac99934330a14ae.tar.xz
Fix #6633: Cargo monitor industry delivery now accounts for which IndustryID the cargo was delivered to
Diffstat (limited to 'src/cargomonitor.cpp')
-rw-r--r--src/cargomonitor.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/cargomonitor.cpp b/src/cargomonitor.cpp
index b1d52d6b1..40a029ac5 100644
--- a/src/cargomonitor.cpp
+++ b/src/cargomonitor.cpp
@@ -117,8 +117,9 @@ int32 GetPickupAmount(CargoMonitorID monitor, bool keep_monitoring)
* @param src_type type of \a src.
* @param src index of source.
* @param st station where the cargo is delivered to.
+ * @param dest industry index where the cargo is delivered to.
*/
-void AddCargoDelivery(CargoID cargo_type, CompanyID company, uint32 amount, SourceType src_type, SourceID src, const Station *st)
+void AddCargoDelivery(CargoID cargo_type, CompanyID company, uint32 amount, SourceType src_type, SourceID src, const Station *st, IndustryID dest)
{
if (amount == 0) return;
@@ -151,6 +152,7 @@ void AddCargoDelivery(CargoID cargo_type, CompanyID company, uint32 amount, Sour
/* Industry delivery. */
for (const Industry * const *ip = st->industries_near.Begin(); ip != st->industries_near.End(); ip++) {
+ if ((*ip)->index != dest) continue;
CargoMonitorID num = EncodeCargoIndustryMonitor(company, cargo_type, (*ip)->index);
CargoMonitorMap::iterator iter = _cargo_deliveries.find(num);
if (iter != _cargo_deliveries.end()) iter->second += amount;