Skip to main content

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}