CommonLibSSE (powerof3)
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"
8 
9 namespace RE
10 {
11  namespace CraftingSubMenus
12  {
14  {
15  public:
16  inline static constexpr auto RTTI = RTTI_CraftingSubMenus__SmithingMenu;
17  inline static constexpr auto VTABLE = VTABLE_CraftingSubMenus__SmithingMenu;
18 
20  {
21  public:
24 
25  ~SmithingConfirmCallback() override; // 00
26 
27  // override (IMessageBoxCallback)
28  void Run(Message a_msg) override; // 01
29 
30  // members
32  };
33  static_assert(sizeof(SmithingConfirmCallback) == 0x18);
34 
36  {
37  // members
38  TESForm* item; // 00
39  std::int64_t unk08; // 08
41  float unk18; // 18 - Health of item?
42  float unk1C; // 1C - kSmithing actor value?
43  int unk20; // 20
44  int unk24; // 24
45  std::byte unk28; // 28
46  std::byte unk29; // 29
47  std::byte unk2A; // 2A
48  std::byte pad2B; // 2B
49  std::uint32_t pad2C; // 2C
50  };
51  static_assert(sizeof(SmithingItemEntry) == 0x30);
52 
53  ~SmithingMenu() override; // 00
54 
55  // override (CraftingSubMenu)
56  void Accept(CallbackProcessor* a_cbReg) override; // 01
57  void UpdateSmithingList() override; // 02
58  bool ProcessUserEvent(BSFixedString* a_control) override; // 05
59 
60  // members
62  BSTHashMap<UnkKey, UnkValue> unk118; // 118 - constructibleObject map?
64  std::uint32_t currentIndex; // 150
65  std::int32_t selectedIndex; // 154 - if set, currentIndex will match this value.
67  std::uint32_t unk15C; // 15C
69  };
70  static_assert(sizeof(SmithingMenu) == 0x168);
71  }
72 }
Definition: BGSConstructibleObject.h:11
Definition: BSTArray.h:378
Definition: BSTHashMap.h:21
Definition: CraftingSubMenu.h:21
static constexpr auto RTTI
Definition: SmithingMenu.h:22
SmithingMenu * subMenu
Definition: SmithingMenu.h:31
static constexpr auto VTABLE
Definition: SmithingMenu.h:23
Definition: SmithingMenu.h:14
BSTArray< SmithingItemEntry > recipes
Definition: SmithingMenu.h:61
std::uint32_t currentIndex
Definition: SmithingMenu.h:64
NiPointer< TESObjectREFR > furnitureRef
Definition: SmithingMenu.h:63
std::int32_t selectedIndex
Definition: SmithingMenu.h:65
BSTHashMap< UnkKey, UnkValue > unk118
Definition: SmithingMenu.h:62
bool ProcessUserEvent(BSFixedString *a_control) override
InventoryEntryData * unk160
Definition: SmithingMenu.h:68
static constexpr auto VTABLE
Definition: SmithingMenu.h:17
void Accept(CallbackProcessor *a_cbReg) override
FormType smithingType
Definition: SmithingMenu.h:66
static constexpr auto RTTI
Definition: SmithingMenu.h:16
std::uint32_t unk15C
Definition: SmithingMenu.h:67
Definition: FxDelegateHandler.h:20
Definition: IMessageBoxCallback.h:8
Message
Definition: IMessageBoxCallback.h:14
Definition: InventoryEntryData.h:15
Definition: NiSmartPointer.h:9
Definition: TESForm.h:36
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:40
float unk18
Definition: SmithingMenu.h:41
std::byte unk2A
Definition: SmithingMenu.h:47
std::byte unk29
Definition: SmithingMenu.h:46
std::byte unk28
Definition: SmithingMenu.h:45
std::int64_t unk08
Definition: SmithingMenu.h:39
std::uint32_t pad2C
Definition: SmithingMenu.h:49
std::byte pad2B
Definition: SmithingMenu.h:48
TESForm * item
Definition: SmithingMenu.h:38
float unk1C
Definition: SmithingMenu.h:42