CommonLibSSE (powerof3)
MistMenu.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/I/IMenu.h"
5 #include "RE/N/NiColor.h"
7 
8 namespace RE
9 {
10  // menuDepth = 8
11  // flags = kDisablePauseMenu | kAllowSaving | kDontHideCursorWhenTopmost
12  // context = kNone
13  class MistMenu :
14  public IMenu, // 00
16  public MenuEventHandler // 48
17  {
18  public:
19  inline static constexpr auto RTTI = RTTI_MistMenu;
20  constexpr static std::string_view MENU_NAME = "Mist Menu";
21 
22  struct Colors
23  {
24  enum Color
25  {
32 
33  kTotal
34  };
35  };
36 
37  ~MistMenu() override; // 00
38 
39  // override (IMenu)
40  UI_MESSAGE_RESULTS ProcessMessage(UIMessage& a_message) override; // 04
41  void AdvanceMovie(float a_interval, std::uint32_t a_currentTime) override; // 05
42  void PostDisplay() override; // 06
43 
44  // override (MenuEventHandler)
45  bool CanProcess(InputEvent* a_event) override; // 01
46  bool ProcessThumbstick(ThumbstickEvent* a_event) override; // 03
47  bool ProcessMouseMove(MouseMoveEvent* a_event) override; // 04
48  bool ProcessButton(ButtonEvent* a_event) override; // 05
49 
50  // members
52  std::uint32_t unk0A0; // 0A0
53  std::uint32_t unk0A4; // 0A4
54  std::uint64_t unk0A8; // 0A8
55  void* unk0B0; // 0B0 - smart ptr
56  void* unk0B8; // 0B8
57  void* unk0C0; // 0C0
58  void* unk0C8; // 0C8 - smart ptr
59  void* unk0D0; // 0D0 - smart ptr
60  void* unk0D8; // 0D8 - smart ptr
61  void* unk0E0; // 0E0 - smart ptr
62  std::uint64_t unk0E8; // 0E8
63  std::uint64_t unk0F0; // 0F0
64  std::uint64_t unk0F8; // 0F8
65  std::uint32_t unk100; // 100
66  std::uint32_t unk104; // 104
67  std::uint32_t unk108; // 108
68  std::uint32_t unk10C; // 10C
69  float unk110; // 110
70  std::uint32_t unk114; // 114
71  std::uint64_t unk118; // 118
72  float unk120; // 120
73  std::uint32_t unk124; // 124
74  std::uint64_t unk128; // 128
75  float unk130; // 130
76  std::uint8_t unk134; // 134
77  std::uint8_t unk135; // 135
78  std::uint16_t unk136; // 136
79  std::uint32_t unk138; // 138
80  std::uint32_t pad13C; // 13C
81  };
82  static_assert(sizeof(MistMenu) == 0x140);
83 }
Definition: ButtonEvent.h:10
Definition: IMenu.h:55
Definition: InputEvent.h:22
Definition: MenuEventHandler.h:14
Definition: MistMenu.h:17
std::uint32_t unk124
Definition: MistMenu.h:73
std::uint64_t unk0A8
Definition: MistMenu.h:54
static constexpr auto RTTI
Definition: MistMenu.h:19
std::uint32_t unk138
Definition: MistMenu.h:79
std::uint64_t unk118
Definition: MistMenu.h:71
std::uint32_t unk10C
Definition: MistMenu.h:68
void * unk0C8
Definition: MistMenu.h:58
UI_MESSAGE_RESULTS ProcessMessage(UIMessage &a_message) override
void AdvanceMovie(float a_interval, std::uint32_t a_currentTime) override
void * unk0D0
Definition: MistMenu.h:59
std::uint32_t unk0A0
Definition: MistMenu.h:52
std::uint64_t unk0F0
Definition: MistMenu.h:63
std::uint64_t unk0E8
Definition: MistMenu.h:62
constexpr static std::string_view MENU_NAME
Definition: MistMenu.h:20
std::uint32_t unk100
Definition: MistMenu.h:65
std::uint64_t unk128
Definition: MistMenu.h:74
bool CanProcess(InputEvent *a_event) override
void PostDisplay() override
std::uint32_t unk108
Definition: MistMenu.h:67
void * unk0D8
Definition: MistMenu.h:60
float unk110
Definition: MistMenu.h:69
bool ProcessMouseMove(MouseMoveEvent *a_event) override
std::uint8_t unk135
Definition: MistMenu.h:77
void * unk0E0
Definition: MistMenu.h:61
void * unk0B0
Definition: MistMenu.h:55
float unk130
Definition: MistMenu.h:75
void * unk0B8
Definition: MistMenu.h:56
std::uint32_t unk104
Definition: MistMenu.h:66
NiColor ambientColors[Colors::kTotal]
Definition: MistMenu.h:51
std::uint32_t pad13C
Definition: MistMenu.h:80
std::uint16_t unk136
Definition: MistMenu.h:78
void * unk0C0
Definition: MistMenu.h:57
bool ProcessThumbstick(ThumbstickEvent *a_event) override
std::uint32_t unk114
Definition: MistMenu.h:70
~MistMenu() override
std::uint32_t unk0A4
Definition: MistMenu.h:53
std::uint64_t unk0F8
Definition: MistMenu.h:64
float unk120
Definition: MistMenu.h:72
bool ProcessButton(ButtonEvent *a_event) override
std::uint8_t unk134
Definition: MistMenu.h:76
Definition: MouseMoveEvent.h:8
Definition: NiColor.h:9
Definition: SimpleAnimationGraphManagerHolder.h:11
Definition: ThumbstickEvent.h:8
Definition: UIMessage.h:28
Definition: AbsorbEffect.h:6
UI_MESSAGE_RESULTS
Definition: IMenu.h:48
constexpr REL::ID RTTI_MistMenu
Definition: Offsets_RTTI.h:5165
Definition: MistMenu.h:23
Color
Definition: MistMenu.h:25
@ kTotal
Definition: MistMenu.h:33
@ kZPos
Definition: MistMenu.h:31
@ kXPos
Definition: MistMenu.h:27
@ kXNeg
Definition: MistMenu.h:26
@ kYPos
Definition: MistMenu.h:29
@ kZNeg
Definition: MistMenu.h:30
@ kYNeg
Definition: MistMenu.h:28