summaryrefslogtreecommitdiff
path: root/src/newgrf_engine.cpp
diff options
context:
space:
mode:
authorpeter1138 <peter1138@openttd.org>2007-04-18 18:37:40 +0000
committerpeter1138 <peter1138@openttd.org>2007-04-18 18:37:40 +0000
commit41cf2fa69b8ff60f1b1633b68f47434075d00d75 (patch)
tree5372bc57b04717216dbc5a757c02510f0577042d /src/newgrf_engine.cpp
parentaa284fd531a9beee460c6c04a51d3738c2e3a19e (diff)
downloadopenttd-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.cpp11
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;