CommonLibVR
ConstructibleObjectMenu.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSTArray.h"
4 #include "RE/C/CraftingSubMenu.h"
6 
7 namespace RE
8 {
9  namespace CraftingSubMenus
10  {
12  {
13  public:
14  inline static constexpr auto RTTI = RTTI_CraftingSubMenus__ConstructibleObjectMenu;
16 
18  {
19  public:
22 
23  ~CreationConfirmCallback() override; // 00
24 
25  // override (IMessageBoxCallback)
26  void Run(Message a_msg) override; // 01
27 
28  // members
30  };
31  static_assert(sizeof(CreationConfirmCallback) == 0x18);
32 
33  struct ItemEntry
34  {
36  std::uint32_t filterFlag; // 08
37  std::uint32_t pad0C; // 0C
38  };
39  static_assert(sizeof(ItemEntry) == 0x10);
40 
41  enum class FilterFlags : std::uint32_t
42  {
43  Wood = 0x0,
44  Hide = 0x1,
45  Draugr = 0x2,
46  Iron = 0x3,
47  Studded = 0x4,
48  Imperial = 0x5,
49  Steel = 0x6,
50  Leather = 0x7,
51  Dwarven = 0x8,
52  Elven = 0x9,
53  Falmer = 0xA,
54  Orcish = 0xB,
55  Ebony = 0xC,
56  Glass = 0xD,
57  Dragon = 0xE,
58  Daedric = 0xF,
59  Jewelry = 0x10,
60  Unk11 = 0x11,
69  Bonemold = 0x1A,
70  Chitin = 0x1B,
71  Nordic = 0x1C,
72  Stalhrim = 0x1D
73  };
74 
75  ~ConstructibleObjectMenu() override; // 00
76 
77  // override (CraftingSubMenu)
78  void Accept(CallbackProcessor* a_cbReg) override; // 01
79  void UpdateItemList() override; // 06
80  void SetItemCardInfo(ItemCard* a_itemCard) override; // 07
81 
82  // members
84  BSTHashMap<FormID, FilterFlags> materialFilterFlags; // 118 - kwd's formid -> FilterFlags
85  std::uint32_t currentCobjIdx; // 148
86  std::uint32_t pad14C; // 14C
87  std::uint64_t unk150; // 150
88  std::uint64_t unk158; // 158
89  };
90  static_assert(sizeof(ConstructibleObjectMenu) == 0x160);
91  }
92 }
Definition: BGSConstructibleObject.h:11
Definition: BSTArray.h:378
Definition: BSTHashMap.h:21
static constexpr auto VTABLE
Definition: ConstructibleObjectMenu.h:21
static constexpr auto RTTI
Definition: ConstructibleObjectMenu.h:20
ConstructibleObjectMenu * menu
Definition: ConstructibleObjectMenu.h:29
Definition: ConstructibleObjectMenu.h:12
std::uint64_t unk150
Definition: ConstructibleObjectMenu.h:87
std::uint32_t pad14C
Definition: ConstructibleObjectMenu.h:86
void SetItemCardInfo(ItemCard *a_itemCard) override
std::uint32_t currentCobjIdx
Definition: ConstructibleObjectMenu.h:85
std::uint64_t unk158
Definition: ConstructibleObjectMenu.h:88
BSTHashMap< FormID, FilterFlags > materialFilterFlags
Definition: ConstructibleObjectMenu.h:84
FilterFlags
Definition: ConstructibleObjectMenu.h:42
BSTArray< ItemEntry > crafts
Definition: ConstructibleObjectMenu.h:83
void Accept(CallbackProcessor *a_cbReg) override
static constexpr auto VTABLE
Definition: ConstructibleObjectMenu.h:15
static constexpr auto RTTI
Definition: ConstructibleObjectMenu.h:14
Definition: CraftingSubMenu.h:21
Definition: FxDelegateHandler.h:20
Definition: IMessageBoxCallback.h:8
Message
Definition: IMessageBoxCallback.h:14
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_CraftingSubMenus__ConstructibleObjectMenu(static_cast< std::uint64_t >(688809))
constexpr std::array< REL::ID, 1 > VTABLE_CraftingSubMenus__ConstructibleObjectMenu__CreationConfirmCallback
Definition: Offsets_VTABLE.h:11406
constexpr REL::ID RTTI_CraftingSubMenus__ConstructibleObjectMenu__CreationConfirmCallback(static_cast< std::uint64_t >(688810))
constexpr std::array< REL::ID, 2 > VTABLE_CraftingSubMenus__ConstructibleObjectMenu
Definition: Offsets_VTABLE.h:11405
Definition: ConstructibleObjectMenu.h:34
std::uint32_t filterFlag
Definition: ConstructibleObjectMenu.h:36
BGSConstructibleObject * constructibleObject
Definition: ConstructibleObjectMenu.h:35
std::uint32_t pad0C
Definition: ConstructibleObjectMenu.h:37
Definition: ItemCard.h:12