CommonLibSSE (powerof3)
Loading...
Searching...
No Matches
Inventory3DManager.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/B/BSTArray.h"
4#include "RE/B/BSTSingleton.h"
9#include "RE/N/NiPoint3.h"
10#include "RE/N/NiSmartPointer.h"
11
12namespace RE
13{
14 class InventoryEntryData;
15 class NewInventoryMenuItemLoadTask;
16 class NiAVObject;
17 class TESBoundObject;
18 class TESObjectREFR;
19
21 {
22 public:
23 // members
24 TESForm* itemBase; // 00 - smart ptr
28 float boundRadius; // 1C
29 };
30 static_assert(sizeof(LoadedInventoryModel) == 0x20);
31
33 public BSTSingletonSDM<Inventory3DManager>, // 10
34 public MenuEventHandler // 00
35 {
36 public:
37 ~Inventory3DManager() override; // 00
38
40
42 void End3D();
44 void LoadInventoryItem(TESBoundObject* a_object, ExtraDataList* a_extraDataList);
45 void Render();
48
49 // members
50 std::uint8_t unk011; // 011
51 std::uint16_t unk012; // 012
54 float itemScaleCopy; // 02C
55 float itemScale; // 030
56 INTERFACE_LIGHT_SCHEME currentLightScheme; // 034 - kInventory or kInventoryMagic
60 float zoomDistance; // 148
61 float zoomProgress; // 14C - 1 if zoomed in, 0 if not, in-between during transition
63 bool enableUserInput; // 158
64 std::uint8_t unk159; // 159
65 bool startedZoom; // 15A
66 std::uint8_t pad15B; // 15B
67 std::uint32_t pad15C; // 15C
68 };
69#ifndef SKYRIM_SUPPORT_AE
70 static_assert(sizeof(Inventory3DManager) == 0x160);
71#else
72 static_assert(sizeof(Inventory3DManager) == 0x168);
73#endif
74}
Definition BSTArray.h:378
Definition BSTSmartPointer.h:37
Definition ExtraDataList.h:49
Definition Inventory3DManager.h:35
~Inventory3DManager() override
float itemScaleCopy
Definition Inventory3DManager.h:54
NiPoint3 itemPos
Definition Inventory3DManager.h:53
float zoomProgress
Definition Inventory3DManager.h:61
void Begin3D(INTERFACE_LIGHT_SCHEME a_scheme)
ExtraDataList originalExtra
Definition Inventory3DManager.h:58
BSTSmallArray< LoadedInventoryModel, 7 > loadedModels
Definition Inventory3DManager.h:59
std::uint16_t unk012
Definition Inventory3DManager.h:51
TESObjectREFR * tempRef
Definition Inventory3DManager.h:57
std::uint8_t pad15B
Definition Inventory3DManager.h:66
NiPoint3 itemPosCopy
Definition Inventory3DManager.h:52
static Inventory3DManager * GetSingleton()
float itemScale
Definition Inventory3DManager.h:55
bool startedZoom
Definition Inventory3DManager.h:65
std::uint32_t pad15C
Definition Inventory3DManager.h:67
void LoadInventoryItem(TESBoundObject *a_object, ExtraDataList *a_extraDataList)
std::uint8_t unk159
Definition Inventory3DManager.h:64
INTERFACE_LIGHT_SCHEME currentLightScheme
Definition Inventory3DManager.h:56
bool enableUserInput
Definition Inventory3DManager.h:63
BSTSmartPointer< NewInventoryMenuItemLoadTask > loadTask
Definition Inventory3DManager.h:62
void LoadInventoryItem(InventoryEntryData *a_objDesc)
std::uint8_t unk011
Definition Inventory3DManager.h:50
float zoomDistance
Definition Inventory3DManager.h:60
Definition InventoryEntryData.h:15
Definition MenuEventHandler.h:14
Definition NiPoint3.h:6
Definition NiSmartPointer.h:9
Definition TESBoundObject.h:24
Definition TESForm.h:36
Definition TESObjectREFR.h:114
Definition AbsorbEffect.h:6
INTERFACE_LIGHT_SCHEME
Definition InterfaceLightSchemes.h:6
Definition BSTSingleton.h:50
Definition Inventory3DManager.h:21
TESBoundObject * modelObj
Definition Inventory3DManager.h:25
INTERFACE_LIGHT_SCHEME lightScheme
Definition Inventory3DManager.h:27
NiPointer< NiAVObject > spModel
Definition Inventory3DManager.h:26
TESForm * itemBase
Definition Inventory3DManager.h:24
float boundRadius
Definition Inventory3DManager.h:28