(svn r9029) -Fix (r7326): Only call the gradual loading amount callback if the bit for it is set in the vehicle's callbackmask.

This commit is contained in:
maedhros 2007-03-06 19:12:56 +00:00
parent b5f418d9f1
commit 60703d3691
2 changed files with 3 additions and 3 deletions

View File

@ -1368,7 +1368,7 @@ int LoadUnloadVehicle(Vehicle *v, bool just_arrived)
for (; v != NULL; v = v->next) {
GoodsEntry* ge;
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);
if (cb_load_amount != CALLBACK_FAILED) load_amount = cb_load_amount & 0xFF;
}

View File

@ -19,8 +19,8 @@ enum CallbackID {
// only for train vehicles
CBID_TRAIN_VEHICLE_LENGTH = 0x11,
/* Called to determine the amount of cargo to load per unit of time when
* using gradual loading. */
/* Called (if appropriate bit in callback mask is set) to determine the
* amount of cargo to load per unit of time when using gradual loading. */
CBID_VEHICLE_LOAD_AMOUNT = 0x12,
/* Called (if appropriate bit in callback mask is set) to determine if a