omp_gdk/scripting/checkpoints/
events.rs1#![allow(clippy::all)]
2use crate::{events::EventArgs, players::Player, runtime::each_module};
3
4#[repr(C)]
5pub struct OnPlayerEnterCheckpointArgs {
6 player: *const *const std::ffi::c_void,
7}
8
9#[no_mangle]
10pub unsafe extern "C" fn OMPRS_OnPlayerEnterCheckpoint(
11 args: *const EventArgs<OnPlayerEnterCheckpointArgs>,
12) {
13 each_module(move |mut script| {
14 script.on_player_enter_checkpoint(Player::new(*(*(*args).list).player));
15 None
16 });
17}
18
19#[repr(C)]
20pub struct OnPlayerLeaveCheckpointArgs {
21 player: *const *const std::ffi::c_void,
22}
23
24#[no_mangle]
25pub unsafe extern "C" fn OMPRS_OnPlayerLeaveCheckpoint(
26 args: *const EventArgs<OnPlayerLeaveCheckpointArgs>,
27) {
28 each_module(move |mut script| {
29 script.on_player_leave_checkpoint(Player::new(*(*(*args).list).player));
30 None
31 });
32}
33
34#[repr(C)]
35pub struct OnPlayerEnterRaceCheckpointArgs {
36 player: *const *const std::ffi::c_void,
37}
38
39#[no_mangle]
40pub unsafe extern "C" fn OMPRS_OnPlayerEnterRaceCheckpoint(
41 args: *const EventArgs<OnPlayerEnterRaceCheckpointArgs>,
42) {
43 each_module(move |mut script| {
44 script.on_player_enter_race_checkpoint(Player::new(*(*(*args).list).player));
45 None
46 });
47}
48
49#[repr(C)]
50pub struct OnPlayerLeaveRaceCheckpointArgs {
51 player: *const *const std::ffi::c_void,
52}
53
54#[no_mangle]
55pub unsafe extern "C" fn OMPRS_OnPlayerLeaveRaceCheckpoint(
56 args: *const EventArgs<OnPlayerLeaveRaceCheckpointArgs>,
57) {
58 each_module(move |mut script| {
59 script.on_player_leave_race_checkpoint(Player::new(*(*(*args).list).player));
60 None
61 });
62}