From 41cf2fa69b8ff60f1b1633b68f47434075d00d75 Mon Sep 17 00:00:00 2001 From: peter1138 Date: Wed, 18 Apr 2007 18:37:40 +0000 Subject: (svn r9671) -Codechange: Implement NewGRF callback 36, which allows changing of various properties which were previously static. Vehicle max speed and train power/te/running costs are adjustable. --- src/newgrf_engine.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/newgrf_engine.cpp') diff --git a/src/newgrf_engine.cpp b/src/newgrf_engine.cpp index a75107f66..14802dfd6 100644 --- a/src/newgrf_engine.cpp +++ b/src/newgrf_engine.cpp @@ -935,6 +935,17 @@ uint16 GetVehicleCallbackParent(uint16 callback, uint32 param1, uint32 param2, E return group->g.callback.result; } + +/* Callback 36 handler */ +uint GetVehicleProperty(const Vehicle *v, uint8 property, uint orig_value) +{ + uint16 callback = GetVehicleCallback(CBID_VEHICLE_MODIFY_PROPERTY, property, 0, v->engine_type, v); + if (callback != CALLBACK_FAILED) return callback; + + return orig_value; +} + + static void DoTriggerVehicle(Vehicle *v, VehicleTrigger trigger, byte base_random_bits, bool first) { const SpriteGroup *group; -- cgit v1.2.3-70-g09d2