CommonLibVR
MagicMenu.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/G/GFxValue.h"
4 #include "RE/I/IMenu.h"
5 
6 namespace RE
7 {
8  struct BottomBar;
9  struct ItemCard;
10 
11  // menuDepth = 0
12  // flags = kPausesGame | kUsesMenuContext | kDisablePauseMenu | kUpdateUsesCursor | kInventoryItemMenu | kCustomRendering
13  // context = kItemMenu
14  class MagicMenu : public IMenu
15  {
16  public:
17  inline static constexpr auto RTTI = RTTI_MagicMenu;
18  inline static constexpr auto VTABLE = VTABLE_MagicMenu;
19  constexpr static std::string_view MENU_NAME = "MagicMenu";
20 
21  ~MagicMenu() override; // 00
22 
23  // override (IMenu)
24  void Accept(CallbackProcessor* a_processor) override; // 01
25  UI_MESSAGE_RESULTS ProcessMessage(UIMessage& a_message) override; // 04
26  void PostDisplay() override; // 06
27 
28  // members
29  void* unk30; // 30 - some variation of the item list
32  GFxValue root; // 48 - "Menu_mc"
33  bool pcControlsReady; // 60
34  std::uint8_t pad61; // 61
35  std::uint16_t pad62; // 62
36  std::uint32_t pad64; // 64
37  private:
38  KEEP_FOR_RE()
39  };
40 #ifndef SKYRIMVR
41  static_assert(sizeof(MagicMenu) == 0x68);
42 #else
43  //static_assert(sizeof(MagicMenu) == 0x88);
44 #endif
45 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: FxDelegateHandler.h:20
Definition: GFxValue.h:92
Definition: IMenu.h:64
Definition: MagicMenu.h:15
bool pcControlsReady
Definition: MagicMenu.h:33
std::uint16_t pad62
Definition: MagicMenu.h:35
void Accept(CallbackProcessor *a_processor) override
constexpr static std::string_view MENU_NAME
Definition: MagicMenu.h:19
void * unk30
Definition: MagicMenu.h:29
void PostDisplay() override
ItemCard * itemCard
Definition: MagicMenu.h:30
GFxValue root
Definition: MagicMenu.h:32
std::uint32_t pad64
Definition: MagicMenu.h:36
BottomBar * bottomBar
Definition: MagicMenu.h:31
std::uint8_t pad61
Definition: MagicMenu.h:34
static constexpr auto VTABLE
Definition: MagicMenu.h:18
~MagicMenu() override
UI_MESSAGE_RESULTS ProcessMessage(UIMessage &a_message) override
static constexpr auto RTTI
Definition: MagicMenu.h:17
Definition: UIMessage.h:28
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_MagicMenu(static_cast< std::uint64_t >(688867))
constexpr std::array< REL::ID, 1 > VTABLE_MagicMenu
Definition: Offsets_VTABLE.h:11983
UI_MESSAGE_RESULTS
Definition: IMenu.h:49
Definition: BottomBar.h:8
Definition: ItemCard.h:12