omp_gdk/scripting/vehicles/
functions.rs

1use omp_codegen::native;
2
3use std::ffi::c_void;
4
5use crate::players::Player;
6
7use super::Vehicle;
8
9native!(Vehicle_Create, modelid: i32, x: f32, y: f32, z: f32, rotation: f32, color1: i32, color2: i32, respawnDelay: i32, addSiren: bool, id: mut i32, -> struct Vehicle);
10native!(Vehicle_Destroy, vehicle: struct Vehicle, -> bool);
11native!(Vehicle_FromID, vehicleid: i32, -> struct Vehicle);
12native!(Vehicle_GetID, vehicle: struct Vehicle, -> i32);
13native!(Vehicle_GetMaxPassengerSeats, modelid: i32, -> i32);
14native!(Vehicle_IsStreamedIn, vehicle: struct Vehicle, player: struct Player, -> bool);
15native!(Vehicle_GetPos, vehicle: struct Vehicle, x: mut f32, y: mut f32, z: mut f32, -> bool);
16native!(Vehicle_SetPos, vehicle: struct Vehicle, x: f32, y: f32, z: f32, -> bool);
17native!(Vehicle_GetZAngle, vehicle: struct Vehicle, -> f32);
18native!(Vehicle_GetRotationQuat, vehicle: struct Vehicle, w: mut f32, x: mut f32, y: mut f32, z: mut f32, -> bool);
19native!(Vehicle_GetDistanceFromPoint, vehicle: struct Vehicle, x: f32, y: f32, z: f32, -> f32);
20native!(Vehicle_SetZAngle, vehicle: struct Vehicle, angle: f32, -> bool);
21native!(Vehicle_SetParamsForPlayer, vehicle: struct Vehicle, player: struct Player, objective: i32, doors: i32, -> bool);
22native!(Vehicle_UseManualEngineAndLights, -> bool);
23native!(Vehicle_SetParamsEx, vehicle: struct Vehicle, engine: i32, lights: i32, alarm: i32, doors: i32, bonnet: i32, boot: i32, objective: i32, -> bool);
24native!(Vehicle_GetParamsEx, vehicle: struct Vehicle, engine: mut i8, lights: mut i8, alarm: mut i8, doors: mut i8, bonnet: mut i8, boot: mut i8, objective: mut i8, -> bool);
25native!(Vehicle_GetParamsSirenState, vehicle: struct Vehicle, -> i32);
26native!(Vehicle_SetParamsCarDoors, vehicle: struct Vehicle, frontLeft: i32, frontRight: i32, rearLeft: i32, rearRight: i32, -> bool);
27native!(Vehicle_GetParamsCarDoors, vehicle: struct Vehicle, frontLeft: mut i32, frontRight: mut i32, rearLeft: mut i32, rearRight: mut i32, -> bool);
28native!(Vehicle_SetParamsCarWindows, vehicle: struct Vehicle, frontLeft: i32, frontRight: i32, rearLeft: i32, rearRight: i32, -> bool);
29native!(Vehicle_GetParamsCarWindows, vehicle: struct Vehicle, frontLeft: mut i32, frontRight: mut i32, rearLeft: mut i32, rearRight: mut i32, -> bool);
30native!(Vehicle_SetToRespawn, vehicle: struct Vehicle, -> bool);
31native!(Vehicle_LinkToInterior, vehicle: struct Vehicle, interiorid: i32, -> bool);
32native!(Vehicle_AddComponent, vehicle: struct Vehicle, componentid: i32, -> bool);
33native!(Vehicle_RemoveComponent, vehicle: struct Vehicle, componentid: i32, -> bool);
34native!(Vehicle_ChangeColor, vehicle: struct Vehicle, color1: i32, color2: i32, -> bool);
35native!(Vehicle_ChangePaintjob, vehicle: struct Vehicle, paintjobid: i32, -> bool);
36native!(Vehicle_SetHealth, vehicle: struct Vehicle, health: f32, -> bool);
37native!(Vehicle_GetHealth, vehicle: struct Vehicle, -> f32);
38native!(Vehicle_AttachTrailer, trailer: struct Vehicle, vehicle: struct Vehicle, -> bool);
39native!(Vehicle_DetachTrailer, vehicle: struct Vehicle, -> bool);
40native!(Vehicle_IsTrailerAttached, vehicle: struct Vehicle, -> bool);
41native!(Vehicle_GetTrailer, vehicle: struct Vehicle, -> struct Vehicle);
42native!(Vehicle_SetNumberPlate, vehicle: struct Vehicle, numberPlate: str, -> bool);
43native!(Vehicle_GetModel, vehicle: struct Vehicle, -> i32);
44native!(Vehicle_GetComponentInSlot, vehicle: struct Vehicle, slot: i32, -> i32);
45native!(Vehicle_GetComponentType, componentid: i32, -> i32);
46native!(Vehicle_CanHaveComponent, modelid: i32, componentid: i32, -> bool);
47native!(Vehicle_GetRandomColorPair, modelid: i32, color1: mut i32, color2: mut i32, color3: mut i32, color4: mut i32, -> bool);
48native!(Vehicle_ColorIndexToColor, colorIndex: i32, alpha: i32, -> i32);
49native!(Vehicle_Repair, vehicle: struct Vehicle, -> bool);
50native!(Vehicle_GetVelocity, vehicle: struct Vehicle, x: mut f32, y: mut f32, z: mut f32, -> bool);
51native!(Vehicle_SetVelocity, vehicle: struct Vehicle, x: f32, y: f32, z: f32, -> bool);
52native!(Vehicle_SetAngularVelocity, vehicle: struct Vehicle, x: f32, y: f32, z: f32, -> bool);
53native!(Vehicle_GetDamageStatus, vehicle: struct Vehicle, panels: mut i32, doors: mut i32, lights: mut i32, tires: mut i32, -> bool);
54native!(Vehicle_UpdateDamageStatus, vehicle: struct Vehicle, panels: i32, doors: i32, lights: i32, tires: i32, -> bool);
55native!(Vehicle_GetModelInfo, vehiclemodel: i32, infotype: i32, x: mut f32, y: mut f32, z: mut f32, -> bool);
56native!(Vehicle_SetVirtualWorld, vehicle: struct Vehicle, virtualWorld: i32, -> bool);
57native!(Vehicle_GetVirtualWorld, vehicle: struct Vehicle, -> i32);
58native!(Vehicle_GetLandingGearState, vehicle: struct Vehicle, -> i32);
59native!(Vehicle_IsValid, vehicle: struct Vehicle, -> bool);
60native!(Vehicle_AddStatic, modelid: i32, x: f32, y: f32, z: f32, angle: f32, color1: i32, color2: i32, id: mut i32, -> struct Vehicle);
61native!(Vehicle_AddStaticEx, modelid: i32, x: f32, y: f32, z: f32, angle: f32, color1: i32, color2: i32, respawnDelay: i32, addSiren: bool, id: mut i32, -> struct Vehicle);
62native!(Vehicle_EnableFriendlyFire, -> bool);
63native!(Vehicle_GetSpawnInfo, vehicle: struct Vehicle, x: mut f32, y: mut f32, z: mut f32, rotation: mut f32, color1: mut i32, color2: mut i32, -> bool);
64native!(Vehicle_SetSpawnInfo, vehicle: struct Vehicle, modelid: i32, x: f32, y: f32, z: f32, rotation: f32, color1: i32, color2: i32, respawn_time: i32, interior: i32, -> bool);
65native!(Vehicle_GetModelCount, modelid: i32, -> i32);
66native!(Vehicle_GetModelsUsed, -> i32);
67native!(Vehicle_GetPaintjob, vehicle: struct Vehicle, -> i32);
68native!(Vehicle_GetColor, vehicle: struct Vehicle, color1: mut i32, color2: mut i32, -> bool);
69native!(Vehicle_GetInterior, vehicle: struct Vehicle, -> i32);
70native!(Vehicle_GetNumberPlate, vehicle: struct Vehicle, numberPlate: mut str, numberPlate_len: usize, -> bool);
71native!(Vehicle_SetRespawnDelay, vehicle: struct Vehicle, respawn_delay: i32, -> bool);
72native!(Vehicle_GetRespawnDelay, vehicle: struct Vehicle, -> i32);
73native!(Vehicle_GetCab, vehicle: struct Vehicle, -> struct Vehicle);
74native!(Vehicle_GetTower, vehicle: struct Vehicle, -> struct Vehicle);
75native!(Vehicle_GetOccupiedTick, vehicle: struct Vehicle, -> i32);
76native!(Vehicle_GetRespawnTick, vehicle: struct Vehicle, -> i32);
77native!(Vehicle_HasBeenOccupied, vehicle: struct Vehicle, -> bool);
78native!(Vehicle_IsOccupied, vehicle: struct Vehicle, -> bool);
79native!(Vehicle_IsDead, vehicle: struct Vehicle, -> bool);
80native!(Vehicle_SetParamsSirenState, vehicle: struct Vehicle, siren_state: bool, -> bool);
81native!(Vehicle_ToggleSirenEnabled, vehicle: struct Vehicle, status: bool, -> bool);
82native!(Vehicle_IsSirenEnabled, vehicle: struct Vehicle, -> bool);
83native!(Vehicle_GetLastDriver, vehicle: struct Vehicle, -> struct Player);
84native!(Vehicle_GetDriver, vehicle: struct Vehicle, -> struct Player);
85native!(Vehicle_GetSirenState, vehicle: struct Vehicle, -> i32);
86native!(Vehicle_GetHydraReactorAngle, vehicle: struct Vehicle, -> u32);
87native!(Vehicle_GetTrainSpeed, vehicle: struct Vehicle, -> f32);
88native!(Vehicle_GetMatrix, vehicle: struct Vehicle, rightX: mut f32, rightY: mut f32, rightZ: mut f32, upX: mut f32, upY: mut f32, upZ: mut f32, atX: mut f32, atY: mut f32, atZ: mut f32, -> bool);
89native!(Vehicle_GetOccupant, vehicle: struct Vehicle, seat: i32, -> struct Player);
90native!(Vehicle_CountOccupants, vehicle: struct Vehicle, -> i32);
91
92#[doc(hidden)]
93pub fn load_functions() {
94    load_function!(Vehicle_Create);
95    load_function!(Vehicle_Destroy);
96    load_function!(Vehicle_FromID);
97    load_function!(Vehicle_GetID);
98    load_function!(Vehicle_GetMaxPassengerSeats);
99    load_function!(Vehicle_IsStreamedIn);
100    load_function!(Vehicle_GetPos);
101    load_function!(Vehicle_SetPos);
102    load_function!(Vehicle_GetZAngle);
103    load_function!(Vehicle_GetRotationQuat);
104    load_function!(Vehicle_GetDistanceFromPoint);
105    load_function!(Vehicle_SetZAngle);
106    load_function!(Vehicle_SetParamsForPlayer);
107    load_function!(Vehicle_UseManualEngineAndLights);
108    load_function!(Vehicle_SetParamsEx);
109    load_function!(Vehicle_GetParamsEx);
110    load_function!(Vehicle_GetParamsSirenState);
111    load_function!(Vehicle_SetParamsCarDoors);
112    load_function!(Vehicle_GetParamsCarDoors);
113    load_function!(Vehicle_SetParamsCarWindows);
114    load_function!(Vehicle_GetParamsCarWindows);
115    load_function!(Vehicle_SetToRespawn);
116    load_function!(Vehicle_LinkToInterior);
117    load_function!(Vehicle_AddComponent);
118    load_function!(Vehicle_RemoveComponent);
119    load_function!(Vehicle_ChangeColor);
120    load_function!(Vehicle_ChangePaintjob);
121    load_function!(Vehicle_SetHealth);
122    load_function!(Vehicle_GetHealth);
123    load_function!(Vehicle_AttachTrailer);
124    load_function!(Vehicle_DetachTrailer);
125    load_function!(Vehicle_IsTrailerAttached);
126    load_function!(Vehicle_GetTrailer);
127    load_function!(Vehicle_SetNumberPlate);
128    load_function!(Vehicle_GetModel);
129    load_function!(Vehicle_GetComponentInSlot);
130    load_function!(Vehicle_GetComponentType);
131    load_function!(Vehicle_CanHaveComponent);
132    load_function!(Vehicle_GetRandomColorPair);
133    load_function!(Vehicle_ColorIndexToColor);
134    load_function!(Vehicle_Repair);
135    load_function!(Vehicle_GetVelocity);
136    load_function!(Vehicle_SetVelocity);
137    load_function!(Vehicle_SetAngularVelocity);
138    load_function!(Vehicle_GetDamageStatus);
139    load_function!(Vehicle_UpdateDamageStatus);
140    load_function!(Vehicle_GetModelInfo);
141    load_function!(Vehicle_SetVirtualWorld);
142    load_function!(Vehicle_GetVirtualWorld);
143    load_function!(Vehicle_GetLandingGearState);
144    load_function!(Vehicle_IsValid);
145    load_function!(Vehicle_AddStatic);
146    load_function!(Vehicle_AddStaticEx);
147    load_function!(Vehicle_EnableFriendlyFire);
148    load_function!(Vehicle_GetSpawnInfo);
149    load_function!(Vehicle_SetSpawnInfo);
150    load_function!(Vehicle_GetModelCount);
151    load_function!(Vehicle_GetModelsUsed);
152    load_function!(Vehicle_GetPaintjob);
153    load_function!(Vehicle_GetColor);
154    load_function!(Vehicle_GetInterior);
155    load_function!(Vehicle_GetNumberPlate);
156    load_function!(Vehicle_SetRespawnDelay);
157    load_function!(Vehicle_GetRespawnDelay);
158    load_function!(Vehicle_GetCab);
159    load_function!(Vehicle_GetTower);
160    load_function!(Vehicle_GetOccupiedTick);
161    load_function!(Vehicle_GetRespawnTick);
162    load_function!(Vehicle_HasBeenOccupied);
163    load_function!(Vehicle_IsOccupied);
164    load_function!(Vehicle_IsDead);
165    load_function!(Vehicle_SetParamsSirenState);
166    load_function!(Vehicle_ToggleSirenEnabled);
167    load_function!(Vehicle_IsSirenEnabled);
168    load_function!(Vehicle_GetLastDriver);
169    load_function!(Vehicle_GetDriver);
170    load_function!(Vehicle_GetSirenState);
171    load_function!(Vehicle_GetHydraReactorAngle);
172    load_function!(Vehicle_GetTrainSpeed);
173    load_function!(Vehicle_GetMatrix);
174    load_function!(Vehicle_GetOccupant);
175    load_function!(Vehicle_CountOccupants);
176}