Files
@ r3764:4a2ca18ddafd
Branch filter:
Location: cpp/openttd-patchpack/source/newgrf_engine.h - annotation
r3764:4a2ca18ddafd
2.4 KiB
text/x-c
(svn r4755) - Newstations: add a gui station tile drawing routine and use it in place of the existing one for waypoints.
r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r3157:d2dcc469a38b r3157:d2dcc469a38b r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r3693:dcd4e3968327 r3693:dcd4e3968327 r3695:57f0c764623f r3684:60188c992b3c r3695:57f0c764623f r3695:57f0c764623f r3695:57f0c764623f r3648:0fc59ada8e51 r3648:0fc59ada8e51 r3648:0fc59ada8e51 r3648:0fc59ada8e51 r3725:a177dd3b51a1 r3726:69512c0c5971 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r3604:ec750b079128 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r3695:57f0c764623f r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2971:ce60b5a9ca01 r2971:ce60b5a9ca01 r2971:ce60b5a9ca01 r2971:ce60b5a9ca01 r2962:16f2ef02fde1 | /* $Id$ */
#ifndef NEWGRF_ENGINE_H
#define NEWGRF_ENGINE_H
#include "direction.h"
/** @file newgrf_engine.h
*/
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];
VARDEF const CargoID _local_cargo_id_ctype[NUM_GLOBAL_CID];
VARDEF const uint32 cargo_classes[16];
void SetWagonOverrideSprites(EngineID engine, const struct SpriteGroup *group, byte *train_id, int trains);
void SetCustomEngineSprites(EngineID engine, byte cargo, const struct SpriteGroup *group);
void SetRotorOverrideSprites(EngineID engine, const struct SpriteGroup *group);
SpriteID GetCustomEngineSprite(EngineID engine, const Vehicle* v, Direction direction);
SpriteID GetRotorOverrideSprite(EngineID engine, const Vehicle* v);
#define GetCustomRotorSprite(v) GetRotorOverrideSprite(v->engine_type, v)
#define GetCustomRotorIcon(et) GetRotorOverrideSprite(et, NULL)
void SetEngineGRF(EngineID engine, uint32 grfid);
uint32 GetEngineGRFID(EngineID engine);
uint16 GetVehicleCallback(uint16 callback, uint32 param1, uint32 param2, EngineID engine, const Vehicle *v);
uint16 GetVehicleCallbackParent(uint16 callback, uint32 param1, uint32 param2, EngineID engine, const Vehicle *v, const Vehicle *parent);
bool UsesWagonOverride(const Vehicle *v);
#define GetCustomVehicleSprite(v, direction) GetCustomEngineSprite(v->engine_type, v, direction)
#define GetCustomVehicleIcon(et, direction) GetCustomEngineSprite(et, NULL, direction)
typedef enum VehicleTrigger {
VEHICLE_TRIGGER_NEW_CARGO = 1,
// Externally triggered only for the first vehicle in chain
VEHICLE_TRIGGER_DEPOT = 2,
// Externally triggered only for the first vehicle in chain, only if whole chain is empty
VEHICLE_TRIGGER_EMPTY = 4,
// Not triggered externally (called for the whole chain if we got NEW_CARGO)
VEHICLE_TRIGGER_ANY_NEW_CARGO = 8,
} VehicleTrigger;
void TriggerVehicle(Vehicle *veh, VehicleTrigger trigger);
void SetCustomEngineName(EngineID engine, StringID name);
StringID GetCustomEngineName(EngineID engine);
void UnloadWagonOverrides(void);
void UnloadRotorOverrideSprites(void);
void UnloadCustomEngineSprites(void);
void UnloadCustomEngineNames(void);
void ResetEngineListOrder(void);
EngineID GetRailVehAtPosition(EngineID pos);
void AlterRailVehListOrder(EngineID engine, EngineID target);
#endif /* NEWGRF_ENGINE_H */
|