(svn r10443) -Fix: randomizing triggers should be called with callback type set to 1
--- a/src/newgrf_callbacks.h Thu Jul 05 05:41:56 2007 +0000
+++ b/src/newgrf_callbacks.h Thu Jul 05 06:35:09 2007 +0000
@@ -12,6 +12,9 @@
* Names are formatted as CBID_<CLASS>_<CALLBACK>
*/
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,
--- a/src/newgrf_engine.cpp Thu Jul 05 05:41:56 2007 +0000
+++ b/src/newgrf_engine.cpp Thu Jul 05 06:35:09 2007 +0000
@@ -1014,7 +1014,7 @@
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);