CommonLibSSE NG
FaderMenu.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 = kAlwaysOpen | kAllowSaving | kCustomRendering
9  // context = kNone
10  class FaderMenu : public IMenu
11  {
12  public:
13  inline static constexpr auto RTTI = RTTI_FaderMenu;
14  constexpr static std::string_view MENU_NAME = "Fader Menu";
15 
16  struct RUNTIME_DATA
17  {
18 #define RUNTIME_DATA_CONTENT \
19  void* unk30; /* 00 - smart ptr */ \
20  std::uint8_t unk38; /* 08 */ \
21  std::uint8_t unk39; /* 09 */ \
22  std::uint16_t pad3A; /* 0A */ \
23  std::uint32_t pad3C; /* 0C */
24 
26  };
27  static_assert(sizeof(RUNTIME_DATA) == 0x10);
28 
29  ~FaderMenu() override; // 00
30 
31  // override (IMenu)
32  UI_MESSAGE_RESULTS ProcessMessage(UIMessage& a_message) override; // 04
33 
34  // members
35 #ifndef SKYRIM_CROSS_VR
36  RUNTIME_DATA_CONTENT // 30 - smart ptr
37 #endif
38  };
39 #ifndef ENABLE_SKYRIM_VR
40  static_assert(sizeof(FaderMenu) == 0x40);
41 #elif !defined(ENABLE_SKYRIM_AE) && !defined(ENABLE_SKYRIM_SE)
42  static_assert(sizeof(FaderMenu) == 0x50);
43 #endif
44 }
45 #undef RUNTIME_DATA_CONTENT
#define RUNTIME_DATA_CONTENT
Definition: FaderMenu.h:18
Definition: FaderMenu.h:11
static constexpr auto RTTI
Definition: FaderMenu.h:13
~FaderMenu() override
UI_MESSAGE_RESULTS ProcessMessage(UIMessage &a_message) override
constexpr static std::string_view MENU_NAME
Definition: FaderMenu.h:14
Definition: IMenu.h:55
Definition: UIMessage.h:28
Definition: AbsorbEffect.h:6
constexpr REL::VariantID RTTI_FaderMenu(688830, 396682, 0x1f46750)
UI_MESSAGE_RESULTS
Definition: IMenu.h:48
Definition: FaderMenu.h:17