mirror of https://github.com/OpenTTD/OpenTTD
(svn r9029) -Fix (r7326): Only call the gradual loading amount callback if the bit for it is set in the vehicle's callbackmask.
parent
b5f418d9f1
commit
60703d3691
|
@ -1368,7 +1368,7 @@ int LoadUnloadVehicle(Vehicle *v, bool just_arrived)
|
||||||
for (; v != NULL; v = v->next) {
|
for (; v != NULL; v = v->next) {
|
||||||
GoodsEntry* ge;
|
GoodsEntry* ge;
|
||||||
load_amount = EngInfo(v->engine_type)->load_amount;
|
load_amount = EngInfo(v->engine_type)->load_amount;
|
||||||
if (_patches.gradual_loading) {
|
if (_patches.gradual_loading && HASBIT(EngInfo(v->engine_type)->callbackmask, CBM_LOAD_AMOUNT)) {
|
||||||
uint16 cb_load_amount = GetVehicleCallback(CBID_VEHICLE_LOAD_AMOUNT, 0, 0, v->engine_type, v);
|
uint16 cb_load_amount = GetVehicleCallback(CBID_VEHICLE_LOAD_AMOUNT, 0, 0, v->engine_type, v);
|
||||||
if (cb_load_amount != CALLBACK_FAILED) load_amount = cb_load_amount & 0xFF;
|
if (cb_load_amount != CALLBACK_FAILED) load_amount = cb_load_amount & 0xFF;
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,8 +19,8 @@ enum CallbackID {
|
||||||
// only for train vehicles
|
// only for train vehicles
|
||||||
CBID_TRAIN_VEHICLE_LENGTH = 0x11,
|
CBID_TRAIN_VEHICLE_LENGTH = 0x11,
|
||||||
|
|
||||||
/* Called to determine the amount of cargo to load per unit of time when
|
/* Called (if appropriate bit in callback mask is set) to determine the
|
||||||
* using gradual loading. */
|
* amount of cargo to load per unit of time when using gradual loading. */
|
||||||
CBID_VEHICLE_LOAD_AMOUNT = 0x12,
|
CBID_VEHICLE_LOAD_AMOUNT = 0x12,
|
||||||
|
|
||||||
/* Called (if appropriate bit in callback mask is set) to determine if a
|
/* Called (if appropriate bit in callback mask is set) to determine if a
|
||||||
|
|
Loading…
Reference in New Issue