CommonLibSSE NG
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 
9 {
10  namespace CraftingSubMenus
11  {
13  {
14  public:
15  inline static constexpr auto RTTI = RTTI_CraftingSubMenus__AlchemyMenu;
16 
18  {
19  public:
21 
22  ~QuitMenuCallback() override; // 00
23 
24  // override (IMessageBoxCallback)
25  void Run(Message a_msg) override; // 01
26 
27  // members
29  };
30  static_assert(sizeof(QuitMenuCallback) == 0x18);
31 
33  {
34  public:
35  std::uint32_t ingredientIndex; // 00
36  std::uint32_t effectIndex; // 04
37  std::uint32_t nextCompatibleEffectMapIndex; // 08
38  };
39  static_assert(sizeof(UsableEffectMap) == 0xC);
40 
42  {
43  public:
45  std::uint8_t effect1FilterID; // 09
46  std::uint8_t effect2FilterID; // 0A
47  std::uint8_t effect3FilterID; // 0B
48  std::uint8_t effect4FilterID; // 0C
49  std::uint8_t isSelected; // 0D
50  std::uint8_t isNotGreyed; // 0E
51  std::uint16_t padE; // 0F
52  };
53  static_assert(sizeof(MenuIngredientEntry) == 0x10);
54 
56  {
57  public:
60  };
61  static_assert(sizeof(PotionCreationData) == 0x20);
62 
63  ~AlchemyMenu() override; // 00
64 
65  // override (CraftingSubMenu)
66  void Accept(CallbackProcessor* a_cbReg) override; // 01
67  bool ProcessUserEvent(BSFixedString* a_control) override; // 05
68 
69  // members
75  AlchemyItem* unknownPotion; // 178 - displayed when player does not know effects
77  std::uint32_t currentIngredientIdx; // 188
78  std::uint32_t pad18C; // 18C
80  bool playerHasPurityPerk; // 198
81  std::uint8_t pad199; // 199
82  std::uint16_t pad19A; // 19A
83  std::uint32_t pad19C; // 19C
84  };
85  static_assert(sizeof(AlchemyMenu) == 0x1A0);
86  }
87 }
Definition: AlchemyItem.h:24
Definition: BSTArray.h:377
Definition: CraftingSubMenu.h:20
InventoryEntryData * ingredient
Definition: AlchemyMenu.h:44
BSTArray< UsableEffectMap > usableEffectsMaps
Definition: AlchemyMenu.h:58
BSTArray< MenuIngredientEntry > * ingredientEntries
Definition: AlchemyMenu.h:59
static constexpr auto RTTI
Definition: AlchemyMenu.h:20
std::uint32_t nextCompatibleEffectMapIndex
Definition: AlchemyMenu.h:37
std::uint32_t ingredientIndex
Definition: AlchemyMenu.h:35
std::uint8_t pad199
Definition: AlchemyMenu.h:81
InventoryEntryData * resultPotionEntry
Definition: AlchemyMenu.h:74
bool ProcessUserEvent(BSFixedString *a_control) override
BSTArray< MenuIngredientEntry > ingredientEntries
Definition: AlchemyMenu.h:70
AlchemyItem * resultPotion
Definition: AlchemyMenu.h:76
void Accept(CallbackProcessor *a_cbReg) override
BSFixedString newRecipeFormatString
Definition: AlchemyMenu.h:79
GFxValue categories
Definition: AlchemyMenu.h:73
PotionCreationData potionCreationData
Definition: AlchemyMenu.h:72
std::uint16_t pad19A
Definition: AlchemyMenu.h:82
std::uint32_t currentIngredientIdx
Definition: AlchemyMenu.h:77
std::uint32_t pad19C
Definition: AlchemyMenu.h:83
AlchemyItem * unknownPotion
Definition: AlchemyMenu.h:75
std::uint32_t pad18C
Definition: AlchemyMenu.h:78
bool playerHasPurityPerk
Definition: AlchemyMenu.h:80
static constexpr auto RTTI
Definition: AlchemyMenu.h:15
BSTSmallArray< std::uint32_t, 4 > selectedIndexes
Definition: AlchemyMenu.h:71
Definition: FxDelegateHandler.h:19
Definition: GFxValue.h:92
Definition: IMessageBoxCallback.h:8
Message
Definition: IMessageBoxCallback.h:13
Definition: InventoryEntryData.h:15
Definition: AlchemyMenu.h:9
constexpr REL::VariantID RTTI_CraftingSubMenus__AlchemyMenu(688822, 396674, 0x1f46550)
constexpr REL::VariantID RTTI_CraftingSubMenus__AlchemyMenu__QuitMenuCallback(688824, 396676, 0x1f465e0)