1//! # bhkAction
2//!
3//! This module defines the `bhkAction` struct, which inherits from `bhkSerializable`
4//! and represents a serializable object in the physics world. It includes virtual function pointers
5//! for C++ compatibility and maintains the original memory layout.
67use core::ffi::c_void;
89use crate::re::bhkSerializable::{bhkSerializable, bhkSerializableVtbl};
10use crate::re::offsets_ni_rtti::NiRTTI_bhkAction;
11use crate::re::offsets_rtti::RTTI_bhkAction;
12use crate::re::offsets_vtable::VTABLE_bhkAction;
13use crate::rel::id::VariantID;
1415#[repr(C)]
16#[derive(Debug)]
17pub struct bhkAction {
18/// Base class.
19pub __base: bhkSerializable,
20}
2122const _: () = assert!(core::mem::size_of::<bhkAction>() == 0x20);
2324impl bhkAction {
25/// Address & Offset of the runtime type information (RTTI) identifier.
26pub const RTTI: VariantID = RTTI_bhkAction;
27/// Address & Offset of the runtime type information (Ni RTTI) identifier.
28pub const NI_RTTI: VariantID = NiRTTI_bhkAction;
2930/// Address & Offset of the virtual function table.
31pub const VTABLE: [VariantID; 1] = VTABLE_bhkAction;
32}
3334/// The virtual function table for `bhkAction`.
35///
36/// This struct defines function pointers to simulate the C++ virtual functions.
37#[repr(C)]
38pub struct bhkActionVtbl {
39pub __base: bhkSerializableVtbl,
40 Unk_32: fn(this: *mut c_void, *mut c_void),
41}