# HG changeset patch # User hackykid # Date 1118021496 0 # Node ID 8ef1a310dd399c115f4477712e2052f74f29c482 # Parent bc48a30aba729d329d7379985633744a92f509e7 (svn r2415) - Fix: [newgrf] Powered Wagons - Don't assume an undefined callback will fail. diff -r bc48a30aba72 -r 8ef1a310dd39 engine.h --- a/engine.h Mon Jun 06 00:19:24 2005 +0000 +++ b/engine.h Mon Jun 06 01:31:36 2005 +0000 @@ -144,6 +144,7 @@ // bit positions for rvi->callbackmask, indicates which callbacks are used by an engine // (some callbacks are always used, and dont appear here) enum CallbackMask { + CBM_WAGON_POWER = 0, CBM_REFIT_CAP = 3, }; diff -r bc48a30aba72 -r 8ef1a310dd39 train_cmd.c --- a/train_cmd.c Mon Jun 06 00:19:24 2005 +0000 +++ b/train_cmd.c Mon Jun 06 01:31:36 2005 +0000 @@ -79,9 +79,10 @@ // check if its a powered wagon CLRBIT(u->u.rail.flags, VRF_POWEREDWAGON); if ((rvi_v->pow_wag_power != 0) && (rvi_u->flags & RVI_WAGON) && UsesWagonOverride(u)) { - uint16 callback; - - callback = GetCallBackResult(CBID_WAGON_POWER, u->engine_type, u); + uint16 callback = CALLBACK_FAILED; + + if (HASBIT(rvi_u->callbackmask, CBM_WAGON_POWER)) + callback = GetCallBackResult(CBID_WAGON_POWER, u->engine_type, u); if (callback == CALLBACK_FAILED) callback = rvi_u->visual_effect;