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
commit0d32783f87b9a32fa8f0bf539514ed08faebbd2a (patch)
tree5372bc57b04717216dbc5a757c02510f0577042d /src/newgrf_engine.cpp
parent13c587bf39e1b668a24858e36549ea40e604b21b (diff)
downloadopenttd-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.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;