diff options
author | peter1138 <peter1138@openttd.org> | 2007-04-18 18:37:40 +0000 |
---|---|---|
committer | peter1138 <peter1138@openttd.org> | 2007-04-18 18:37:40 +0000 |
commit | 41cf2fa69b8ff60f1b1633b68f47434075d00d75 (patch) | |
tree | 5372bc57b04717216dbc5a757c02510f0577042d /src/newgrf_engine.cpp | |
parent | aa284fd531a9beee460c6c04a51d3738c2e3a19e (diff) | |
download | openttd-41cf2fa69b8ff60f1b1633b68f47434075d00d75.tar.xz |
(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.
Diffstat (limited to 'src/newgrf_engine.cpp')
-rw-r--r-- | src/newgrf_engine.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
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; |