1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use omp_codegen::native;

use super::PlayerClass;
use crate::players::{Player, WeaponSlots};
use crate::types::vector::Vector3;
use std::ffi::c_void;

native!(CreateClass,team: u8, skin: isize, spawnPosition: Vector3, angle: f32, slots: WeaponSlots, ->isize);
native!(SetSpawnInfo,player: struct Player,player_class: PlayerClass);
native!(GetSpawnInfo,player: struct Player, data: mut PlayerClass);
native!(GetAvailableClasses, ->isize);
native!(GetClassData,classid: isize, data: mut PlayerClass, ->bool);
native!(EditClassData,classid: isize, data: PlayerClass);

#[doc(hidden)]
pub fn load_functions() {
    load_function!(CreateClass);
    load_function!(SetSpawnInfo);
    load_function!(GetSpawnInfo);
    load_function!(GetAvailableClasses);
    load_function!(GetClassData);
    load_function!(EditClassData);
}