CommonLibSSE NG
Loading...
Searching...
No Matches
EnchantConstructMenu.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/B/BSString.h"
4#include "RE/B/BSTArray.h"
7#include "RE/E/Effect.h"
8#include "RE/F/FormTypes.h"
9#include "RE/G/GFxValue.h"
12
13namespace RE
14{
15 class EnchantmentItem;
16 class ExtraDataList;
17 class InventoryEntryData;
18
19 namespace CraftingSubMenus
20 {
22 {
23 public:
24 inline static constexpr auto RTTI = RTTI_CraftingSubMenus__EnchantConstructMenu;
26
27 enum class FilterFlag
28 {
29 EnchantWeapon = 0x1,
30 DisenchantWeapon = 0x2,
31 EnchantArmor = 0x4,
32 DisenchantArmor = 0x8,
33 EffectWeapon = 0x10,
34 EffectArmor = 0x20,
35 SoulGem = 0x40,
36 };
37
38 enum class Category
39 {
40 Disenchant = 0,
41 SoulGem = 1,
42 Item = 2,
43 Enchantment = 3,
44 };
45
47 {
48 public:
51
52 virtual ~CategoryListEntry(); // 00
53
54 // add
55 virtual void ShowInItemCard(EnchantConstructMenu* a_menu); // 01
56 virtual void Unk_02(void); // 02
57 virtual const char* GetName(); // 03
58 virtual void SetData(GFxValue* dataContainer); // 04
59
60 // members
62 bool selected; // 10
63 bool enabled; // 11
64 std::uint16_t pad12; // 12
65 std::uint32_t pad14; // 14
66 };
67 static_assert(sizeof(CategoryListEntry) == 0x18);
68
70 {
71 public:
74
75 // members
77 float magnitude; // 20
78 float maxMagnitude; // 24
79 };
80 static_assert(sizeof(EnchantmentEntry) == 0x28);
81
83 {
84 public:
87
88 // members
90 };
91 static_assert(sizeof(ItemChangeEntry) == 0x20);
92
94 {
95 public:
98
99 ~CreateEffectFunctor() override; // 00
100
101 // override (MagicItemTraversalFunctor)
103
104 // members
111 float soulGemRatio; // 50
112 std::uint32_t pad5C; // 5C
113 };
114 static_assert(sizeof(CreateEffectFunctor) == 0x58);
115
117 {
118 public:
121
122 ~EnchantMenuCallback() override; // 00
123
124 // members
126 };
127 static_assert(sizeof(EnchantMenuCallback) == 0x18);
128
130 {
131 public:
134
136
137 // override (EnchantMenuCallback)
138 void Run(Message a_msg) override; // 01
139 };
140 static_assert(sizeof(EnchantMenuDisenchantCallback) == 0x18);
141
143 {
144 public:
147
149
150 // override (EnchantMenuCallback)
151 void Run(Message a_msg) override; // 01
152 };
153 static_assert(sizeof(EnchantMenuCraftCallback) == 0x18);
154
156 {
157 public:
160
161 ~EnchantMenuExitCallback() override; // 00
162
163 // override (EnchantMenuCallback)
164 void Run(Message a_msg) override; // 01
165 };
166 static_assert(sizeof(EnchantMenuExitCallback) == 0x18);
167
169 {
170 public:
171 // members
175 std::uint32_t numEnchantmentsAllowed; // 28
176 std::uint32_t pad2C; // 2C
177 };
178 static_assert(sizeof(Selections) == 0x30);
179
180 ~EnchantConstructMenu() override; // 00
181
182 // override (CraftingSubMenu)
183 void Accept(CallbackProcessor* a_cbReg) override; // 01
184 [[nodiscard]] bool HasItemPreview() override; // 04 - { return currentCategory != Enchantment || craftItemPreview; }
185 bool ProcessUserEvent(BSFixedString* a_control) override; // 05
186 void SetItemCardInfo(ItemCard* a_itemCard) override; // 07
187
188 void RenameItem(const char* a_name);
189 void RenameItem_Impl(InventoryEntryData* a_entryData, ExtraDataList* a_extraList, const char* a_name);
191
192 // members
198 std::uint32_t pad114; // 114
206 std::int32_t sliderEnchantmentIndex; // 200
207 float sliderMaxMagnitude; // 204
208 std::uint32_t highlightIndex; // 208
211 float enchantmentCost; // 214
212 float chargeAmount; // 218
213 bool exiting; // 21C
214 bool sliderShown; // 21D
216 std::uint8_t pad21F; // 21F
217 };
218 static_assert(sizeof(EnchantConstructMenu) == 0x220);
219 }
220}
Definition BSTArray.h:377
Definition BSTSmartPointer.h:36
Definition CraftingSubMenu.h:20
Definition EnchantConstructMenu.h:47
bool enabled
Definition EnchantConstructMenu.h:63
std::uint32_t pad14
Definition EnchantConstructMenu.h:65
virtual void ShowInItemCard(EnchantConstructMenu *a_menu)
static constexpr auto RTTI
Definition EnchantConstructMenu.h:49
virtual ~CategoryListEntry()
bool selected
Definition EnchantConstructMenu.h:62
virtual const char * GetName()
virtual void SetData(GFxValue *dataContainer)
static constexpr auto VTABLE
Definition EnchantConstructMenu.h:50
stl::enumeration< FilterFlag, std::uint32_t > filterFlag
Definition EnchantConstructMenu.h:61
virtual void Unk_02(void)
std::uint16_t pad12
Definition EnchantConstructMenu.h:64
EnchantmentItem * createdEnchantment
Definition EnchantConstructMenu.h:108
Effect * costliestEffect
Definition EnchantConstructMenu.h:106
BSContainer::ForEachResult operator()(Effect *a_effect) override
FormType formType
Definition EnchantConstructMenu.h:109
EnchantmentEntry * enchantmentParams
Definition EnchantConstructMenu.h:107
static constexpr auto RTTI
Definition EnchantConstructMenu.h:96
TESForm * baseObject
Definition EnchantConstructMenu.h:110
BSTArray< Effect > createdEffects
Definition EnchantConstructMenu.h:105
static constexpr auto VTABLE
Definition EnchantConstructMenu.h:97
float soulGemRatio
Definition EnchantConstructMenu.h:111
std::uint32_t pad5C
Definition EnchantConstructMenu.h:112
static constexpr auto VTABLE
Definition EnchantConstructMenu.h:120
static constexpr auto RTTI
Definition EnchantConstructMenu.h:119
EnchantConstructMenu * subMenu
Definition EnchantConstructMenu.h:125
static constexpr auto VTABLE
Definition EnchantConstructMenu.h:146
static constexpr auto RTTI
Definition EnchantConstructMenu.h:145
static constexpr auto VTABLE
Definition EnchantConstructMenu.h:133
static constexpr auto RTTI
Definition EnchantConstructMenu.h:132
static constexpr auto VTABLE
Definition EnchantConstructMenu.h:159
static constexpr auto RTTI
Definition EnchantConstructMenu.h:158
Definition EnchantConstructMenu.h:70
static constexpr auto RTTI
Definition EnchantConstructMenu.h:72
EnchantmentItem * data
Definition EnchantConstructMenu.h:76
static constexpr auto VTABLE
Definition EnchantConstructMenu.h:73
float maxMagnitude
Definition EnchantConstructMenu.h:78
float magnitude
Definition EnchantConstructMenu.h:77
Definition EnchantConstructMenu.h:83
static constexpr auto VTABLE
Definition EnchantConstructMenu.h:86
InventoryEntryData * data
Definition EnchantConstructMenu.h:89
static constexpr auto RTTI
Definition EnchantConstructMenu.h:85
Definition EnchantConstructMenu.h:22
BSTArray< BSTSmartPointer< CategoryListEntry > > listEntries
Definition EnchantConstructMenu.h:199
std::int32_t sliderEnchantmentIndex
Definition EnchantConstructMenu.h:206
Selections selected
Definition EnchantConstructMenu.h:203
bool ProcessUserEvent(BSFixedString *a_control) override
GFxValue categories
Definition EnchantConstructMenu.h:202
stl::enumeration< Category, std::uint32_t > currentCategory
Definition EnchantConstructMenu.h:209
bool exiting
Definition EnchantConstructMenu.h:213
std::uint8_t pad21F
Definition EnchantConstructMenu.h:216
float sliderMaxMagnitude
Definition EnchantConstructMenu.h:207
void Accept(CallbackProcessor *a_cbReg) override
stl::enumeration< FilterFlag, std::uint32_t > enabledFilters
Definition EnchantConstructMenu.h:210
std::uint32_t highlightIndex
Definition EnchantConstructMenu.h:208
static constexpr auto RTTI
Definition EnchantConstructMenu.h:24
float enchantmentCost
Definition EnchantConstructMenu.h:211
stl::enumeration< FilterFlag, std::uint32_t > filterDisenchant
Definition EnchantConstructMenu.h:193
float chargeAmount
Definition EnchantConstructMenu.h:212
stl::enumeration< FilterFlag, std::uint32_t > filterDivider
Definition EnchantConstructMenu.h:194
FilterFlag
Definition EnchantConstructMenu.h:28
bool hasHighlightedEntry
Definition EnchantConstructMenu.h:215
GFxValue inventoryLists
Definition EnchantConstructMenu.h:201
stl::enumeration< FilterFlag, std::uint32_t > filterItem
Definition EnchantConstructMenu.h:195
stl::enumeration< FilterFlag, std::uint32_t > filterSoulGem
Definition EnchantConstructMenu.h:197
std::uint32_t pad114
Definition EnchantConstructMenu.h:198
void SetItemCardInfo(ItemCard *a_itemCard) override
void RenameItem_Impl(InventoryEntryData *a_entryData, ExtraDataList *a_extraList, const char *a_name)
bool sliderShown
Definition EnchantConstructMenu.h:214
stl::enumeration< FilterFlag, std::uint32_t > filterEnchantment
Definition EnchantConstructMenu.h:196
BSString customName
Definition EnchantConstructMenu.h:200
InventoryEntryData * craftItemPreview
Definition EnchantConstructMenu.h:204
Category
Definition EnchantConstructMenu.h:39
static constexpr auto VTABLE
Definition EnchantConstructMenu.h:25
CreateEffectFunctor createEffectFunctor
Definition EnchantConstructMenu.h:205
Definition EnchantmentItem.h:10
Definition ExtraDataList.h:53
Definition FxDelegateHandler.h:19
Definition GFxValue.h:92
Definition IMessageBoxCallback.h:8
Message
Definition IMessageBoxCallback.h:13
Definition InventoryEntryData.h:15
Definition MagicItemTraversalFunctor.h:10
Definition TESForm.h:35
Definition PCH.h:223
ForEachResult
Definition BSContainer.h:6
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_CraftingSubMenus__EnchantConstructMenu__EnchantMenuExitCallback(688815, 396667, 0x1f462f0)
constexpr REL::VariantID RTTI_CraftingSubMenus__EnchantConstructMenu__ItemChangeEntry(688819, 396671, 0x1f46460)
constexpr std::array< REL::VariantID, 1 > VTABLE_CraftingSubMenus__EnchantConstructMenu__EnchantmentEntry
Definition Offsets_VTABLE.h:4023
constexpr REL::VariantID RTTI_CraftingSubMenus__EnchantConstructMenu__EnchantmentEntry(688820, 396672, 0x1f464b0)
FormType
Definition FormTypes.h:139
constexpr std::array< REL::VariantID, 1 > VTABLE_CraftingSubMenus__EnchantConstructMenu__EnchantMenuExitCallback
Definition Offsets_VTABLE.h:4018
constexpr std::array< REL::VariantID, 1 > VTABLE_CraftingSubMenus__EnchantConstructMenu__CreateEffectFunctor
Definition Offsets_VTABLE.h:4024
constexpr REL::VariantID RTTI_CraftingSubMenus__EnchantConstructMenu__CategoryListEntry(688818, 396670, 0x1f46410)
constexpr std::array< REL::VariantID, 1 > VTABLE_CraftingSubMenus__EnchantConstructMenu__EnchantMenuCraftCallback
Definition Offsets_VTABLE.h:4019
constexpr REL::VariantID RTTI_CraftingSubMenus__EnchantConstructMenu(688813, 396665, 0x1f46260)
constexpr std::array< REL::VariantID, 2 > VTABLE_CraftingSubMenus__EnchantConstructMenu
Definition Offsets_VTABLE.h:4025
constexpr std::array< REL::VariantID, 1 > VTABLE_CraftingSubMenus__EnchantConstructMenu__EnchantMenuDisenchantCallback
Definition Offsets_VTABLE.h:4020
constexpr std::array< REL::VariantID, 1 > VTABLE_CraftingSubMenus__EnchantConstructMenu__CategoryListEntry
Definition Offsets_VTABLE.h:4021
constexpr std::array< REL::VariantID, 1 > VTABLE_CraftingSubMenus__EnchantConstructMenu__ItemChangeEntry
Definition Offsets_VTABLE.h:4022
constexpr REL::VariantID RTTI_CraftingSubMenus__EnchantConstructMenu__EnchantMenuDisenchantCallback(688817, 396669, 0x1f463b0)
constexpr REL::VariantID RTTI_CraftingSubMenus__EnchantConstructMenu__EnchantMenuCallback(688814, 396666, 0x1f462a0)
constexpr std::array< REL::VariantID, 1 > VTABLE_CraftingSubMenus__EnchantConstructMenu__EnchantMenuCallback
Definition Offsets_VTABLE.h:4017
constexpr REL::VariantID RTTI_CraftingSubMenus__EnchantConstructMenu__EnchantMenuCraftCallback(688816, 396668, 0x1f46350)
constexpr REL::VariantID RTTI_CraftingSubMenus__EnchantConstructMenu__CreateEffectFunctor(688821, 396673, 0x1f46500)
Definition BSIntrusiveRefCounted.h:8
Definition EnchantConstructMenu.h:169
BSTSmartPointer< ItemChangeEntry > item
Definition EnchantConstructMenu.h:172
std::uint32_t numEnchantmentsAllowed
Definition EnchantConstructMenu.h:175
BSTSmartPointer< ItemChangeEntry > soulGem
Definition EnchantConstructMenu.h:173
BSTArray< BSTSmartPointer< EnchantmentEntry > > effects
Definition EnchantConstructMenu.h:174
std::uint32_t pad2C
Definition EnchantConstructMenu.h:176
Definition Effect.h:11
Definition ItemCard.h:12