diff options
author | Niels Martin Hansen <nielsm@indvikleren.dk> | 2018-07-25 19:20:17 +0200 |
---|---|---|
committer | Niels Martin Hansen <nielsm@indvikleren.dk> | 2018-11-03 21:43:54 +0100 |
commit | 8859381d301a60169e167431c97cb084b7730ead (patch) | |
tree | 3daf7557f10f114e31cf88a5d463acf28a68be62 /src/economy.cpp | |
parent | 32b9ee7063b79ae6621762db2a006d6ed267502f (diff) | |
download | openttd-8859381d301a60169e167431c97cb084b7730ead.tar.xz |
Add: Industries can produce and accept up to 16 different cargoes
Diffstat (limited to 'src/economy.cpp')
-rw-r--r-- | src/economy.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/economy.cpp b/src/economy.cpp index 98989971c..b42dc3301 100644 --- a/src/economy.cpp +++ b/src/economy.cpp @@ -1147,14 +1147,15 @@ static void TriggerIndustryProduction(Industry *i) SetWindowDirty(WC_INDUSTRY_VIEW, i->index); } } else { - for (uint cargo_index = 0; cargo_index < lengthof(i->incoming_cargo_waiting); cargo_index++) { - uint cargo_waiting = i->incoming_cargo_waiting[cargo_index]; + for (uint ci_in = 0; ci_in < lengthof(i->incoming_cargo_waiting); ci_in++) { + uint cargo_waiting = i->incoming_cargo_waiting[ci_in]; if (cargo_waiting == 0) continue; - i->produced_cargo_waiting[0] = min(i->produced_cargo_waiting[0] + (cargo_waiting * indspec->input_cargo_multiplier[cargo_index][0] / 256), 0xFFFF); - i->produced_cargo_waiting[1] = min(i->produced_cargo_waiting[1] + (cargo_waiting * indspec->input_cargo_multiplier[cargo_index][1] / 256), 0xFFFF); + for (uint ci_out = 0; ci_out < lengthof(i->produced_cargo_waiting), ci_out++) { + i->produced_cargo_waiting[ci_out] = min(i->produced_cargo_waiting[ci_out] + (cargo_waiting * indspec->input_cargo_multiplier[ci_in][ci_out] / 256), 0xFFFF); + } - i->incoming_cargo_waiting[cargo_index] = 0; + i->incoming_cargo_waiting[ci_in] = 0; } } |