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  inline static constexpr auto VTABLE = VTABLE_PlayerControls;
40 
42  ~PlayerControls() override = default; // 00
43 
45 
46  constexpr ActivateHandler* GetActivateHandler() const noexcept { return activateHandler; }
47 
48  // members
49  std::uint8_t pad021; // 021
50  std::uint16_t pad022; // 022
52  std::uint32_t pad054; // 054
56  std::uint8_t unk0A0[8]; // 0A0
57  std::uint64_t unk0A8; // 0A8
58  float unk0B0[8]; // 0B0
59  std::uint32_t unk0D0[10]; // 0D0
60  std::uint8_t unk0F8[8]; // 0F8
61  float unk100[20]; // 100
63  mutable BSSpinLock actorArrayLock; // 168
77  bool notifyingHandlers; // 1D8
78  bool blockPlayerInput; // 1D9
79  std::uint16_t unk1DA; // 1DA
80  std::uint32_t unk1DC; // 1DC
81 
82  private:
83  PlayerControls* Ctor();
84  };
85  static_assert(sizeof(PlayerControls) == 0x1E0);
86 }
Definition: BSAtomic.h:92
Definition: BSTArray.h:378
Definition: BSTEvent.h:143
Definition: PlayerControlsData.h:8
Definition: PlayerControls.h:36
PlayerControlsData data
Definition: PlayerControls.h:51
BSTArray< void * > unk088
Definition: PlayerControls.h:55
BSSpinLock actorArrayLock
Definition: PlayerControls.h:63
BSTArray< ActorHandle > actionInterestedActor
Definition: PlayerControls.h:62
ToggleRunHandler * toggleRunHandler
Definition: PlayerControls.h:69
std::uint32_t pad054
Definition: PlayerControls.h:52
TogglePOVHandler * togglePOVHandler
Definition: PlayerControls.h:76
~PlayerControls() override=default
JumpHandler * jumpHandler
Definition: PlayerControls.h:71
BSTArray< void * > unk070
Definition: PlayerControls.h:54
std::uint8_t pad021
Definition: PlayerControls.h:49
std::uint8_t unk0F8[8]
Definition: PlayerControls.h:60
RunHandler * runHandler
Definition: PlayerControls.h:74
std::uint16_t pad022
Definition: PlayerControls.h:50
std::uint16_t unk1DA
Definition: PlayerControls.h:79
static constexpr auto RTTI
Definition: PlayerControls.h:38
SprintHandler * sprintHandler
Definition: PlayerControls.h:66
AutoMoveHandler * autoMoveHandler
Definition: PlayerControls.h:68
std::uint64_t unk0A8
Definition: PlayerControls.h:57
ShoutHandler * shoutHandler
Definition: PlayerControls.h:72
bool notifyingHandlers
Definition: PlayerControls.h:77
static PlayerControls * GetSingleton()
MovementHandler * movementHandler
Definition: PlayerControls.h:64
static constexpr auto VTABLE
Definition: PlayerControls.h:39
LookHandler * lookHandler
Definition: PlayerControls.h:65
SneakHandler * sneakHandler
Definition: PlayerControls.h:75
BSTArray< PlayerInputHandler * > handlers
Definition: PlayerControls.h:53
constexpr ActivateHandler * GetActivateHandler() const noexcept
Definition: PlayerControls.h:46
ReadyWeaponHandler * readyWeaponHandler
Definition: PlayerControls.h:67
std::uint32_t unk0D0[10]
Definition: PlayerControls.h:59
float unk100[20]
Definition: PlayerControls.h:61
float unk0B0[8]
Definition: PlayerControls.h:58
bool blockPlayerInput
Definition: PlayerControls.h:78
AttackBlockHandler * attackBlockHandler
Definition: PlayerControls.h:73
std::uint8_t unk0A0[8]
Definition: PlayerControls.h:56
std::uint32_t unk1DC
Definition: PlayerControls.h:80
ActivateHandler * activateHandler
Definition: PlayerControls.h:70
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 4 > VTABLE_PlayerControls
Definition: Offsets_VTABLE.h:12553
constexpr REL::ID RTTI_PlayerControls(static_cast< std::uint64_t >(687045))
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