Add: NewGRF support for 16-in-16-out industries
This commit is contained in:
@@ -1062,6 +1062,7 @@ static uint DeliverGoodsToIndustry(const Station *st, CargoID cargo_type, uint n
|
||||
|
||||
uint amount = min(num_pieces, 0xFFFFU - ind->incoming_cargo_waiting[cargo_index]);
|
||||
ind->incoming_cargo_waiting[cargo_index] += amount;
|
||||
ind->last_cargo_accepted_at[cargo_index] = _date;
|
||||
num_pieces -= amount;
|
||||
accepted += amount;
|
||||
}
|
||||
@@ -1138,7 +1139,6 @@ static void TriggerIndustryProduction(Industry *i)
|
||||
uint16 callback = indspec->callback_mask;
|
||||
|
||||
i->was_cargo_delivered = true;
|
||||
i->last_cargo_accepted_at = _date;
|
||||
|
||||
if (HasBit(callback, CBM_IND_PRODUCTION_CARGO_ARRIVAL) || HasBit(callback, CBM_IND_PRODUCTION_256_TICKS)) {
|
||||
if (HasBit(callback, CBM_IND_PRODUCTION_CARGO_ARRIVAL)) {
|
||||
@@ -1151,7 +1151,7 @@ static void TriggerIndustryProduction(Industry *i)
|
||||
uint cargo_waiting = i->incoming_cargo_waiting[ci_in];
|
||||
if (cargo_waiting == 0) continue;
|
||||
|
||||
for (uint ci_out = 0; ci_out < lengthof(i->produced_cargo_waiting), ci_out++) {
|
||||
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);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user