CommonLibSSE NG
Loading...
Searching...
No Matches
BSInputEventQueue.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/B/BSTSingleton.h"
4#include "RE/B/ButtonEvent.h"
5#include "RE/C/CharEvent.h"
7#include "RE/K/KinectEvent.h"
10
11namespace RE
12{
13 class BSInputEventQueue : public BSTSingletonSDM<BSInputEventQueue>
14 {
15 public:
16 inline static constexpr std::uint8_t MAX_BUTTON_EVENTS = 10;
17 inline static constexpr std::uint8_t MAX_CHAR_EVENTS = 5;
18 inline static constexpr std::uint8_t MAX_MOUSE_EVENTS = 1;
19 inline static constexpr std::uint8_t MAX_THUMBSTICK_EVENTS = 2;
20 inline static constexpr std::uint8_t MAX_CONNECT_EVENTS = 1;
21 inline static constexpr std::uint8_t MAX_KINECT_EVENTS = 1;
22
24
25 void AddButtonEvent(INPUT_DEVICE a_device, std::int32_t a_id, float a_value, float a_duration);
26 void AddCharEvent(std::uint32_t a_keyCode);
27 void AddMouseMoveEvent(std::int32_t a_mouseInputX, std::int32_t a_mouseInputY);
28 void AddThumbstickEvent(ThumbstickEvent::InputType a_id, float a_xValue, float a_yValue);
29 void AddConnectEvent(INPUT_DEVICE a_device, bool a_connected);
30 void AddKinectEvent(const BSFixedString& a_userEvent, const BSFixedString& a_heard);
33
34 // members
35 std::uint8_t pad001; // 001
36 std::uint16_t pad002; // 002
37 std::uint32_t buttonEventCount; // 004
38 std::uint32_t charEventCount; // 008
39 std::uint32_t mouseEventCount; // 00C
40 std::uint32_t thumbstickEventCount; // 010
41 std::uint32_t connectEventCount; // 014
42 std::uint32_t kinectEventCount; // 018
43 std::uint32_t pad01C; // 01C
52 };
53 static_assert(sizeof(BSInputEventQueue) == 0x390);
54}
Definition BSInputEventQueue.h:14
KinectEvent kinectEvents[MAX_KINECT_EVENTS]
Definition BSInputEventQueue.h:49
void AddCharEvent(std::uint32_t a_keyCode)
std::uint32_t kinectEventCount
Definition BSInputEventQueue.h:42
std::uint32_t buttonEventCount
Definition BSInputEventQueue.h:37
static constexpr std::uint8_t MAX_MOUSE_EVENTS
Definition BSInputEventQueue.h:18
static constexpr std::uint8_t MAX_BUTTON_EVENTS
Definition BSInputEventQueue.h:16
void AddKinectEvent(const BSFixedString &a_userEvent, const BSFixedString &a_heard)
std::uint8_t pad001
Definition BSInputEventQueue.h:35
static BSInputEventQueue * GetSingleton()
InputEvent * queueTail
Definition BSInputEventQueue.h:51
void AddConnectEvent(INPUT_DEVICE a_device, bool a_connected)
std::uint32_t charEventCount
Definition BSInputEventQueue.h:38
std::uint32_t pad01C
Definition BSInputEventQueue.h:43
CharEvent charEvents[MAX_CHAR_EVENTS]
Definition BSInputEventQueue.h:45
static constexpr std::uint8_t MAX_CHAR_EVENTS
Definition BSInputEventQueue.h:17
MouseMoveEvent mouseEvents[MAX_MOUSE_EVENTS]
Definition BSInputEventQueue.h:46
std::uint16_t pad002
Definition BSInputEventQueue.h:36
static constexpr std::uint8_t MAX_KINECT_EVENTS
Definition BSInputEventQueue.h:21
std::uint32_t connectEventCount
Definition BSInputEventQueue.h:41
std::uint32_t mouseEventCount
Definition BSInputEventQueue.h:39
ThumbstickEvent thumbstickEvents[MAX_THUMBSTICK_EVENTS]
Definition BSInputEventQueue.h:47
void PushOntoInputQueue(InputEvent *a_event)
InputEvent * queueHead
Definition BSInputEventQueue.h:50
DeviceConnectEvent connectEvents[MAX_CONNECT_EVENTS]
Definition BSInputEventQueue.h:48
void AddMouseMoveEvent(std::int32_t a_mouseInputX, std::int32_t a_mouseInputY)
static constexpr std::uint8_t MAX_THUMBSTICK_EVENTS
Definition BSInputEventQueue.h:19
void AddThumbstickEvent(ThumbstickEvent::InputType a_id, float a_xValue, float a_yValue)
ButtonEvent buttonEvents[MAX_BUTTON_EVENTS]
Definition BSInputEventQueue.h:44
static constexpr std::uint8_t MAX_CONNECT_EVENTS
Definition BSInputEventQueue.h:20
void AddButtonEvent(INPUT_DEVICE a_device, std::int32_t a_id, float a_value, float a_duration)
std::uint32_t thumbstickEventCount
Definition BSInputEventQueue.h:40
Definition ButtonEvent.h:11
Definition CharEvent.h:8
Definition DeviceConnectEvent.h:8
Definition InputEvent.h:22
Definition KinectEvent.h:9
Definition MouseMoveEvent.h:8
Definition ThumbstickEvent.h:8
Definition AbsorbEffect.h:6
Definition BSTSingleton.h:50
INPUT_DEVICE
Definition InputDevices.h:8
InputType
Definition ThumbstickEvent.h:15