Files
@ r5222:671cdc6f4c1e
Branch filter:
Location: cpp/openttd-patchpack/source/newgrf_engine.h - annotation
r5222:671cdc6f4c1e
2.7 KiB
text/x-c
(svn r7337) -Feature: [win32] Add font selection by specifying a font-name, ala Fontconfig. Pretty
messy if you ask me, but this is what you get when MS hides the font API in the deepest
depths... thanks Rubidium for testing.
messy if you ask me, but this is what you get when MS hides the font API in the deepest
depths... thanks Rubidium for testing.
r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r4656:515f0929a2ed r3157:d2dcc469a38b r3866:89c9bb7440d9 r3157:d2dcc469a38b r2962:16f2ef02fde1 r2962:16f2ef02fde1 r2962:16f2ef02fde1 r3785:d81705c37ce0 r3845:e0b12600a260 r3785:d81705c37ce0 r3866:89c9bb7440d9 r3866:89c9bb7440d9 r3866:89c9bb7440d9 r3866:89c9bb7440d9 r2962:16f2ef02fde1 r4869:044612987b2c 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 r4812:9bb6fcb85388 r2971:ce60b5a9ca01 r2971:ce60b5a9ca01 r2962:16f2ef02fde1 | /* $Id$ */
#ifndef NEWGRF_ENGINE_H
#define NEWGRF_ENGINE_H
#include "newgrf.h"
#include "direction.h"
#include "newgrf_cargo.h"
/** @file newgrf_engine.h
*/
extern int _traininfo_vehicle_pitch;
extern int _traininfo_vehicle_width;
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, CargoID cargo, 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);
uint16 ListPositionOfEngine(EngineID engine);
void AlterRailVehListOrder(EngineID engine, EngineID target);
#endif /* NEWGRF_ENGINE_H */
|