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"
7 
8 namespace RE
9 {
10  namespace CraftingSubMenus
11  {
13  {
14  public:
15  inline static constexpr auto RTTI = RTTI_CraftingSubMenus__AlchemyMenu;
16  inline static constexpr auto VTABLE = VTABLE_CraftingSubMenus__AlchemyMenu;
17 
19  {
20  public:
23 
24  virtual ~QuitMenuCallback(); // 00
25 
26  // override (IMessageBoxCallback)
27  void Run(Message a_msg) override; // 01
28 
29  // members
31  };
32  static_assert(sizeof(QuitMenuCallback) == 0x18);
33 
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 
44  {
45  public:
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 
58  {
59  public:
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
77  AlchemyItem* unknownPotion; // 178 - displayed when player does not know effects
79  std::uint32_t currentIngredientIdx; // 188
80  std::uint32_t pad18C; // 18C
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 }
Definition: AlchemyItem.h:24
Definition: BSTArray.h:378
std::uint8_t isSelected
Definition: AlchemyMenu.h:51
std::uint16_t padE
Definition: AlchemyMenu.h:53
std::uint8_t effect4FilterID
Definition: AlchemyMenu.h:50
std::uint8_t isNotGreyed
Definition: AlchemyMenu.h:52
std::uint8_t effect1FilterID
Definition: AlchemyMenu.h:47
std::uint8_t effect2FilterID
Definition: AlchemyMenu.h:48
InventoryEntryData * ingredient
Definition: AlchemyMenu.h:46
std::uint8_t effect3FilterID
Definition: AlchemyMenu.h:49
BSTArray< MenuIngredientEntry > * ingredientEntries
Definition: AlchemyMenu.h:61
BSTArray< UsableEffectMap > usableEffectsMaps
Definition: AlchemyMenu.h:60
static constexpr auto RTTI
Definition: AlchemyMenu.h:21
static constexpr auto VTABLE
Definition: AlchemyMenu.h:22
AlchemyMenu * subMenu
Definition: AlchemyMenu.h:30
std::uint32_t nextCompatibleEffectMapIndex
Definition: AlchemyMenu.h:39
std::uint32_t effectIndex
Definition: AlchemyMenu.h:38
std::uint32_t ingredientIndex
Definition: AlchemyMenu.h:37
Definition: AlchemyMenu.h:13
bool ProcessUserEvent(BSFixedString *a_control) override
BSFixedString newRecipeFormatString
Definition: AlchemyMenu.h:81
static constexpr auto RTTI
Definition: AlchemyMenu.h:15
std::uint32_t pad19C
Definition: AlchemyMenu.h:85
AlchemyItem * resultPotion
Definition: AlchemyMenu.h:78
std::uint16_t pad19A
Definition: AlchemyMenu.h:84
static constexpr auto VTABLE
Definition: AlchemyMenu.h:16
GFxValue categories
Definition: AlchemyMenu.h:75
std::uint32_t currentIngredientIdx
Definition: AlchemyMenu.h:79
std::uint8_t pad199
Definition: AlchemyMenu.h:83
bool playerHasPurityPerk
Definition: AlchemyMenu.h:82
BSTArray< MenuIngredientEntry > ingredientEntries
Definition: AlchemyMenu.h:72
BSTSmallArray< std::uint32_t, 4 > selectedIndexes
Definition: AlchemyMenu.h:73
PotionCreationData potionCreationData
Definition: AlchemyMenu.h:74
void Accept(CallbackProcessor *a_cbReg) override
std::uint32_t pad18C
Definition: AlchemyMenu.h:80
AlchemyItem * unknownPotion
Definition: AlchemyMenu.h:77
InventoryEntryData * resultPotionEntry
Definition: AlchemyMenu.h:76
Definition: CraftingSubMenu.h:21
Definition: FxDelegateHandler.h:20
Definition: GFxValue.h:92
Definition: IMessageBoxCallback.h:8
Message
Definition: IMessageBoxCallback.h:14
Definition: InventoryEntryData.h:15
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 2 > VTABLE_CraftingSubMenus__AlchemyMenu
Definition: Offsets_VTABLE.h:11401
constexpr REL::ID RTTI_CraftingSubMenus__AlchemyMenu(static_cast< std::uint64_t >(688822))
constexpr std::array< REL::ID, 1 > VTABLE_CraftingSubMenus__AlchemyMenu__QuitMenuCallback
Definition: Offsets_VTABLE.h:11404
constexpr REL::ID RTTI_CraftingSubMenus__AlchemyMenu__QuitMenuCallback(static_cast< std::uint64_t >(688824))