commonlibsse_ng\re\i/
InventoryMenu.rs1use core::ffi::c_void;
2
3use crate::re::BSTArray::BSTArray;
4use crate::re::BottomBar::BottomBar;
5use crate::re::GFxValue::GFxValue;
6use crate::re::IMenu::{IMenu, IMenuVtbl};
7use crate::re::ItemCard::ItemCard;
8use crate::re::ItemList::ItemList;
9use crate::re::UI::HasMenuName;
10use crate::re::offsets_rtti::RTTI_InventoryMenu;
11use crate::rel::id::VariantID;
12use crate::rel::relocation::{RelocationError, relocate_member, relocate_member_mut};
13
14#[repr(C)]
18#[derive(Debug)]
19pub struct InventoryMenu {
20 pub __base: IMenu, }
22const _: () = assert!(core::mem::size_of::<InventoryMenu>() == 0x30);
23
24impl InventoryMenu {
25 pub const RTTI: VariantID = RTTI_InventoryMenu;
27
28 #[inline]
34 pub fn get_runtime_data(&self) -> Result<&RUNTIME_DATA, RelocationError> {
35 relocate_member(self, 0x30, 0x40)
36 }
37
38 #[inline]
44 pub fn get_runtime_data_mut(&mut self) -> Result<&mut RUNTIME_DATA, RelocationError> {
45 relocate_member_mut(self, 0x30, 0x40)
46 }
47}
48
49impl HasMenuName for InventoryMenu {
50 const MENU_NAME: &'static core::ffi::CStr = c"InventoryMenu";
51}
52
53#[repr(C)]
54pub struct InventoryMenuVtbl {
55 pub __base: IMenuVtbl,
56}
57
58#[derive(Debug)]
59#[repr(C)]
60pub struct RUNTIME_DATA {
61 pub root: GFxValue, pub itemList: *mut ItemList, pub itemCard: *mut ItemCard, pub bottomBar: *mut BottomBar, pub unk60: BSTArray<*mut c_void>, pub unk78: u8, pub pad79: u8, pub pad7A: u16, pub unk7C: u32, pub pcControlsReady: bool, pub unk81: u8, pub pad82: u16, pub pad84: u32, }
75const _: () = assert!(core::mem::size_of::<RUNTIME_DATA>() == 0x58);