# HG changeset patch # User peter1138 # Date 2006-02-05 19:46:20 # Node ID cf402ad65f641b68d3b49df56a0e9e6db99cebd8 # Parent 799e4c11fa26410a6a373a1753915927ddacef9c (svn r3557) - NewGRF: move callback enums to a new file as more than just engines will use them diff --git a/newgrf_callbacks.h b/newgrf_callbacks.h new file mode 100644 --- /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 */ diff --git a/newgrf_engine.c b/newgrf_engine.c --- a/newgrf_engine.c +++ b/newgrf_engine.c @@ -7,6 +7,7 @@ #include "string.h" #include "strings.h" #include "engine.h" +#include "newgrf_callbacks.h" #include "newgrf_engine.h" #include "sprite.h" #include "variables.h" diff --git a/newgrf_engine.h b/newgrf_engine.h --- a/newgrf_engine.h +++ b/newgrf_engine.h @@ -6,37 +6,6 @@ /** @file newgrf_engine.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 -}; - VARDEF const uint32 _default_refitmasks[NUM_VEHICLE_TYPES]; VARDEF const CargoID _global_cargo_id[NUM_LANDSCAPE][NUM_CARGO]; VARDEF const uint32 _landscape_global_cargo_mask[NUM_LANDSCAPE]; diff --git a/train_cmd.c b/train_cmd.c --- a/train_cmd.c +++ b/train_cmd.c @@ -22,6 +22,7 @@ #include "waypoint.h" #include "vehicle_gui.h" #include "train.h" +#include "newgrf_callbacks.h" #include "newgrf_engine.h" static bool TrainCheckIfLineEnds(Vehicle *v);