From 5bda07c10ca4ad1e75dd632a1829a422e862f66a Mon Sep 17 00:00:00 2001 From: frosch Date: Sun, 4 Aug 2013 14:02:27 +0000 Subject: (svn r25648) -Change [FS#5669]: [NewGRF] Invalidate vehicle recolour palette during (un)loading. --- src/vehicle.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/vehicle.cpp') diff --git a/src/vehicle.cpp b/src/vehicle.cpp index de3e1c02c..990eaf303 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -851,11 +851,12 @@ static void RunVehicleDayProc() uint16 callback = GetVehicleCallback(CBID_VEHICLE_32DAY_CALLBACK, 0, 0, v->engine_type, v); if (callback != CALLBACK_FAILED) { if (HasBit(callback, 0)) { - /* After a vehicle trigger, the graphics and properties of the vehicle could change. */ TriggerVehicle(v, VEHICLE_TRIGGER_CALLBACK_32); // Trigger vehicle trigger 10 - v->MarkDirty(); } - if (HasBit(callback, 1)) v->colourmap = PAL_NONE; + + /* After a vehicle trigger, the graphics and properties of the vehicle could change. + * Note: MarkDirty also invalidates the palette, which is the meaning of bit 1. So, nothing special there. */ + if (callback != 0) v->MarkDirty(); if (callback & ~3) ErrorUnknownCallbackResult(v->GetGRFID(), CBID_VEHICLE_32DAY_CALLBACK, callback); } -- cgit v1.2.3-54-g00ecf