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 | 0d32783f87b9a32fa8f0bf539514ed08faebbd2a (patch) | |
tree | 5372bc57b04717216dbc5a757c02510f0577042d /src/newgrf_engine.cpp | |
parent | 13c587bf39e1b668a24858e36549ea40e604b21b (diff) | |
download | openttd-0d32783f87b9a32fa8f0bf539514ed08faebbd2a.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; |