34 uint16 GetVehicleCallbackParent(uint16 callback, uint32 param1, uint32 param2, EngineID engine, const Vehicle *v, const Vehicle *parent); |
34 uint16 GetVehicleCallbackParent(uint16 callback, uint32 param1, uint32 param2, EngineID engine, const Vehicle *v, const Vehicle *parent); |
35 bool UsesWagonOverride(const Vehicle *v); |
35 bool UsesWagonOverride(const Vehicle *v); |
36 #define GetCustomVehicleSprite(v, direction) GetCustomEngineSprite(v->engine_type, v, direction) |
36 #define GetCustomVehicleSprite(v, direction) GetCustomEngineSprite(v->engine_type, v, direction) |
37 #define GetCustomVehicleIcon(et, direction) GetCustomEngineSprite(et, NULL, direction) |
37 #define GetCustomVehicleIcon(et, direction) GetCustomEngineSprite(et, NULL, direction) |
38 |
38 |
39 typedef enum VehicleTrigger { |
39 enum VehicleTrigger { |
40 VEHICLE_TRIGGER_NEW_CARGO = 1, |
40 VEHICLE_TRIGGER_NEW_CARGO = 1, |
41 // Externally triggered only for the first vehicle in chain |
41 // Externally triggered only for the first vehicle in chain |
42 VEHICLE_TRIGGER_DEPOT = 2, |
42 VEHICLE_TRIGGER_DEPOT = 2, |
43 // Externally triggered only for the first vehicle in chain, only if whole chain is empty |
43 // Externally triggered only for the first vehicle in chain, only if whole chain is empty |
44 VEHICLE_TRIGGER_EMPTY = 4, |
44 VEHICLE_TRIGGER_EMPTY = 4, |
45 // Not triggered externally (called for the whole chain if we got NEW_CARGO) |
45 // Not triggered externally (called for the whole chain if we got NEW_CARGO) |
46 VEHICLE_TRIGGER_ANY_NEW_CARGO = 8, |
46 VEHICLE_TRIGGER_ANY_NEW_CARGO = 8, |
47 } VehicleTrigger; |
47 }; |
48 void TriggerVehicle(Vehicle *veh, VehicleTrigger trigger); |
48 void TriggerVehicle(Vehicle *veh, VehicleTrigger trigger); |
49 |
49 |
50 void SetCustomEngineName(EngineID engine, StringID name); |
50 void SetCustomEngineName(EngineID engine, StringID name); |
51 StringID GetCustomEngineName(EngineID engine); |
51 StringID GetCustomEngineName(EngineID engine); |
52 |
52 |
53 void UnloadWagonOverrides(void); |
53 void UnloadWagonOverrides(); |
54 void UnloadRotorOverrideSprites(void); |
54 void UnloadRotorOverrideSprites(); |
55 void UnloadCustomEngineSprites(void); |
55 void UnloadCustomEngineSprites(); |
56 void UnloadCustomEngineNames(void); |
56 void UnloadCustomEngineNames(); |
57 |
57 |
58 void ResetEngineListOrder(void); |
58 void ResetEngineListOrder(); |
59 EngineID GetRailVehAtPosition(EngineID pos); |
59 EngineID GetRailVehAtPosition(EngineID pos); |
60 uint16 ListPositionOfEngine(EngineID engine); |
60 uint16 ListPositionOfEngine(EngineID engine); |
61 void AlterRailVehListOrder(EngineID engine, EngineID target); |
61 void AlterRailVehListOrder(EngineID engine, EngineID target); |
62 |
62 |
63 #endif /* NEWGRF_ENGINE_H */ |
63 #endif /* NEWGRF_ENGINE_H */ |