CommonLibSSE (Parapets fork)
FavoritesMenu.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSTArray.h"
4 #include "RE/G/GFxValue.h"
5 #include "RE/I/IMenu.h"
7 
8 namespace RE
9 {
10  class InventoryEntryData;
11  class TESForm;
12 
13  // menuDepth = 3
14  // flags = kPausesGame | kUpdateUsesCursor | kInventoryItemMenu | kCustomRendering
15  // context = kFavorites
16  class FavoritesMenu :
17  public IMenu, // 00
18  public MenuEventHandler // 30
19  {
20  public:
21  inline static constexpr auto RTTI = RTTI_FavoritesMenu;
22  constexpr static std::string_view MENU_NAME = "FavoritesMenu";
23 
24  struct Entry
25  {
26  TESForm* item; // 00
28  };
29  static_assert(sizeof(Entry) == 0x10);
30 
31  ~FavoritesMenu() override; // 00
32 
33  // override (IMenu)
34  void Accept(CallbackProcessor* a_processor) override; // 01
35  UI_MESSAGE_RESULTS ProcessMessage(UIMessage& a_message) override; // 04
36 
37  // override (MenuEventHandler)
38  bool ShouldHandleEvent(const InputEvent* a_event) override; // 01
39  bool HandleEvent(const ButtonEvent* a_event) override; // 05
40  bool HandleEvent(const KinectEvent* a_event) override; // 02
41 
42  // members
43  GFxValue root; // 40 - "Menu_mc"
45  std::uint16_t unk70; // 70
46  bool pcControlsReady; // 72
47  bool isVampire; // 73
48  std::uint32_t pad74; // 74
49  };
50 #ifndef SKYRIMVR
51  static_assert(sizeof(FavoritesMenu) == 0x78);
52 #else
53  static_assert(sizeof(FavoritesMenu) == 0x88);
54 #endif
55 }
Definition: BSTArray.h:377
Definition: ButtonEvent.h:15
Definition: FavoritesMenu.h:19
constexpr static std::string_view MENU_NAME
Definition: FavoritesMenu.h:22
~FavoritesMenu() override
UI_MESSAGE_RESULTS ProcessMessage(UIMessage &a_message) override
GFxValue root
Definition: FavoritesMenu.h:43
bool isVampire
Definition: FavoritesMenu.h:47
bool HandleEvent(const ButtonEvent *a_event) override
bool HandleEvent(const KinectEvent *a_event) override
std::uint16_t unk70
Definition: FavoritesMenu.h:45
std::uint32_t pad74
Definition: FavoritesMenu.h:48
bool pcControlsReady
Definition: FavoritesMenu.h:46
BSTArray< Entry > favorites
Definition: FavoritesMenu.h:44
bool ShouldHandleEvent(const InputEvent *a_event) override
static constexpr auto RTTI
Definition: FavoritesMenu.h:21
void Accept(CallbackProcessor *a_processor) override
Definition: FxDelegateHandler.h:19
Definition: GFxValue.h:92
Definition: IMenu.h:56
Definition: InputEvent.h:26
Definition: InventoryEntryData.h:14
Definition: KinectEvent.h:9
Definition: MenuEventHandler.h:17
Definition: TESForm.h:34
Definition: UIMessage.h:28
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_FavoritesMenu
Definition: Offsets_RTTI.h:4790
UI_MESSAGE_RESULTS
Definition: IMenu.h:49
Definition: FavoritesMenu.h:25
InventoryEntryData * entryData
Definition: FavoritesMenu.h:27
TESForm * item
Definition: FavoritesMenu.h:26