CommonLibSSE NG
ConsoleNativeUIMenu.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/I/IMenu.h"
4 
5 namespace RE
6 {
7  // menuDepth = 3
8  // flags = kPausesGame
9  // context = kNone
10  class ConsoleNativeUIMenu : public IMenu
11  {
12  public:
13  inline static constexpr auto RTTI = RTTI_ConsoleNativeUIMenu;
14  constexpr static std::string_view MENU_NAME = "Console Native UI Menu";
15 
16  struct RUNTIME_DATA
17  {
18 #define RUNTIME_DATA_CONTENT \
19  std::uint8_t unk30; /* 00 */ \
20  std::uint8_t pad31; /* 01 */ \
21  std::uint16_t pad32; /* 02 */ \
22  std::uint32_t pad34; /* 04 */
23 
25  };
26  static_assert(sizeof(RUNTIME_DATA) == 0x8);
27 
28  ~ConsoleNativeUIMenu() override; // 00
29 
30  // override (IMenu)
31  UI_MESSAGE_RESULTS ProcessMessage(UIMessage& a_message) override; // 04
32 
33  [[nodiscard]] inline RUNTIME_DATA& GetRuntimeData() noexcept
34  {
35  return REL::RelocateMember<RUNTIME_DATA>(this, 0x30, 0x40);
36  }
37 
38  [[nodiscard]] inline const RUNTIME_DATA& GetRuntimeData() const noexcept
39  {
40  return REL::RelocateMember<RUNTIME_DATA>(this, 0x30, 0x40);
41  }
42 
43  // members
44 #ifndef SKYRIM_CROSS_VR
45  RUNTIME_DATA_CONTENT // 30, 40
46 #endif
47  };
48 #ifndef ENABLE_SKYRIM_VR
49  static_assert(sizeof(ConsoleNativeUIMenu) == 0x38);
50 #elif !defined(ENABLE_SKYRIM_AE) && !defined(ENABLE_SKYRIM_SE)
51  static_assert(sizeof(ConsoleNativeUIMenu) == 0x48);
52 #endif
53 }
54 #undef RUNTIME_DATA_CONTENT
#define RUNTIME_DATA_CONTENT
Definition: ConsoleNativeUIMenu.h:18
Definition: ConsoleNativeUIMenu.h:11
static constexpr auto RTTI
Definition: ConsoleNativeUIMenu.h:13
constexpr static std::string_view MENU_NAME
Definition: ConsoleNativeUIMenu.h:14
const RUNTIME_DATA & GetRuntimeData() const noexcept
Definition: ConsoleNativeUIMenu.h:38
RUNTIME_DATA & GetRuntimeData() noexcept
Definition: ConsoleNativeUIMenu.h:33
~ConsoleNativeUIMenu() override
UI_MESSAGE_RESULTS ProcessMessage(UIMessage &a_message) override
Definition: IMenu.h:55
Definition: UIMessage.h:28
Definition: AbsorbEffect.h:6
UI_MESSAGE_RESULTS
Definition: IMenu.h:48
constexpr REL::VariantID RTTI_ConsoleNativeUIMenu(688805, 396657, 0x1f46080)
Definition: ConsoleNativeUIMenu.h:17