summaryrefslogtreecommitdiff
path: root/newgrf_callbacks.h
diff options
context:
space:
mode:
Diffstat (limited to 'newgrf_callbacks.h')
-rw-r--r--newgrf_callbacks.h37
1 files changed, 24 insertions, 13 deletions
diff --git a/newgrf_callbacks.h b/newgrf_callbacks.h
index 297312d0f..3439d51cf 100644
--- a/newgrf_callbacks.h
+++ b/newgrf_callbacks.h
@@ -6,33 +6,44 @@
/** @file newgrf_callbacks.h
*/
-// This enum lists the implemented callbacks
-// Use as argument for the GetCallBackResult function (see comments there)
+/**
+ * List of implemented NewGRF callbacks.
+ * Names are formatted as CBID_<CLASS>_<CALLBACK>
+ */
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,
+ CBID_TRAIN_WAGON_POWER = 0x10,
// Vehicle length, returns the amount of 1/8's the vehicle is shorter
// only for train vehicles
- CBID_VEH_LENGTH = 0x11,
+ CBID_TRAIN_VEHICLE_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_VEHICLE_REFIT_CAPACITY = 0x15,
- CBID_ARTIC_ENGINE = 0x16,
+ CBID_TRAIN_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,
+/**
+ * Callback masks for vehicles, indicates which callbacks are used by a vehicle.
+ * Some callbacks are always used and don't have a mask.
+ */
+enum VehicleCallbackMask {
+ CBM_WAGON_POWER = 0, ///< Powered wagons (trains only)
+ CBM_VEHICLE_LENGTH = 1, ///< Vehicle length (trains only)
+ CBM_LOAD_AMOUNT = 2, ///< Load amount
+ CBM_REFIT_CAPACITY = 3, ///< Cargo capacity after refit
+ CBM_ARTIC_ENGINE = 4, ///< Add articulated engines (trains only)
+ CBM_CARGO_SUFFIX = 5, ///< Show suffix after cargo name
+ CBM_COLOUR_REMAP = 6, ///< Change colour mapping of vehicle
+ CBM_SOUND_EFFECT = 7, ///< Vehicle uses custom sound effects
};
+/**
+ * Result of a failed callback.
+ */
enum {
CALLBACK_FAILED = 0xFFFF
};