CommonLibSSE NG
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 
20  {
21  public:
23 
24  ~SmithingConfirmCallback() override; // 00
25 
26  // override (IMessageBoxCallback)
27  void Run(Message a_msg) override; // 01
28 
29  // members
31  };
32  static_assert(sizeof(SmithingConfirmCallback) == 0x18);
33 
35  {
36  // members
37  TESForm* item; // 00
38  std::int64_t unk08; // 08
40  float unk18; // 18 - Health of item?
41  float unk1C; // 1C - kSmithing actor value?
42  int unk20; // 20
43  int unk24; // 24
44  std::byte unk28; // 28
45  std::byte unk29; // 29
46  std::byte unk2A; // 2A
47  std::byte pad2B; // 2B
48  std::uint32_t pad2C; // 2C
49  };
50  static_assert(sizeof(SmithingItemEntry) == 0x30);
51 
52  ~SmithingMenu() override; // 00
53 
54  // override (CraftingSubMenu)
55  void Accept(CallbackProcessor* a_cbReg) override; // 01
56  void Unk_02(void) override; // 02
57  bool ProcessUserEvent(BSFixedString* a_control) override; // 05
58 
59  // members
61  BSTHashMap<UnkKey, UnkValue> unk118; // 118 - constructibleObject map?
63  std::uint32_t unk150; // 150
64  std::int32_t unk154; // 154
66  std::uint32_t unk15C; // 15C
68  };
69  static_assert(sizeof(SmithingMenu) == 0x168);
70  }
71 }
Definition: BGSConstructibleObject.h:11
Definition: BSTArray.h:377
Definition: BSTHashMap.h:21
Definition: CraftingSubMenu.h:20
static constexpr auto RTTI
Definition: SmithingMenu.h:22
SmithingMenu * subMenu
Definition: SmithingMenu.h:30
Definition: SmithingMenu.h:15
NiPointer< TESObjectREFR > furnitureRef
Definition: SmithingMenu.h:62
BSTArray< SmithingItemEntry > unk100
Definition: SmithingMenu.h:60
std::uint32_t unk150
Definition: SmithingMenu.h:63
BSTHashMap< UnkKey, UnkValue > unk118
Definition: SmithingMenu.h:61
bool ProcessUserEvent(BSFixedString *a_control) override
InventoryEntryData * unk160
Definition: SmithingMenu.h:67
void Accept(CallbackProcessor *a_cbReg) override
std::int32_t unk154
Definition: SmithingMenu.h:64
FormType smithingType
Definition: SmithingMenu.h:65
static constexpr auto RTTI
Definition: SmithingMenu.h:17
std::uint32_t unk15C
Definition: SmithingMenu.h:66
Definition: FxDelegateHandler.h:19
Definition: IMessageBoxCallback.h:8
Message
Definition: IMessageBoxCallback.h:13
Definition: InventoryEntryData.h:15
Definition: NiSmartPointer.h:9
Definition: TESForm.h:36
Definition: AbsorbEffect.h:6
constexpr REL::VariantID RTTI_CraftingSubMenus__SmithingMenu__SmithingConfirmCallback(688812, 396664, 0x1f46210)
FormType
Definition: FormTypes.h:139
constexpr REL::VariantID RTTI_CraftingSubMenus__SmithingMenu(688811, 396663, 0x1f461d8)
BGSConstructibleObject * constructibleObject
Definition: SmithingMenu.h:39
float unk18
Definition: SmithingMenu.h:40
std::byte unk2A
Definition: SmithingMenu.h:46
std::byte unk29
Definition: SmithingMenu.h:45
std::byte unk28
Definition: SmithingMenu.h:44
std::int64_t unk08
Definition: SmithingMenu.h:38
std::uint32_t pad2C
Definition: SmithingMenu.h:48
std::byte pad2B
Definition: SmithingMenu.h:47
TESForm * item
Definition: SmithingMenu.h:37
float unk1C
Definition: SmithingMenu.h:41