CommonLibSSE NG
LevelUpMenu.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 | kModal | kDisablePauseMenu
9  // kUsesCursor is gamepad is disabled
10  // context = kMenuMode
11  class LevelUpMenu : public IMenu
12  {
13  public:
14  inline static constexpr auto RTTI = RTTI_LevelUpMenu;
15  constexpr static std::string_view MENU_NAME = "LevelUp Menu";
16 
17  struct RUNTIME_DATA
18  {
19 #define RUNTIME_DATA_CONTENT \
20  bool unk30; /* 00 */ \
21  std::uint8_t pad31; /* 01 */ \
22  std::uint16_t pad32; /* 02 */ \
23  std::uint32_t pad34; /* 04 */
24 
26  };
27  static_assert(sizeof(RUNTIME_DATA) == 0x8);
28 
29  ~LevelUpMenu() override; // 00
30 
31  // override (IMenu)
32  void Accept(CallbackProcessor* a_cbReg) override; // 01
33 
34  [[nodiscard]] inline RUNTIME_DATA& GetRuntimeData() noexcept
35  {
36  return REL::RelocateMember<RUNTIME_DATA>(this, 0x30, 0x40);
37  }
38 
39  [[nodiscard]] inline const RUNTIME_DATA& GetRuntimeData() const noexcept
40  {
41  return REL::RelocateMember<RUNTIME_DATA>(this, 0x30, 0x40);
42  }
43 
44  // members
45 #ifndef SKYRIM_CROSS_VR
46  RUNTIME_DATA_CONTENT // 30, 40
47 #endif
48  };
49 #ifndef ENABLE_SKYRIM_VR
50  static_assert(sizeof(LevelUpMenu) == 0x38);
51 #elif !defined(ENABLE_SKYRIM_AE) && !defined(ENABLE_SKYRIM_SE)
52  static_assert(sizeof(LevelUpMenu) == 0x48);
53 #endif
54 }
55 #undef RUNTIME_DATA_CONTENT
#define RUNTIME_DATA_CONTENT
Definition: LevelUpMenu.h:19
Definition: FxDelegateHandler.h:19
Definition: IMenu.h:55
Definition: LevelUpMenu.h:12
static constexpr auto RTTI
Definition: LevelUpMenu.h:14
void Accept(CallbackProcessor *a_cbReg) override
~LevelUpMenu() override
constexpr static std::string_view MENU_NAME
Definition: LevelUpMenu.h:15
const RUNTIME_DATA & GetRuntimeData() const noexcept
Definition: LevelUpMenu.h:39
RUNTIME_DATA & GetRuntimeData() noexcept
Definition: LevelUpMenu.h:34
Definition: AbsorbEffect.h:6
constexpr REL::VariantID RTTI_LevelUpMenu(688860, 396712, 0x1f46e88)
Definition: LevelUpMenu.h:18