diff --git a/src/newgrf_callbacks.h b/src/newgrf_callbacks.h index 05327ea881..20477bd3ea 100644 --- a/src/newgrf_callbacks.h +++ b/src/newgrf_callbacks.h @@ -12,6 +12,9 @@ * Names are formatted as CBID__ */ enum CallbackID { + /* Set when calling a randomizing trigger (almost undocumented) */ + CBID_RANDOM_TRIGGER = 0x01, + /* Powered wagons, if the result is lower as 0x40 then the wagon is powered * @todo : interpret the rest of the result, aka "visual effects" */ CBID_TRAIN_WAGON_POWER = 0x10, diff --git a/src/newgrf_engine.cpp b/src/newgrf_engine.cpp index 48d06b3295..ad7dc37303 100644 --- a/src/newgrf_engine.cpp +++ b/src/newgrf_engine.cpp @@ -1014,7 +1014,7 @@ static void DoTriggerVehicle(Vehicle *v, VehicleTrigger trigger, byte base_rando assert(v != NULL); NewVehicleResolver(&object, v->engine_type, v); - + object.callback = CBID_RANDOM_TRIGGER; object.trigger = trigger; group = Resolve(GetVehicleSpriteGroup(v->engine_type, v), &object);