summaryrefslogtreecommitdiff
path: root/newgrf_callbacks.h
diff options
context:
space:
mode:
authorpeter1138 <peter1138@openttd.org>2006-02-05 19:46:20 +0000
committerpeter1138 <peter1138@openttd.org>2006-02-05 19:46:20 +0000
commitab771e4ff0582a4dbfd1757a4a00e468797992b0 (patch)
tree11bc72136b7e93b213607dc4a0fcb047dcde213a /newgrf_callbacks.h
parent208a4b4944525b9be53bacbabd11652ba777e4c7 (diff)
downloadopenttd-ab771e4ff0582a4dbfd1757a4a00e468797992b0.tar.xz
(svn r3557) - NewGRF: move callback enums to a new file as more than just engines will use them
Diffstat (limited to 'newgrf_callbacks.h')
-rw-r--r--newgrf_callbacks.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/newgrf_callbacks.h b/newgrf_callbacks.h
new file mode 100644
index 000000000..297312d0f
--- /dev/null
+++ b/newgrf_callbacks.h
@@ -0,0 +1,40 @@
+/* $Id$ */
+
+#ifndef NEWGRF_CALLBACKS_H
+#define NEWGRF_CALLBACKS_H
+
+/** @file newgrf_callbacks.h
+ */
+
+// This enum lists the implemented callbacks
+// Use as argument for the GetCallBackResult function (see comments there)
+enum CallbackID {
+ // Powered wagons, if the result is lower as 0x40 then the wagon is powered
+ // TODO: interpret the rest of the result, aka "visual effects"
+ CBID_WAGON_POWER = 0x10,
+
+ // Vehicle length, returns the amount of 1/8's the vehicle is shorter
+ // only for train vehicles
+ CBID_VEH_LENGTH = 0x11,
+
+ // Refit capacity, the passed vehicle needs to have its ->cargo_type set to
+ // the cargo we are refitting to, returns the new cargo capacity
+ CBID_REFIT_CAP = 0x15,
+
+ CBID_ARTIC_ENGINE = 0x16,
+};
+
+// bit positions for rvi->callbackmask, indicates which callbacks are used by an engine
+// (some callbacks are always used, and dont appear here)
+enum CallbackMask {
+ CBM_WAGON_POWER = 0,
+ CBM_VEH_LENGTH = 1,
+ CBM_REFIT_CAP = 3,
+ CBM_ARTIC_ENGINE = 4,
+};
+
+enum {
+ CALLBACK_FAILED = 0xFFFF
+};
+
+#endif /* NEWGRF_CALLBACKS_H */