CommonLibSSE (Parapets fork)
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;
25
26 enum class FilterFlag
27 {
28 EnchantWeapon = 0x1,
29 DisenchantWeapon = 0x2,
30 EnchantArmor = 0x4,
31 DisenchantArmor = 0x8,
32 EffectWeapon = 0x10,
33 EffectArmor = 0x20,
34 SoulGem = 0x40,
35 };
36
37 enum class Category
38 {
39 Disenchant = 0,
40 SoulGem = 1,
41 Item = 2,
42 Enchantment = 3,
43 };
44
46 {
47 public:
49
50 virtual ~CategoryListEntry(); // 00
51
52 // add
53 virtual void ShowInItemCard(EnchantConstructMenu* a_menu); // 01
54 virtual void Unk_02(void); // 02
55 virtual const char* GetName(); // 03
56 virtual void SetData(GFxValue* dataContainer); // 04
57
58 // members
60 bool selected; // 10
61 bool enabled; // 11
62 std::uint16_t pad12; // 12
63 std::uint32_t pad14; // 14
64 };
65 static_assert(sizeof(CategoryListEntry) == 0x18);
66
68 {
69 public:
71
72 // members
74 float magnitude; // 20
75 float maxMagnitude; // 24
76 };
77 static_assert(sizeof(EnchantmentEntry) == 0x28);
78
80 {
81 public:
83
84 // members
86 };
87 static_assert(sizeof(ItemChangeEntry) == 0x20);
88
90 {
91 public:
93
94 virtual ~CreateEffectFunctor(); // 00
95
96 // override (MagicItemTraversalFunctor)
97 Result operator()(Effect* a_effect) override; // 01
98
99 // members
106 float soulGemRatio; // 50
107 std::uint32_t pad5C; // 5C
108 };
109 static_assert(sizeof(CreateEffectFunctor) == 0x58);
110
112 {
113 public:
115
116 virtual ~EnchantMenuCallback(); // 00
117
118 // members
120 };
121 static_assert(sizeof(EnchantMenuCallback) == 0x18);
122
124 {
125 public:
127
129
130 // override (EnchantMenuCallback)
131 virtual void Run(Message a_msg) override; // 01
132 };
133 static_assert(sizeof(EnchantMenuDisenchantCallback) == 0x18);
134
136 {
137 public:
139
141
142 // override (EnchantMenuCallback)
143 virtual void Run(Message a_msg) override; // 01
144 };
145 static_assert(sizeof(EnchantMenuCraftCallback) == 0x18);
146
148 {
149 public:
151
153
154 // override (EnchantMenuCallback)
155 virtual void Run(Message a_msg) override; // 01
156 };
157 static_assert(sizeof(EnchantMenuExitCallback) == 0x18);
158
160 {
161 public:
165 std::uint32_t numEnchantmentsAllowed; // 28
166 std::uint32_t pad2C; // 2C
167 };
168 static_assert(sizeof(Selections) == 0x30);
169
170 virtual ~EnchantConstructMenu(); // 00
171
172 // override (CraftingSubMenu)
173 void Accept(CallbackProcessor* a_cbReg) override; // 01
174 bool HasItemPreview() override; // 04 - { return currentCategory != Enchantment || craftItemPreview; }
175 bool ProcessUserEvent(BSFixedString* a_control) override; // 05
176 void SetItemCardInfo(ItemCard* a_itemCard) override; // 07
177
178 void RenameItem(const char* a_name);
179 void RenameItem_Impl(InventoryEntryData* a_entryData, ExtraDataList* a_extraList, const char* a_name);
181
182 // members
188 std::uint32_t pad114; // 114
196 std::int32_t sliderEnchantmentIndex; // 200
197 float sliderMaxMagnitude; // 204
198 std::uint32_t highlightIndex; // 208
201 float enchantmentCost; // 214
202 float chargeAmount; // 218
203 bool exiting; // 21C
204 bool sliderShown; // 21D
206 std::uint8_t pad21F; // 21F
207 };
208 static_assert(sizeof(EnchantConstructMenu) == 0x220);
209 }
210}
Definition: BSTArray.h:377
Definition: BSTSmartPointer.h:37
Definition: CraftingSubMenu.h:20
Definition: EnchantConstructMenu.h:46
bool enabled
Definition: EnchantConstructMenu.h:61
std::uint32_t pad14
Definition: EnchantConstructMenu.h:63
virtual void ShowInItemCard(EnchantConstructMenu *a_menu)
static constexpr auto RTTI
Definition: EnchantConstructMenu.h:48
virtual ~CategoryListEntry()
bool selected
Definition: EnchantConstructMenu.h:60
virtual const char * GetName()
virtual void SetData(GFxValue *dataContainer)
stl::enumeration< FilterFlag, std::uint32_t > filterFlag
Definition: EnchantConstructMenu.h:59
virtual void Unk_02(void)
std::uint16_t pad12
Definition: EnchantConstructMenu.h:62
EnchantmentItem * createdEnchantment
Definition: EnchantConstructMenu.h:103
Effect * costliestEffect
Definition: EnchantConstructMenu.h:101
FormType formType
Definition: EnchantConstructMenu.h:104
EnchantmentEntry * enchantmentParams
Definition: EnchantConstructMenu.h:102
static constexpr auto RTTI
Definition: EnchantConstructMenu.h:92
TESForm * baseObject
Definition: EnchantConstructMenu.h:105
BSTArray< Effect > createdEffects
Definition: EnchantConstructMenu.h:100
float soulGemRatio
Definition: EnchantConstructMenu.h:106
std::uint32_t pad5C
Definition: EnchantConstructMenu.h:107
static constexpr auto RTTI
Definition: EnchantConstructMenu.h:114
EnchantConstructMenu * subMenu
Definition: EnchantConstructMenu.h:119
static constexpr auto RTTI
Definition: EnchantConstructMenu.h:138
static constexpr auto RTTI
Definition: EnchantConstructMenu.h:126
static constexpr auto RTTI
Definition: EnchantConstructMenu.h:150
Definition: EnchantConstructMenu.h:68
static constexpr auto RTTI
Definition: EnchantConstructMenu.h:70
EnchantmentItem * data
Definition: EnchantConstructMenu.h:73
float maxMagnitude
Definition: EnchantConstructMenu.h:75
float magnitude
Definition: EnchantConstructMenu.h:74
Definition: EnchantConstructMenu.h:80
InventoryEntryData * data
Definition: EnchantConstructMenu.h:85
static constexpr auto RTTI
Definition: EnchantConstructMenu.h:82
Definition: EnchantConstructMenu.h:22
BSTArray< BSTSmartPointer< CategoryListEntry > > listEntries
Definition: EnchantConstructMenu.h:189
std::int32_t sliderEnchantmentIndex
Definition: EnchantConstructMenu.h:196
Selections selected
Definition: EnchantConstructMenu.h:193
bool ProcessUserEvent(BSFixedString *a_control) override
GFxValue categories
Definition: EnchantConstructMenu.h:192
stl::enumeration< Category, std::uint32_t > currentCategory
Definition: EnchantConstructMenu.h:199
bool exiting
Definition: EnchantConstructMenu.h:203
std::uint8_t pad21F
Definition: EnchantConstructMenu.h:206
float sliderMaxMagnitude
Definition: EnchantConstructMenu.h:197
void Accept(CallbackProcessor *a_cbReg) override
stl::enumeration< FilterFlag, std::uint32_t > enabledFilters
Definition: EnchantConstructMenu.h:200
std::uint32_t highlightIndex
Definition: EnchantConstructMenu.h:198
static constexpr auto RTTI
Definition: EnchantConstructMenu.h:24
float enchantmentCost
Definition: EnchantConstructMenu.h:201
stl::enumeration< FilterFlag, std::uint32_t > filterDisenchant
Definition: EnchantConstructMenu.h:183
float chargeAmount
Definition: EnchantConstructMenu.h:202
stl::enumeration< FilterFlag, std::uint32_t > filterDivider
Definition: EnchantConstructMenu.h:184
FilterFlag
Definition: EnchantConstructMenu.h:27
bool hasHighlightedEntry
Definition: EnchantConstructMenu.h:205
GFxValue inventoryLists
Definition: EnchantConstructMenu.h:191
stl::enumeration< FilterFlag, std::uint32_t > filterItem
Definition: EnchantConstructMenu.h:185
stl::enumeration< FilterFlag, std::uint32_t > filterSoulGem
Definition: EnchantConstructMenu.h:187
std::uint32_t pad114
Definition: EnchantConstructMenu.h:188
void SetItemCardInfo(ItemCard *a_itemCard) override
void RenameItem_Impl(InventoryEntryData *a_entryData, ExtraDataList *a_extraList, const char *a_name)
bool sliderShown
Definition: EnchantConstructMenu.h:204
stl::enumeration< FilterFlag, std::uint32_t > filterEnchantment
Definition: EnchantConstructMenu.h:186
BSString customName
Definition: EnchantConstructMenu.h:190
InventoryEntryData * craftItemPreview
Definition: EnchantConstructMenu.h:194
Category
Definition: EnchantConstructMenu.h:38
CreateEffectFunctor createEffectFunctor
Definition: EnchantConstructMenu.h:195
Definition: EnchantmentItem.h:10
Definition: ExtraDataList.h:46
Definition: FxDelegateHandler.h:19
Definition: GFxValue.h:90
Definition: IMessageBoxCallback.h:8
Message
Definition: IMessageBoxCallback.h:13
Definition: InventoryEntryData.h:14
Definition: MagicItemTraversalFunctor.h:8
Result
Definition: MagicItemTraversalFunctor.h:13
Definition: TESForm.h:34
Definition: PCH.h:216
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_CraftingSubMenus__EnchantConstructMenu__EnchantMenuDisenchantCallback
Definition: Offsets_RTTI.h:4555
constexpr REL::ID RTTI_CraftingSubMenus__EnchantConstructMenu__EnchantMenuExitCallback
Definition: Offsets_RTTI.h:4556
constexpr REL::ID RTTI_CraftingSubMenus__EnchantConstructMenu__EnchantmentEntry
Definition: Offsets_RTTI.h:4557
constexpr REL::ID RTTI_CraftingSubMenus__EnchantConstructMenu
Definition: Offsets_RTTI.h:4550
constexpr REL::ID RTTI_CraftingSubMenus__EnchantConstructMenu__ItemChangeEntry
Definition: Offsets_RTTI.h:4558
FormType
Definition: FormTypes.h:139
constexpr REL::ID RTTI_CraftingSubMenus__EnchantConstructMenu__CreateEffectFunctor
Definition: Offsets_RTTI.h:4552
constexpr REL::ID RTTI_CraftingSubMenus__EnchantConstructMenu__CategoryListEntry
Definition: Offsets_RTTI.h:4551
constexpr REL::ID RTTI_CraftingSubMenus__EnchantConstructMenu__EnchantMenuCallback
Definition: Offsets_RTTI.h:4553
constexpr REL::ID RTTI_CraftingSubMenus__EnchantConstructMenu__EnchantMenuCraftCallback
Definition: Offsets_RTTI.h:4554
Definition: BSIntrusiveRefCounted.h:8
Definition: EnchantConstructMenu.h:160
BSTSmartPointer< ItemChangeEntry > item
Definition: EnchantConstructMenu.h:162
std::uint32_t numEnchantmentsAllowed
Definition: EnchantConstructMenu.h:165
BSTSmartPointer< ItemChangeEntry > soulGem
Definition: EnchantConstructMenu.h:163
BSTArray< BSTSmartPointer< EnchantmentEntry > > effects
Definition: EnchantConstructMenu.h:164
std::uint32_t pad2C
Definition: EnchantConstructMenu.h:166
Definition: Effect.h:11
Definition: ItemCard.h:12