Files
@ r4381:c965d1f3016a
Branch filter:
Location: cpp/openttd-patchpack/source/newgrf_engine.h - annotation
r4381:c965d1f3016a
2.7 KiB
text/x-c
(svn r6131) -Codechange : Complete all missing _ttdpatch_flags entries
-Feature : both unifiedmaglevmode are now set.
Maglev and monorail are not allowed to run on each other tracks and will not be.
Setting those flags will allow grfsets as the Norvegian one to be loaded
-Codechange : link the TTDPatch's irregularstations with OTTD's nonuniform_stations
-Codechange : Reformat the whole array (thanks Rubidium, it sure looks better now)
-Feature : both unifiedmaglevmode are now set.
Maglev and monorail are not allowed to run on each other tracks and will not be.
Setting those flags will allow grfsets as the Norvegian one to be loaded
-Codechange : link the TTDPatch's irregularstations with OTTD's nonuniform_stations
-Codechange : Reformat the whole array (thanks Rubidium, it sure looks better now)
r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r3157:d2dcc469a38b r3866:89c9bb7440d9 r3157:d2dcc469a38b r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r3785:d81705c37ce0 r3845:e0b12600a260 r3785:d81705c37ce0 r2962:16f2ef02fde1 r3866:89c9bb7440d9 r3866:89c9bb7440d9 r3866:89c9bb7440d9 r3866:89c9bb7440d9 r2962:16f2ef02fde1 r3693:dcd4e3968327 r3693:dcd4e3968327 r3695:57f0c764623f r3684:60188c992b3c r4056:8da925c67ab6 r4056:8da925c67ab6 r4056:8da925c67ab6 r3648:0fc59ada8e51 r3924:2a4c88f27202 r3924:2a4c88f27202 r3924:2a4c88f27202 r3924:2a4c88f27202 r3924:2a4c88f27202 r3924:2a4c88f27202 r3648:0fc59ada8e51 r3648:0fc59ada8e51 r3725:a177dd3b51a1 r3726:69512c0c5971 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r4344:bff007ae1fd1 r2962:16f2ef02fde1 r4344:bff007ae1fd1 r2962:16f2ef02fde1 r4344:bff007ae1fd1 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"
#include "newgrf_cargo.h"
/** @file newgrf_engine.h
*/
extern int _traininfo_vehicle_pitch;
extern int _traininfo_vehicle_width;
VARDEF const uint32 _default_refitmasks[NUM_VEHICLE_TYPES];
extern const CargoID _global_cargo_id[NUM_LANDSCAPE][NUM_CARGO];
extern const uint32 _landscape_global_cargo_mask[NUM_LANDSCAPE];
extern const CargoID _local_cargo_id_ctype[NUM_GLOBAL_CID];
extern 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, bool info_view);
#define GetCustomRotorSprite(v, i) GetRotorOverrideSprite(v->engine_type, v, i)
#define GetCustomRotorIcon(et) GetRotorOverrideSprite(et, NULL, true)
/* Forward declaration of GRFFile, to avoid unnecessary inclusion of newgrf.h
* elsewhere... */
struct GRFFile;
void SetEngineGRF(EngineID engine, const struct GRFFile *file);
const struct GRFFile *GetEngineGRF(EngineID engine);
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 */
|