engine.h
changeset 1802 da61740cc1e7
parent 1786 7cfd46c3fcc4
child 1883 ad68cd0a0a25
equal deleted inserted replaced
1801:b7b14c320dc1 1802:da61740cc1e7
    77 enum {
    77 enum {
    78 	RVI_MULTIHEAD = 1,
    78 	RVI_MULTIHEAD = 1,
    79 	RVI_WAGON = 2,
    79 	RVI_WAGON = 2,
    80 };
    80 };
    81 
    81 
       
    82 enum {
       
    83 	NUM_VEHICLE_TYPES = 6
       
    84 };
    82 
    85 
    83 void AddTypeToEngines(void);
    86 void AddTypeToEngines(void);
    84 void StartupEngines(void);
    87 void StartupEngines(void);
    85 
    88 
    86 
    89 enum GlobalCargo {
    87 extern byte _global_cargo_id[NUM_LANDSCAPE][NUM_CARGO];
    90 	GC_PASSENGERS   =   0,
    88 enum {
    91 	GC_COAL         =   1,
    89 	CID_DEFAULT = 29,
    92 	GC_MAIL         =   2,
    90 	CID_PURCHASE = 30,
    93 	GC_OIL          =   3,
    91 	NUM_CID = 31,
    94 	GC_LIVESTOCK    =   4,
    92 };
    95 	GC_GOODS        =   5,
    93 extern byte _local_cargo_id_ctype[NUM_CID];
    96 	GC_GRAIN        =   6, // GC_WHEAT / GC_MAIZE
    94 extern byte _local_cargo_id_landscape[NUM_CID];
    97 	GC_WOOD         =   7,
    95 
    98 	GC_IRON_ORE     =   8,
    96 extern uint32 _engine_refit_masks[256];
    99 	GC_STEEL        =   9,
    97 
   100 	GC_VALUABLES    =  10, // GC_GOLD / GC_DIAMONDS
    98 extern byte _engine_original_sprites[256];
   101 	GC_PAPER        =  11,
       
   102 	GC_FOOD         =  12,
       
   103 	GC_FRUIT        =  13,
       
   104 	GC_COPPER_ORE   =  14,
       
   105 	GC_WATER        =  15,
       
   106 	GC_RUBBER       =  16,
       
   107 	GC_SUGAR        =  17,
       
   108 	GC_TOYS         =  18,
       
   109 	GC_BATTERIES    =  19,
       
   110 	GC_CANDY        =  20,
       
   111 	GC_TOFFEE       =  21,
       
   112 	GC_COLA         =  22,
       
   113 	GC_COTTON_CANDY =  23,
       
   114 	GC_BUBBLES      =  24,
       
   115 	GC_PLASTIC      =  25,
       
   116 	GC_FIZZY_DRINKS =  26,
       
   117 	GC_PAPER_TEMP   =  27,
       
   118 	GC_UNDEFINED    =  28, // undefined; unused slot in arctic climate
       
   119 	GC_DEFAULT      =  29,
       
   120 	GC_PURCHASE     =  30,
       
   121 	GC_INVALID      = 255,
       
   122 	NUM_GLOBAL_CID  =  31
       
   123 };
       
   124 
       
   125 VARDEF const uint32 _default_refitmasks[NUM_VEHICLE_TYPES];
       
   126 VARDEF const CargoID _global_cargo_id[NUM_LANDSCAPE][NUM_CARGO];
       
   127 VARDEF const uint32 _landscape_global_cargo_mask[NUM_LANDSCAPE];
       
   128 VARDEF const CargoID _local_cargo_id_ctype[NUM_GLOBAL_CID];
       
   129 
       
   130 VARDEF uint32 _engine_refit_masks[256];
       
   131 VARDEF byte _engine_original_sprites[256];
    99 void SetWagonOverrideSprites(byte engine, struct SpriteGroup *group, byte *train_id, int trains);
   132 void SetWagonOverrideSprites(byte engine, struct SpriteGroup *group, byte *train_id, int trains);
   100 void SetCustomEngineSprites(byte engine, byte cargo, struct SpriteGroup *group);
   133 void SetCustomEngineSprites(byte engine, byte cargo, struct SpriteGroup *group);
   101 // loaded is in percents, overriding_engine 0xffff is none
   134 // loaded is in percents, overriding_engine 0xffff is none
   102 int GetCustomEngineSprite(byte engine, const Vehicle *v, byte direction);
   135 int GetCustomEngineSprite(byte engine, const Vehicle *v, byte direction);
   103 #define GetCustomVehicleSprite(v, direction) GetCustomEngineSprite(v->engine_type, v, direction)
   136 #define GetCustomVehicleSprite(v, direction) GetCustomEngineSprite(v->engine_type, v, direction)