CommonLibVR
SmithingMenu.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSTArray.h"
4 #include "RE/B/BSTHashMap.h"
5 #include "RE/C/CraftingSubMenu.h"
7 
8 namespace RE
9 {
10  class InventoryEntryData;
11 
12  namespace CraftingSubMenus
13  {
15  {
16  public:
17  inline static constexpr auto RTTI = RTTI_CraftingSubMenus__SmithingMenu;
18  inline static constexpr auto VTABLE = VTABLE_CraftingSubMenus__SmithingMenu;
19 
21  {
22  public:
25 
26  ~SmithingConfirmCallback() override; // 00
27 
28  // override (IMessageBoxCallback)
29  void Run(Message a_msg) override; // 01
30 
31  // members
33  };
34  static_assert(sizeof(SmithingConfirmCallback) == 0x18);
35 
37  {
38  // members
39  TESForm* item; // 00
40  std::int64_t unk08; // 08
42  float unk18; // 18 - Health of item?
43  float unk1C; // 1C - kSmithing actor value?
44  int unk20; // 20
45  int unk24; // 24
46  std::byte unk28; // 28
47  std::byte unk29; // 29
48  std::byte unk2A; // 2A
49  std::byte pad2B; // 2B
50  std::uint32_t pad2C; // 2C
51  };
52  static_assert(sizeof(SmithingItemEntry) == 0x30);
53 
54  ~SmithingMenu() override; // 00
55 
56  // override (CraftingSubMenu)
57  void Accept(CallbackProcessor* a_cbReg) override; // 01
58  void Unk_02(void) override; // 02
59  bool ProcessUserEvent(BSFixedString* a_control) override; // 05
60 
61  // members
63  BSTHashMap<UnkKey, UnkValue> unk118; // 118 - constructibleObject map?
65  std::uint32_t unk150; // 150
66  std::int32_t unk154; // 154
68  std::uint32_t unk15C; // 15C
70  };
71  static_assert(sizeof(SmithingMenu) == 0x168);
72  }
73 }
Definition: BGSConstructibleObject.h:11
Definition: BSTArray.h:378
Definition: BSTHashMap.h:21
Definition: CraftingSubMenu.h:21
static constexpr auto RTTI
Definition: SmithingMenu.h:23
SmithingMenu * subMenu
Definition: SmithingMenu.h:32
static constexpr auto VTABLE
Definition: SmithingMenu.h:24
Definition: SmithingMenu.h:15
NiPointer< TESObjectREFR > furnitureRef
Definition: SmithingMenu.h:64
BSTArray< SmithingItemEntry > unk100
Definition: SmithingMenu.h:62
std::uint32_t unk150
Definition: SmithingMenu.h:65
BSTHashMap< UnkKey, UnkValue > unk118
Definition: SmithingMenu.h:63
bool ProcessUserEvent(BSFixedString *a_control) override
InventoryEntryData * unk160
Definition: SmithingMenu.h:69
static constexpr auto VTABLE
Definition: SmithingMenu.h:18
void Accept(CallbackProcessor *a_cbReg) override
std::int32_t unk154
Definition: SmithingMenu.h:66
FormType smithingType
Definition: SmithingMenu.h:67
static constexpr auto RTTI
Definition: SmithingMenu.h:17
std::uint32_t unk15C
Definition: SmithingMenu.h:68
Definition: FxDelegateHandler.h:20
Definition: IMessageBoxCallback.h:8
Message
Definition: IMessageBoxCallback.h:14
Definition: InventoryEntryData.h:15
Definition: NiSmartPointer.h:9
Definition: TESForm.h:40
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_CraftingSubMenus__SmithingMenu__SmithingConfirmCallback(static_cast< std::uint64_t >(688812))
constexpr std::array< REL::ID, 1 > VTABLE_CraftingSubMenus__SmithingMenu__SmithingConfirmCallback
Definition: Offsets_VTABLE.h:11418
FormType
Definition: FormTypes.h:139
constexpr REL::ID RTTI_CraftingSubMenus__SmithingMenu(static_cast< std::uint64_t >(688811))
constexpr std::array< REL::ID, 2 > VTABLE_CraftingSubMenus__SmithingMenu
Definition: Offsets_VTABLE.h:11417
BGSConstructibleObject * constructibleObject
Definition: SmithingMenu.h:41
float unk18
Definition: SmithingMenu.h:42
std::byte unk2A
Definition: SmithingMenu.h:48
std::byte unk29
Definition: SmithingMenu.h:47
std::byte unk28
Definition: SmithingMenu.h:46
std::int64_t unk08
Definition: SmithingMenu.h:40
std::uint32_t pad2C
Definition: SmithingMenu.h:50
std::byte pad2B
Definition: SmithingMenu.h:49
TESForm * item
Definition: SmithingMenu.h:39
float unk1C
Definition: SmithingMenu.h:43