CommonLibSSE (Parapets fork)
JournalMenu.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSTEvent.h"
4 #include "RE/I/IMenu.h"
9 
10 namespace RE
11 {
12  class BSSystemEvent;
13 
14  // menuDepth = 5
15  // flags = kPausesGame | kUsesMenuContext | kFreezeFrameBackground | kRequiresUpdate | kTopmostRenderedMenu | kUpdateUsesCursor | kAllowSaving
16  // kDisablePauseMenu if game load prevented
17  // context = kJournal
18  class JournalMenu :
19  public IMenu, // 00
20  public MenuEventHandler, // 30
21  public BSTEventSink<BSSystemEvent> // 40
22  {
23  public:
24  inline static constexpr auto RTTI = RTTI_JournalMenu;
25  constexpr static std::string_view MENU_NAME = "Journal Menu";
26 
27  ~JournalMenu() override; // 00
28 
29  // override (IMenu)
30  void Accept(CallbackProcessor* a_processor) override; // 01
31  UI_MESSAGE_RESULTS ProcessMessage(UIMessage& a_message) override; // 04
32  void AdvanceMovie(float a_interval, std::uint32_t a_currentTime) override; // 05
33  void PostDisplay() override; // 06
34 
35  // override (MenuEventHandler)
36  bool ShouldHandleEvent(const InputEvent* a_event) override; // 01
37  bool HandleEvent(const ThumbstickEvent* a_event) override; // 03
38 
39  // override (BSTEventSink<BSSystemEvent>)
40  BSEventNotifyControl ProcessEvent(const BSSystemEvent* a_event, BSTEventSource<BSSystemEvent>* a_eventSource) override; // 01
41 
42  // members
46  std::uint64_t unkD0; // D0
47  std::uint64_t unkD8; // D8
48  std::uint64_t unkE0; // E0
49  };
50 #ifndef SKYRIMVR
51  static_assert(sizeof(JournalMenu) == 0xE8);
52 #else
53  //static_assert(sizeof(JournalMenu) == 0x108);
54 #endif
55 }
Definition: BSTEvent.h:146
Definition: FxDelegateHandler.h:19
Definition: IMenu.h:56
Definition: InputEvent.h:26
Definition: JournalMenu.h:22
UI_MESSAGE_RESULTS ProcessMessage(UIMessage &a_message) override
void AdvanceMovie(float a_interval, std::uint32_t a_currentTime) override
~JournalMenu() override
std::uint64_t unkD0
Definition: JournalMenu.h:46
Journal_SystemTab systemTab
Definition: JournalMenu.h:45
constexpr static std::string_view MENU_NAME
Definition: JournalMenu.h:25
Journal_StatsTab statsTab
Definition: JournalMenu.h:44
Journal_QuestsTab questsTab
Definition: JournalMenu.h:43
std::uint64_t unkE0
Definition: JournalMenu.h:48
std::uint64_t unkD8
Definition: JournalMenu.h:47
static constexpr auto RTTI
Definition: JournalMenu.h:24
BSEventNotifyControl ProcessEvent(const BSSystemEvent *a_event, BSTEventSource< BSSystemEvent > *a_eventSource) override
bool HandleEvent(const ThumbstickEvent *a_event) override
bool ShouldHandleEvent(const InputEvent *a_event) override
void PostDisplay() override
void Accept(CallbackProcessor *a_processor) override
Definition: Journal_QuestsTab.h:9
Definition: Journal_StatsTab.h:8
Definition: Journal_SystemTab.h:19
Definition: MenuEventHandler.h:17
Definition: ThumbstickEvent.h:8
Definition: UIMessage.h:28
Definition: AbsorbEffect.h:6
UI_MESSAGE_RESULTS
Definition: IMenu.h:49
constexpr REL::ID RTTI_JournalMenu
Definition: Offsets_RTTI.h:5087
BSEventNotifyControl
Definition: BSTEvent.h:12