CommonLibSSE (powerof3)
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"
5 #include "RE/B/BSTSmartPointer.h"
6 #include "RE/E/ExtraDataList.h"
8 #include "RE/N/NiPoint3.h"
9 #include "RE/N/NiSmartPointer.h"
10 
11 namespace RE
12 {
13  class InventoryEntryData;
14  class NewInventoryMenuItemLoadTask;
15  class NiAVObject;
16  class TESBoundObject;
17  class TESObjectREFR;
18 
20  {
21  public:
22  // members
23  TESForm* itemBase; // 00 - smart ptr
26  std::uint64_t unk18; // 18
27  };
28  static_assert(sizeof(LoadedInventoryModel) == 0x20);
29 
31  public BSTSingletonSDM<Inventory3DManager>, // 10
32  public MenuEventHandler // 00
33  {
34  public:
35  ~Inventory3DManager() override; // 00
36 
38 
39  void UpdateItem3D(InventoryEntryData* a_objDesc);
40  void UpdateMagic3D(TESForm* a_form, std::uint32_t a_arg2);
41  void Clear3D();
42  std::uint32_t Render();
43 
44  // members
45  std::uint8_t unk011; // 011
46  std::uint16_t unk012; // 012
47  NiPoint3 unk014; // 014
48  NiPoint3 unk020; // 020
49  float unk02C; // 02C
50  float unk030; // 030
51  std::uint32_t unk034; // 034
55  std::uint32_t unk148; // 148
56  float zoomProgress; // 14C - 1 if zoomed in, 0 if not, in-between during transition
58  std::uint8_t unk158; // 158
59  std::uint8_t unk159; // 159
60  std::uint8_t unk15A; // 15A
61  std::uint8_t pad15B; // 15B
62  std::uint32_t pad15C; // 15C
63  };
64  static_assert(sizeof(Inventory3DManager) == 0x168);
65 }
Definition: BSTArray.h:377
Definition: ExtraDataList.h:40
Definition: Inventory3DManager.h:33
std::uint8_t unk15A
Definition: Inventory3DManager.h:60
NiPoint3 unk020
Definition: Inventory3DManager.h:48
~Inventory3DManager() override
float unk030
Definition: Inventory3DManager.h:50
static Inventory3DManager * GetSingleton()
float zoomProgress
Definition: Inventory3DManager.h:56
std::uint8_t unk158
Definition: Inventory3DManager.h:58
float unk02C
Definition: Inventory3DManager.h:49
ExtraDataList originalExtra
Definition: Inventory3DManager.h:53
BSTSmallArray< LoadedInventoryModel, 7 > loadedModels
Definition: Inventory3DManager.h:54
std::uint16_t unk012
Definition: Inventory3DManager.h:46
TESObjectREFR * tempRef
Definition: Inventory3DManager.h:52
std::uint32_t Render()
void UpdateMagic3D(TESForm *a_form, std::uint32_t a_arg2)
std::uint8_t pad15B
Definition: Inventory3DManager.h:61
std::uint32_t unk034
Definition: Inventory3DManager.h:51
std::uint32_t pad15C
Definition: Inventory3DManager.h:62
std::uint8_t unk159
Definition: Inventory3DManager.h:59
void UpdateItem3D(InventoryEntryData *a_objDesc)
std::uint32_t unk148
Definition: Inventory3DManager.h:55
BSTSmartPointer< NewInventoryMenuItemLoadTask > loadTask
Definition: Inventory3DManager.h:57
std::uint8_t unk011
Definition: Inventory3DManager.h:45
NiPoint3 unk014
Definition: Inventory3DManager.h:47
Definition: InventoryEntryData.h:14
Definition: MenuEventHandler.h:14
Definition: NiPoint3.h:6
Definition: NiSmartPointer.h:9
Definition: TESBoundObject.h:24
Definition: TESForm.h:34
Definition: TESObjectREFR.h:103
Definition: AbsorbEffect.h:6
Definition: BSTSingleton.h:50
Definition: Inventory3DManager.h:20
std::uint64_t unk18
Definition: Inventory3DManager.h:26
TESBoundObject * modelObj
Definition: Inventory3DManager.h:24
NiPointer< NiAVObject > spModel
Definition: Inventory3DManager.h:25
TESForm * itemBase
Definition: Inventory3DManager.h:23