CommonLibSSE (powerof3)
MenuControls.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
RE/B/BSTArray.h
"
4
#include "
RE/B/BSTEvent.h
"
5
#include "
RE/B/BSTSingleton.h
"
6
#include "
RE/B/BSTSmartPointer.h
"
7
#include "
RE/Q/QuickSaveLoadHandler.h
"
8
9
namespace
RE
10
{
11
class
InputEvent;
12
class
MenuEventHandler;
13
class
MenuModeChangeEvent;
14
struct
ClickHandler;
15
struct
ConsoleOpenHandler;
16
struct
DirectionHandler;
17
struct
FavoritesHandler;
18
struct
MenuOpenHandler;
19
struct
ScreenshotHandler;
20
21
class
MenuControls
:
22
public
BSTEventSink
<InputEvent*>,
// 00
23
public
BSTSingletonSDM
<MenuControls>,
// 10
24
public
BSTEventSink
<MenuModeChangeEvent>
// 08
25
{
26
public
:
27
struct
QueuedReg
28
{
29
public
:
30
QueuedReg
(
MenuEventHandler
* a_handler,
bool
a_add);
31
~QueuedReg
() =
default
;
32
33
// members
34
MenuEventHandler
*
handler
;
// 00
35
bool
add
;
// 08
36
std::uint8_t
pad08
;
// 09
37
std::uint16_t
pad09
;
// 0A
38
std::uint32_t
pad0A
;
// 0C
39
};
40
static_assert(
sizeof
(
QueuedReg
) == 0x10);
41
42
~MenuControls
()
override
;
// 00
43
44
// override (BSTEventSink<InputEvent*>)
45
BSEventNotifyControl
ProcessEvent
(
InputEvent
*
const
* a_event,
BSTEventSource<InputEvent*>
* a_eventSource)
override
;
// 01
46
47
// override (BSTEventSink<MenuModeChangeEvent>)
48
BSEventNotifyControl
ProcessEvent
(
const
MenuModeChangeEvent
* a_event,
BSTEventSource<MenuModeChangeEvent>
* a_eventSource)
override
;
// 01
49
50
static
MenuControls
*
GetSingleton
();
51
52
void
AddHandler
(
MenuEventHandler
* a_handler);
53
[[nodiscard]] constexpr
bool
InBeastForm
() const noexcept {
return
beastForm
; }
54
void
RegisterHandler
(
MenuEventHandler
* a_handler);
55
void
RemoveHandler
(
MenuEventHandler
* a_handler);
56
bool
QueueScreenshot
();
57
void
UnregisterHandler
(
MenuEventHandler
* a_handler);
58
59
// members
60
std::uint8_t
pad11
;
// 11
61
std::uint16_t
pad12
;
// 12
62
std::uint32_t
pad14
;
// 14
63
BSTArray<MenuEventHandler*>
handlers
;
// 18
64
BSTArray<QueuedReg>
regBuffer
;
// 30
65
BSTSmartPointer<ClickHandler>
clickHandler
;
// 48
66
BSTSmartPointer<DirectionHandler>
directionHandler
;
// 50
67
BSTSmartPointer<ConsoleOpenHandler>
consoleOpenHandler
;
// 58
68
BSTSmartPointer<QuickSaveLoadHandler>
quickSaveLoadHandler
;
// 60
69
BSTSmartPointer<MenuOpenHandler>
menuOpenHandler
;
// 68
70
BSTSmartPointer<FavoritesHandler>
favoritesHandler
;
// 70
71
BSTSmartPointer<ScreenshotHandler>
screenshotHandler
;
// 78
72
bool
isProcessing
;
// 80
73
bool
beastForm
;
// 81
74
bool
remapMode
;
// 82
75
std::uint8_t
unk83
;
// 83
76
std::uint32_t
unk84
;
// 84
77
};
78
static_assert(offsetof(
MenuControls
, handlers) == 0x18);
79
static_assert(offsetof(
MenuControls
, remapMode) == 0x82);
80
static_assert(
sizeof
(
MenuControls
) == 0x88);
81
}
BSTArray.h
BSTEvent.h
BSTSingleton.h
BSTSmartPointer.h
QuickSaveLoadHandler.h
RE::BSTArray
Definition:
BSTArray.h:378
RE::BSTEventSink
Definition:
BSTEvent.h:143
RE::BSTEventSource< InputEvent * >
RE::BSTSmartPointer< ClickHandler >
RE::InputEvent
Definition:
InputEvent.h:25
RE::MenuControls
Definition:
MenuControls.h:25
RE::MenuControls::directionHandler
BSTSmartPointer< DirectionHandler > directionHandler
Definition:
MenuControls.h:66
RE::MenuControls::beastForm
bool beastForm
Definition:
MenuControls.h:73
RE::MenuControls::unk83
std::uint8_t unk83
Definition:
MenuControls.h:75
RE::MenuControls::screenshotHandler
BSTSmartPointer< ScreenshotHandler > screenshotHandler
Definition:
MenuControls.h:71
RE::MenuControls::pad11
std::uint8_t pad11
Definition:
MenuControls.h:60
RE::MenuControls::favoritesHandler
BSTSmartPointer< FavoritesHandler > favoritesHandler
Definition:
MenuControls.h:70
RE::MenuControls::handlers
BSTArray< MenuEventHandler * > handlers
Definition:
MenuControls.h:63
RE::MenuControls::menuOpenHandler
BSTSmartPointer< MenuOpenHandler > menuOpenHandler
Definition:
MenuControls.h:69
RE::MenuControls::pad14
std::uint32_t pad14
Definition:
MenuControls.h:62
RE::MenuControls::quickSaveLoadHandler
BSTSmartPointer< QuickSaveLoadHandler > quickSaveLoadHandler
Definition:
MenuControls.h:68
RE::MenuControls::ProcessEvent
BSEventNotifyControl ProcessEvent(const MenuModeChangeEvent *a_event, BSTEventSource< MenuModeChangeEvent > *a_eventSource) override
RE::MenuControls::RemoveHandler
void RemoveHandler(MenuEventHandler *a_handler)
RE::MenuControls::RegisterHandler
void RegisterHandler(MenuEventHandler *a_handler)
RE::MenuControls::regBuffer
BSTArray< QueuedReg > regBuffer
Definition:
MenuControls.h:64
RE::MenuControls::isProcessing
bool isProcessing
Definition:
MenuControls.h:72
RE::MenuControls::consoleOpenHandler
BSTSmartPointer< ConsoleOpenHandler > consoleOpenHandler
Definition:
MenuControls.h:67
RE::MenuControls::UnregisterHandler
void UnregisterHandler(MenuEventHandler *a_handler)
RE::MenuControls::unk84
std::uint32_t unk84
Definition:
MenuControls.h:76
RE::MenuControls::remapMode
bool remapMode
Definition:
MenuControls.h:74
RE::MenuControls::clickHandler
BSTSmartPointer< ClickHandler > clickHandler
Definition:
MenuControls.h:65
RE::MenuControls::QueueScreenshot
bool QueueScreenshot()
RE::MenuControls::pad12
std::uint16_t pad12
Definition:
MenuControls.h:61
RE::MenuControls::AddHandler
void AddHandler(MenuEventHandler *a_handler)
RE::MenuControls::~MenuControls
~MenuControls() override
RE::MenuControls::ProcessEvent
BSEventNotifyControl ProcessEvent(InputEvent *const *a_event, BSTEventSource< InputEvent * > *a_eventSource) override
RE::MenuControls::InBeastForm
constexpr bool InBeastForm() const noexcept
Definition:
MenuControls.h:53
RE::MenuControls::GetSingleton
static MenuControls * GetSingleton()
RE::MenuEventHandler
Definition:
MenuEventHandler.h:14
RE::MenuModeChangeEvent
Definition:
MenuModeChangeEvent.h:8
RE
Definition:
AbsorbEffect.h:6
RE::BSEventNotifyControl
BSEventNotifyControl
Definition:
BSTEvent.h:12
RE::BSTSingletonSDM
Definition:
BSTSingleton.h:50
RE::MenuControls::QueuedReg
Definition:
MenuControls.h:28
RE::MenuControls::QueuedReg::handler
MenuEventHandler * handler
Definition:
MenuControls.h:34
RE::MenuControls::QueuedReg::pad0A
std::uint32_t pad0A
Definition:
MenuControls.h:38
RE::MenuControls::QueuedReg::~QueuedReg
~QueuedReg()=default
RE::MenuControls::QueuedReg::pad08
std::uint8_t pad08
Definition:
MenuControls.h:36
RE::MenuControls::QueuedReg::pad09
std::uint16_t pad09
Definition:
MenuControls.h:37
RE::MenuControls::QueuedReg::add
bool add
Definition:
MenuControls.h:35
RE::MenuControls::QueuedReg::QueuedReg
QueuedReg(MenuEventHandler *a_handler, bool a_add)
CommonLibSSE
include
RE
M
MenuControls.h
Generated by
1.9.1