CommonLibVR
AlchemyMenu.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
RE/B/BSFixedString.h
"
4
#include "
RE/B/BSTArray.h
"
5
#include "
RE/C/CraftingSubMenu.h
"
6
#include "
RE/I/IMessageBoxCallback.h
"
7
8
namespace
RE
9
{
10
namespace
CraftingSubMenus
11
{
12
class
AlchemyMenu
:
public
CraftingSubMenu
13
{
14
public
:
15
inline
static
constexpr
auto
RTTI
=
RTTI_CraftingSubMenus__AlchemyMenu
;
16
inline
static
constexpr
auto
VTABLE
=
VTABLE_CraftingSubMenus__AlchemyMenu
;
17
18
class
QuitMenuCallback
:
public
IMessageBoxCallback
19
{
20
public
:
21
inline
static
constexpr
auto
RTTI
=
RTTI_CraftingSubMenus__AlchemyMenu__QuitMenuCallback
;
22
inline
static
constexpr
auto
VTABLE
=
VTABLE_CraftingSubMenus__AlchemyMenu__QuitMenuCallback
;
23
24
virtual
~QuitMenuCallback
();
// 00
25
26
// override (IMessageBoxCallback)
27
void
Run
(
Message
a_msg)
override
;
// 01
28
29
// members
30
AlchemyMenu
*
subMenu
;
// 10
31
};
32
static_assert(
sizeof
(
QuitMenuCallback
) == 0x18);
33
34
class
UsableEffectMap
35
{
36
public
:
37
std::uint32_t
ingredientIndex
;
// 00
38
std::uint32_t
effectIndex
;
// 04
39
std::uint32_t
nextCompatibleEffectMapIndex
;
// 08
40
};
41
static_assert(
sizeof
(
UsableEffectMap
) == 0xC);
42
43
class
MenuIngredientEntry
44
{
45
public
:
46
InventoryEntryData
*
ingredient
;
// 00
47
std::uint8_t
effect1FilterID
;
// 09
48
std::uint8_t
effect2FilterID
;
// 0A
49
std::uint8_t
effect3FilterID
;
// 0B
50
std::uint8_t
effect4FilterID
;
// 0C
51
std::uint8_t
isSelected
;
// 0D
52
std::uint8_t
isNotGreyed
;
// 0E
53
std::uint16_t
padE
;
// 0F
54
};
55
static_assert(
sizeof
(
MenuIngredientEntry
) == 0x10);
56
57
class
PotionCreationData
58
{
59
public
:
60
BSTArray<UsableEffectMap>
usableEffectsMaps
;
// 0
61
BSTArray<MenuIngredientEntry>
*
ingredientEntries
;
// 18
62
};
63
static_assert(
sizeof
(
PotionCreationData
) == 0x20);
64
65
~AlchemyMenu
()
override
;
// 00
66
67
// override (CraftingSubMenu)
68
void
Accept
(
CallbackProcessor
* a_cbReg)
override
;
// 01
69
bool
ProcessUserEvent
(
BSFixedString
* a_control)
override
;
// 05
70
71
// members
72
BSTArray<MenuIngredientEntry>
ingredientEntries
;
// 100
73
BSTSmallArray<std::uint32_t, 4>
selectedIndexes
;
// 118
74
PotionCreationData
potionCreationData
;
// 138
75
GFxValue
categories
;
// 158
76
InventoryEntryData
*
resultPotionEntry
;
// 170
77
AlchemyItem
*
unknownPotion
;
// 178 - displayed when player does not know effects
78
AlchemyItem
*
resultPotion
;
// 180
79
std::uint32_t
currentIngredientIdx
;
// 188
80
std::uint32_t
pad18C
;
// 18C
81
BSFixedString
newRecipeFormatString
;
// 190
82
bool
playerHasPurityPerk
;
// 198
83
std::uint8_t
pad199
;
// 199
84
std::uint16_t
pad19A
;
// 19A
85
std::uint32_t
pad19C
;
// 19C
86
};
87
static_assert(
sizeof
(
AlchemyMenu
) == 0x1A0);
88
}
89
}
BSFixedString.h
BSTArray.h
CraftingSubMenu.h
IMessageBoxCallback.h
RE::AlchemyItem
Definition:
AlchemyItem.h:24
RE::BSTArray
Definition:
BSTArray.h:378
RE::CraftingSubMenus::AlchemyMenu::MenuIngredientEntry
Definition:
AlchemyMenu.h:44
RE::CraftingSubMenus::AlchemyMenu::MenuIngredientEntry::isSelected
std::uint8_t isSelected
Definition:
AlchemyMenu.h:51
RE::CraftingSubMenus::AlchemyMenu::MenuIngredientEntry::padE
std::uint16_t padE
Definition:
AlchemyMenu.h:53
RE::CraftingSubMenus::AlchemyMenu::MenuIngredientEntry::effect4FilterID
std::uint8_t effect4FilterID
Definition:
AlchemyMenu.h:50
RE::CraftingSubMenus::AlchemyMenu::MenuIngredientEntry::isNotGreyed
std::uint8_t isNotGreyed
Definition:
AlchemyMenu.h:52
RE::CraftingSubMenus::AlchemyMenu::MenuIngredientEntry::effect1FilterID
std::uint8_t effect1FilterID
Definition:
AlchemyMenu.h:47
RE::CraftingSubMenus::AlchemyMenu::MenuIngredientEntry::effect2FilterID
std::uint8_t effect2FilterID
Definition:
AlchemyMenu.h:48
RE::CraftingSubMenus::AlchemyMenu::MenuIngredientEntry::ingredient
InventoryEntryData * ingredient
Definition:
AlchemyMenu.h:46
RE::CraftingSubMenus::AlchemyMenu::MenuIngredientEntry::effect3FilterID
std::uint8_t effect3FilterID
Definition:
AlchemyMenu.h:49
RE::CraftingSubMenus::AlchemyMenu::PotionCreationData
Definition:
AlchemyMenu.h:58
RE::CraftingSubMenus::AlchemyMenu::PotionCreationData::ingredientEntries
BSTArray< MenuIngredientEntry > * ingredientEntries
Definition:
AlchemyMenu.h:61
RE::CraftingSubMenus::AlchemyMenu::PotionCreationData::usableEffectsMaps
BSTArray< UsableEffectMap > usableEffectsMaps
Definition:
AlchemyMenu.h:60
RE::CraftingSubMenus::AlchemyMenu::QuitMenuCallback
Definition:
AlchemyMenu.h:19
RE::CraftingSubMenus::AlchemyMenu::QuitMenuCallback::~QuitMenuCallback
virtual ~QuitMenuCallback()
RE::CraftingSubMenus::AlchemyMenu::QuitMenuCallback::RTTI
static constexpr auto RTTI
Definition:
AlchemyMenu.h:21
RE::CraftingSubMenus::AlchemyMenu::QuitMenuCallback::VTABLE
static constexpr auto VTABLE
Definition:
AlchemyMenu.h:22
RE::CraftingSubMenus::AlchemyMenu::QuitMenuCallback::subMenu
AlchemyMenu * subMenu
Definition:
AlchemyMenu.h:30
RE::CraftingSubMenus::AlchemyMenu::QuitMenuCallback::Run
void Run(Message a_msg) override
RE::CraftingSubMenus::AlchemyMenu::UsableEffectMap
Definition:
AlchemyMenu.h:35
RE::CraftingSubMenus::AlchemyMenu::UsableEffectMap::nextCompatibleEffectMapIndex
std::uint32_t nextCompatibleEffectMapIndex
Definition:
AlchemyMenu.h:39
RE::CraftingSubMenus::AlchemyMenu::UsableEffectMap::effectIndex
std::uint32_t effectIndex
Definition:
AlchemyMenu.h:38
RE::CraftingSubMenus::AlchemyMenu::UsableEffectMap::ingredientIndex
std::uint32_t ingredientIndex
Definition:
AlchemyMenu.h:37
RE::CraftingSubMenus::AlchemyMenu
Definition:
AlchemyMenu.h:13
RE::CraftingSubMenus::AlchemyMenu::ProcessUserEvent
bool ProcessUserEvent(BSFixedString *a_control) override
RE::CraftingSubMenus::AlchemyMenu::newRecipeFormatString
BSFixedString newRecipeFormatString
Definition:
AlchemyMenu.h:81
RE::CraftingSubMenus::AlchemyMenu::RTTI
static constexpr auto RTTI
Definition:
AlchemyMenu.h:15
RE::CraftingSubMenus::AlchemyMenu::pad19C
std::uint32_t pad19C
Definition:
AlchemyMenu.h:85
RE::CraftingSubMenus::AlchemyMenu::resultPotion
AlchemyItem * resultPotion
Definition:
AlchemyMenu.h:78
RE::CraftingSubMenus::AlchemyMenu::pad19A
std::uint16_t pad19A
Definition:
AlchemyMenu.h:84
RE::CraftingSubMenus::AlchemyMenu::VTABLE
static constexpr auto VTABLE
Definition:
AlchemyMenu.h:16
RE::CraftingSubMenus::AlchemyMenu::categories
GFxValue categories
Definition:
AlchemyMenu.h:75
RE::CraftingSubMenus::AlchemyMenu::currentIngredientIdx
std::uint32_t currentIngredientIdx
Definition:
AlchemyMenu.h:79
RE::CraftingSubMenus::AlchemyMenu::pad199
std::uint8_t pad199
Definition:
AlchemyMenu.h:83
RE::CraftingSubMenus::AlchemyMenu::playerHasPurityPerk
bool playerHasPurityPerk
Definition:
AlchemyMenu.h:82
RE::CraftingSubMenus::AlchemyMenu::ingredientEntries
BSTArray< MenuIngredientEntry > ingredientEntries
Definition:
AlchemyMenu.h:72
RE::CraftingSubMenus::AlchemyMenu::selectedIndexes
BSTSmallArray< std::uint32_t, 4 > selectedIndexes
Definition:
AlchemyMenu.h:73
RE::CraftingSubMenus::AlchemyMenu::potionCreationData
PotionCreationData potionCreationData
Definition:
AlchemyMenu.h:74
RE::CraftingSubMenus::AlchemyMenu::Accept
void Accept(CallbackProcessor *a_cbReg) override
RE::CraftingSubMenus::AlchemyMenu::~AlchemyMenu
~AlchemyMenu() override
RE::CraftingSubMenus::AlchemyMenu::pad18C
std::uint32_t pad18C
Definition:
AlchemyMenu.h:80
RE::CraftingSubMenus::AlchemyMenu::unknownPotion
AlchemyItem * unknownPotion
Definition:
AlchemyMenu.h:77
RE::CraftingSubMenus::AlchemyMenu::resultPotionEntry
InventoryEntryData * resultPotionEntry
Definition:
AlchemyMenu.h:76
RE::CraftingSubMenus::CraftingSubMenu
Definition:
CraftingSubMenu.h:21
RE::FxDelegateHandler::CallbackProcessor
Definition:
FxDelegateHandler.h:20
RE::GFxValue
Definition:
GFxValue.h:92
RE::IMessageBoxCallback
Definition:
IMessageBoxCallback.h:8
RE::IMessageBoxCallback::Message
Message
Definition:
IMessageBoxCallback.h:14
RE::InventoryEntryData
Definition:
InventoryEntryData.h:15
RE::detail::BSFixedString< char >
RE
Definition:
AbsorbEffect.h:6
RE::VTABLE_CraftingSubMenus__AlchemyMenu
constexpr std::array< REL::ID, 2 > VTABLE_CraftingSubMenus__AlchemyMenu
Definition:
Offsets_VTABLE.h:11401
RE::RTTI_CraftingSubMenus__AlchemyMenu
constexpr REL::ID RTTI_CraftingSubMenus__AlchemyMenu(static_cast< std::uint64_t >(688822))
RE::VTABLE_CraftingSubMenus__AlchemyMenu__QuitMenuCallback
constexpr std::array< REL::ID, 1 > VTABLE_CraftingSubMenus__AlchemyMenu__QuitMenuCallback
Definition:
Offsets_VTABLE.h:11404
RE::RTTI_CraftingSubMenus__AlchemyMenu__QuitMenuCallback
constexpr REL::ID RTTI_CraftingSubMenus__AlchemyMenu__QuitMenuCallback(static_cast< std::uint64_t >(688824))
CommonLibVR
include
RE
A
AlchemyMenu.h
Generated by
1.9.1