From 76b29862c05f0c0cb118b72c80e6e8c8ceb084cf Mon Sep 17 00:00:00 2001 From: peter1138 Date: Wed, 31 May 2006 18:00:08 +0000 Subject: [PATCH] (svn r5061) - NewGRF: always use visual effect callback if it is defined, not just for powered wagons. --- train_cmd.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/train_cmd.c b/train_cmd.c index 270b3c2333..13f87f8748 100644 --- a/train_cmd.c +++ b/train_cmd.c @@ -167,14 +167,15 @@ void TrainConsistChanged(Vehicle* v) if (!IsArticulatedPart(u)) { // check if its a powered wagon CLRBIT(u->u.rail.flags, VRF_POWEREDWAGON); + + /* Check powered wagon / visual effect callback */ + if (HASBIT(rvi_u->callbackmask, CBM_WAGON_POWER)) { + uint16 callback = GetVehicleCallback(CBID_TRAIN_WAGON_POWER, 0, 0, u->engine_type, u); + + if (callback != CALLBACK_FAILED) u->u.rail.cached_vis_effect = callback; + } + if ((rvi_v->pow_wag_power != 0) && (rvi_u->flags & RVI_WAGON) && UsesWagonOverride(u)) { - if (HASBIT(rvi_u->callbackmask, CBM_WAGON_POWER)) { - uint16 callback = GetVehicleCallback(CBID_TRAIN_WAGON_POWER, 0, 0, u->engine_type, u); - - if (callback != CALLBACK_FAILED) - u->u.rail.cached_vis_effect = callback; - } - if (u->u.rail.cached_vis_effect < 0x40) { /* wagon is powered */ SETBIT(u->u.rail.flags, VRF_POWEREDWAGON); // cache 'powered' status