diff options
Diffstat (limited to 'src/cargomonitor.cpp')
-rw-r--r-- | src/cargomonitor.cpp | 4 |
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; |