CommonLibSSE (powerof3)
RaceSexMenu.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSTArray.h"
4 #include "RE/I/IMenu.h"
6 #include "RE/R/RaceSexCamera.h"
7 #include "RE/S/Sexes.h"
8 
9 namespace RE
10 {
11  // menuDepth = 3
12  // flags = kPausesGame | kUsesMenuContext | kRequiresUpdate | kTopmostRenderedMenu | kUpdateUsesCursor
13  // context = kItemMenu
14  class RaceSexMenu :
15  public IMenu, // 00
16  public MenuEventHandler // 30
17  {
18  public:
19  inline static constexpr auto RTTI = RTTI_RaceSexMenu;
20  constexpr static std::string_view MENU_NAME = "RaceSex Menu";
21 
22  ~RaceSexMenu() override; // 00
23 
24  // override (IMenu)
25  void Accept(CallbackProcessor* a_processor) override; // 01
26  void PostCreate() override; // 02
27  UI_MESSAGE_RESULTS ProcessMessage(UIMessage& a_message) override; // 04
28  void AdvanceMovie(float a_interval, std::uint32_t a_currentTime) override; // 05
29 
30  // override (MenuEventHandler)
31  bool CanProcess(InputEvent* a_event) override = 0; // 01
32  bool ProcessThumbstick(ThumbstickEvent* a_event) override; // 03
33  bool ProcessMouseMove(MouseMoveEvent* a_event) override; // 04
34  bool ProcessButton(ButtonEvent* a_event) override; // 05
35 
36  void ChangeName(const char* a_name);
37 
38  // members
43  std::uint64_t unk188; // 188
44  std::uint32_t unk190; // 190
45  std::uint32_t unk194; // 194
47  std::uint16_t unk19C; // 19C
48  std::uint8_t unk19E; // 19E
49  std::uint8_t pad19F; // 19F
50  std::uint8_t unk1A0; // 1A0
51  std::uint8_t unk1A1; // 1A1
52  std::uint16_t unk1A2; // 1A2
53  std::uint32_t unk1A4; // 1A4
54  };
55  static_assert(sizeof(RaceSexMenu) == 0x1A8);
56 }
Definition: ButtonEvent.h:11
Definition: FxDelegateHandler.h:20
Definition: IMenu.h:55
Definition: InputEvent.h:25
Definition: MenuEventHandler.h:14
Definition: MouseMoveEvent.h:8
Definition: RaceSexCamera.h:8
Definition: RaceSexMenu.h:17
BSTArray< void * > unk040[7]
Definition: RaceSexMenu.h:39
BSTArray< void * > unk140[2]
Definition: RaceSexMenu.h:41
~RaceSexMenu() override
std::uint8_t pad19F
Definition: RaceSexMenu.h:49
std::uint16_t unk1A2
Definition: RaceSexMenu.h:52
std::uint32_t unk194
Definition: RaceSexMenu.h:45
void PostCreate() override
std::uint16_t unk19C
Definition: RaceSexMenu.h:47
bool ProcessMouseMove(MouseMoveEvent *a_event) override
UI_MESSAGE_RESULTS ProcessMessage(UIMessage &a_message) override
std::uint32_t unk1A4
Definition: RaceSexMenu.h:53
std::uint8_t unk19E
Definition: RaceSexMenu.h:48
bool ProcessButton(ButtonEvent *a_event) override
RaceSexCamera camera
Definition: RaceSexMenu.h:40
std::uint8_t unk1A0
Definition: RaceSexMenu.h:50
std::uint64_t unk188
Definition: RaceSexMenu.h:43
std::uint8_t unk1A1
Definition: RaceSexMenu.h:51
constexpr static std::string_view MENU_NAME
Definition: RaceSexMenu.h:20
static constexpr auto RTTI
Definition: RaceSexMenu.h:19
REX::EnumSet< SEX, std::uint32_t > sex
Definition: RaceSexMenu.h:46
bool ProcessThumbstick(ThumbstickEvent *a_event) override
std::uint32_t unk190
Definition: RaceSexMenu.h:44
void AdvanceMovie(float a_interval, std::uint32_t a_currentTime) override
void ChangeName(const char *a_name)
void Accept(CallbackProcessor *a_processor) override
BSTArray< void * > unk170
Definition: RaceSexMenu.h:42
bool CanProcess(InputEvent *a_event) override=0
Definition: ThumbstickEvent.h:8
Definition: UIMessage.h:28
Definition: AbsorbEffect.h:6
UI_MESSAGE_RESULTS
Definition: IMenu.h:48
constexpr REL::ID RTTI_RaceSexMenu(static_cast< std::uint64_t >(688899))