summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpeter1138 <peter1138@openttd.org>2007-07-05 06:35:09 +0000
committerpeter1138 <peter1138@openttd.org>2007-07-05 06:35:09 +0000
commitb5079071762021ebfbb66a14eaa598e48d6a3234 (patch)
treeb130f112f755ad0f491a84294ff05f67066a4825
parent86c14c239fe10062fa83f4ee5902dfec510cd1ff (diff)
downloadopenttd-b5079071762021ebfbb66a14eaa598e48d6a3234.tar.xz
(svn r10443) -Fix: randomizing triggers should be called with callback type set to 1
-rw-r--r--src/newgrf_callbacks.h3
-rw-r--r--src/newgrf_engine.cpp2
2 files changed, 4 insertions, 1 deletions
diff --git a/src/newgrf_callbacks.h b/src/newgrf_callbacks.h
index 05327ea88..20477bd3e 100644
--- a/src/newgrf_callbacks.h
+++ b/src/newgrf_callbacks.h
@@ -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,
diff --git a/src/newgrf_engine.cpp b/src/newgrf_engine.cpp
index 48d06b329..ad7dc3730 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);