samp_sdk/omp/generated/player_custom_models.rs
1//! `IPlayerCustomModelsData` — generated by `cargo xtask gen-omp` from `Server/Components/CustomModels/custommodels.hpp`.
2//! Implemented by `PlayerCustomModelsData` in the server's `CustomModels`.
3//!
4//! Do not edit: change `xtask/omp-wrappers.toml` or the generator and
5//! regenerate. Slots are clang's layout of the header for each ABI, checked
6//! against the official binaries by `cargo xtask check-abi --generated`.
7
8#![allow(unused_imports)]
9
10use crate::omp::containers::{FlatSet, HybridString, Pair, Span};
11use crate::omp::types::{
12 Colour, GTAQuat, Hours, Microseconds, Milliseconds, Minutes, Seconds, StringView, TimePoint,
13 UID, Vector2, Vector3, Vector4, WorldTimePoint,
14};
15use crate::omp::vtable::{call_vtable_small_struct, opaque, slots, virtual_fns};
16use crate::omp::*;
17
18opaque! {
19 /// Opaque handle for `IPlayerCustomModelsData*`.
20 pub IPlayerCustomModelsData;
21}
22
23slots! {
24 /// `uint32_t IPlayerCustomModelsData::getCustomSkin()`
25 SLOT_GET_CUSTOM_SKIN: usize = 3, 3;
26 /// `void IPlayerCustomModelsData::setCustomSkin(const uint32_t)`
27 SLOT_SET_CUSTOM_SKIN: usize = 4, 4;
28 /// `bool IPlayerCustomModelsData::sendDownloadUrl(StringView)`
29 SLOT_SEND_DOWNLOAD_URL: usize = 5, 5;
30}
31
32virtual_fns! {
33 /// `uint32_t IPlayerCustomModelsData::getCustomSkin()`.
34 ///
35 /// # Safety
36 /// `data` must be a live `IPlayerCustomModelsData`.
37 #[must_use]
38 pub fn player_custom_models_custom_skin(
39 data: IPlayerCustomModelsData,
40 ) -> u32 = [0, SLOT_GET_CUSTOM_SKIN] or 0;
41
42 /// `void IPlayerCustomModelsData::setCustomSkin(const uint32_t)`.
43 ///
44 /// # Safety
45 /// `data` must be a live `IPlayerCustomModelsData`.
46 pub fn player_custom_models_set_custom_skin(
47 data: IPlayerCustomModelsData,
48 skin_model: u32,
49 ) = [0, SLOT_SET_CUSTOM_SKIN];
50
51 /// `bool IPlayerCustomModelsData::sendDownloadUrl(StringView)`.
52 ///
53 /// # Safety
54 /// `data` must be a live `IPlayerCustomModelsData`.
55 #[must_use]
56 pub fn player_custom_models_send_download_url(
57 data: IPlayerCustomModelsData,
58 url: StringView,
59 ) -> bool = [0, SLOT_SEND_DOWNLOAD_URL] or false;
60}