CommonLibSSE (powerof3)
PlayerControls.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSPointerHandle.h"
4 #include "RE/B/BSTArray.h"
5 #include "RE/B/BSTEvent.h"
6 #include "RE/B/BSTSingleton.h"
8 
9 namespace RE
10 {
11  class InputEvent;
12  class MenuModeChangeEvent;
13  class MenuOpenCloseEvent;
14  class PlayerInputHandler;
15  struct ActivateHandler;
16  struct AttackBlockHandler;
17  struct AutoMoveHandler;
18  struct JumpHandler;
19  struct LookHandler;
20  struct MovementHandler;
21  struct ReadyWeaponHandler;
22  struct RunHandler;
23  struct ShoutHandler;
24  struct SneakHandler;
25  struct SprintHandler;
26  struct TESFurnitureEvent;
27  struct TogglePOVHandler;
28  struct ToggleRunHandler;
29 
31  public BSTEventSink<InputEvent*>, // 000
32  public BSTEventSink<MenuOpenCloseEvent>, // 008
33  public BSTEventSink<MenuModeChangeEvent>, // 010
34  public BSTSingletonSDM<PlayerControls>, // 020
35  public BSTEventSink<TESFurnitureEvent> // 018
36  {
37  public:
38  inline static constexpr auto RTTI = RTTI_PlayerControls;
39 
41  ~PlayerControls() override = default; // 00
42 
44 
45  constexpr ActivateHandler* GetActivateHandler() const noexcept { return activateHandler; }
46 
47  // members
48  std::uint8_t pad021; // 021
49  std::uint16_t pad022; // 022
51  std::uint32_t pad054; // 054
55  std::uint8_t unk0A0[8]; // 0A0
56  std::uint64_t unk0A8; // 0A8
57  float unk0B0[8]; // 0B0
58  std::uint32_t unk0D0[10]; // 0D0
59  std::uint8_t unk0F8[8]; // 0F8
60  float unk100[20]; // 100
62  mutable BSSpinLock actorArrayLock; // 168
76  bool notifyingHandlers; // 1D8
77  bool blockPlayerInput; // 1D9
78  std::uint16_t unk1DA; // 1DA
79  std::uint32_t unk1DC; // 1DC
80 
81  private:
82  PlayerControls* Ctor();
83  };
84  static_assert(sizeof(PlayerControls) == 0x1E0);
85 }
Definition: BSAtomic.h:49
Definition: BSTArray.h:377
Definition: BSTEvent.h:146
Definition: PlayerControlsData.h:8
Definition: PlayerControls.h:36
PlayerControlsData data
Definition: PlayerControls.h:50
BSTArray< void * > unk088
Definition: PlayerControls.h:54
BSSpinLock actorArrayLock
Definition: PlayerControls.h:62
BSTArray< ActorHandle > actionInterestedActor
Definition: PlayerControls.h:61
ToggleRunHandler * toggleRunHandler
Definition: PlayerControls.h:68
std::uint32_t pad054
Definition: PlayerControls.h:51
TogglePOVHandler * togglePOVHandler
Definition: PlayerControls.h:75
~PlayerControls() override=default
JumpHandler * jumpHandler
Definition: PlayerControls.h:70
BSTArray< void * > unk070
Definition: PlayerControls.h:53
std::uint8_t pad021
Definition: PlayerControls.h:48
std::uint8_t unk0F8[8]
Definition: PlayerControls.h:59
RunHandler * runHandler
Definition: PlayerControls.h:73
std::uint16_t pad022
Definition: PlayerControls.h:49
std::uint16_t unk1DA
Definition: PlayerControls.h:78
static constexpr auto RTTI
Definition: PlayerControls.h:38
SprintHandler * sprintHandler
Definition: PlayerControls.h:65
AutoMoveHandler * autoMoveHandler
Definition: PlayerControls.h:67
std::uint64_t unk0A8
Definition: PlayerControls.h:56
ShoutHandler * shoutHandler
Definition: PlayerControls.h:71
bool notifyingHandlers
Definition: PlayerControls.h:76
static PlayerControls * GetSingleton()
MovementHandler * movementHandler
Definition: PlayerControls.h:63
LookHandler * lookHandler
Definition: PlayerControls.h:64
SneakHandler * sneakHandler
Definition: PlayerControls.h:74
BSTArray< PlayerInputHandler * > handlers
Definition: PlayerControls.h:52
constexpr ActivateHandler * GetActivateHandler() const noexcept
Definition: PlayerControls.h:45
ReadyWeaponHandler * readyWeaponHandler
Definition: PlayerControls.h:66
std::uint32_t unk0D0[10]
Definition: PlayerControls.h:58
float unk100[20]
Definition: PlayerControls.h:60
float unk0B0[8]
Definition: PlayerControls.h:57
bool blockPlayerInput
Definition: PlayerControls.h:77
AttackBlockHandler * attackBlockHandler
Definition: PlayerControls.h:72
std::uint8_t unk0A0[8]
Definition: PlayerControls.h:55
std::uint32_t unk1DC
Definition: PlayerControls.h:79
ActivateHandler * activateHandler
Definition: PlayerControls.h:69
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_PlayerControls
Definition: Offsets_RTTI.h:5719
Definition: ActivateHandler.h:8
Definition: AttackBlockHandler.h:8
Definition: AutoMoveHandler.h:8
Definition: BSTSingleton.h:50
Definition: JumpHandler.h:8
Definition: LookHandler.h:8
Definition: MovementHandler.h:8
Definition: ReadyWeaponHandler.h:8
Definition: RunHandler.h:8
Definition: ShoutHandler.h:8
Definition: SneakHandler.h:8
Definition: SprintHandler.h:8
Definition: TogglePOVHandler.h:8
Definition: ToggleRunHandler.h:8