CommonLibSSE NG
CreditsMenu.h
Go to the documentation of this file.
1 #pragma once
2 
4 #include "RE/I/IMenu.h"
5 
6 namespace RE
7 {
8  // menuDepth = 10
9  // flags = kPausesGame
10  // context = kMenuMode
11  class CreditsMenu :
12 #ifndef SKYRIM_CROSS_VR
13  public IMenu, // 00
14  public GFxFunctionHandler // 30
15 #else
16  public IMenu // 00
17 #endif
18  {
19  public:
20  inline static constexpr auto RTTI = RTTI_CreditsMenu;
21  constexpr static std::string_view MENU_NAME = "Credits Menu";
22 
23  ~CreditsMenu() override; // 00
24 
25  // override (IMenu)
26  UI_MESSAGE_RESULTS ProcessMessage(UIMessage& a_message) override; // 04
27 
28 #ifndef SKYRIM_CROSS_VR
29  // override (GFxFunctionHandler)
30  void Call(Params& a_params) override; // 01
31 #endif
32 
33  [[nodiscard]] GFxFunctionHandler* AsGFxFunctionHandler() noexcept
34  {
35  return &REL::RelocateMember<GFxFunctionHandler>(this, 0x30, 0x40);
36  }
37 
38  [[nodiscard]] const GFxFunctionHandler* AsGFxFunctionHandler() const noexcept
39  {
40  return const_cast<CreditsMenu*>(this)->AsGFxFunctionHandler();
41  }
42  };
43 #ifndef ENABLE_SKYRIM_VR
44  static_assert(sizeof(CreditsMenu) == 0x40);
45 #elif !defined(ENABLE_SKYRIM_AE) && !defined(ENABLE_SKYRIM_SE)
46  static_assert(sizeof(CreditsMenu) == 0x50);
47 #endif
48 }
Definition: CreditsMenu.h:18
constexpr static std::string_view MENU_NAME
Definition: CreditsMenu.h:21
~CreditsMenu() override
static constexpr auto RTTI
Definition: CreditsMenu.h:20
void Call(Params &a_params) override
const GFxFunctionHandler * AsGFxFunctionHandler() const noexcept
Definition: CreditsMenu.h:38
UI_MESSAGE_RESULTS ProcessMessage(UIMessage &a_message) override
GFxFunctionHandler * AsGFxFunctionHandler() noexcept
Definition: CreditsMenu.h:33
Definition: GFxFunctionHandler.h:12
Definition: IMenu.h:55
Definition: UIMessage.h:28
Definition: AbsorbEffect.h:6
constexpr REL::VariantID RTTI_CreditsMenu(688827, 396679, 0x1f466d8)
UI_MESSAGE_RESULTS
Definition: IMenu.h:48
Definition: GFxFunctionHandler.h:17