(svn r2415) - Fix: [newgrf] Powered Wagons - Don't assume an undefined callback will fail.
--- 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,
};
--- 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;