(svn r2415) - Fix: [newgrf] Powered Wagons - Don't assume an undefined callback will fail.
authorhackykid
Mon, 06 Jun 2005 01:31:36 +0000
changeset 1909 8ef1a310dd39
parent 1908 bc48a30aba72
child 1910 daf47f28cfb5
(svn r2415) - Fix: [newgrf] Powered Wagons - Don't assume an undefined callback will fail.
engine.h
train_cmd.c
--- 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;