CommonLibSSE (powerof3)
FirstPersonState.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/N/NiPoint3.h"
5 #include "RE/T/TESCameraState.h"
6 
7 namespace RE
8 {
9  class NiNode;
10 
12  public TESCameraState, // 00
13  public PlayerInputHandler // 20
14  {
15  public:
16  inline static constexpr auto RTTI = RTTI_FirstPersonState;
17 
18  ~FirstPersonState() override; // 00
19 
20  // override (TESCameraState)
21  void Begin() override; // 01
22  void End() override; // 02
23  void Update(BSTSmartPointer<TESCameraState>& a_nextState) override; // 03
24  void GetRotation(NiQuaternion& a_rotation) override; // 04
25  void GetTranslation(NiPoint3& a_translation) override; // 05
26  void SaveGame(BGSSaveFormBuffer* a_buf) override; // 06
27  void LoadGame(BGSLoadFormBuffer* a_buf) override; // 07
28  void Revert(BGSLoadFormBuffer* a_buf) override; // 08
29 
30  // override (PlayerInputHandler)
31  bool CanProcess(InputEvent* a_event) override; // 01
32  void ProcessButton(ButtonEvent* a_event, PlayerControlsData* a_movementData) override; // 04
33 
34  // members
38  std::uint32_t pad54; // 54
41  float sittingRotation; // 68
42  float unk6C; // 6C
43  float unk70; // 70
44  float currentPitchOffset; // 74 - [-100, 100]
45  float targetPitchOffset; // 78 - [-100, 100]
46  float unk7C; // 7C
47  std::uint32_t unk80; // 80
48  bool cameraOverride; // 84
49  bool cameraPitchOverride; // 85
50  std::uint16_t unk86; // 86
51  std::uint64_t unk88; // 88
52  };
53  static_assert(sizeof(FirstPersonState) == 0x90);
54 }
Definition: BSTSmartPointer.h:37
Definition: ButtonEvent.h:10
Definition: FirstPersonState.h:14
void GetRotation(NiQuaternion &a_rotation) override
bool CanProcess(InputEvent *a_event) override
NiPoint3 lastFrameSpringVelocity
Definition: FirstPersonState.h:36
std::uint16_t unk86
Definition: FirstPersonState.h:50
void LoadGame(BGSLoadFormBuffer *a_buf) override
float sittingRotation
Definition: FirstPersonState.h:41
float unk70
Definition: FirstPersonState.h:43
void Revert(BGSLoadFormBuffer *a_buf) override
void ProcessButton(ButtonEvent *a_event, PlayerControlsData *a_movementData) override
std::uint32_t unk80
Definition: FirstPersonState.h:47
bool cameraOverride
Definition: FirstPersonState.h:48
void End() override
~FirstPersonState() override
void GetTranslation(NiPoint3 &a_translation) override
NiNode * firstPersonFOVControl
Definition: FirstPersonState.h:40
bool cameraPitchOverride
Definition: FirstPersonState.h:49
float currentPitchOffset
Definition: FirstPersonState.h:44
std::uint64_t unk88
Definition: FirstPersonState.h:51
float unk7C
Definition: FirstPersonState.h:46
float unk6C
Definition: FirstPersonState.h:42
NiPoint3 dampeningOffset
Definition: FirstPersonState.h:37
NiAVObject * firstPersonCameraObj
Definition: FirstPersonState.h:39
void Begin() override
NiPoint3 lastPosition
Definition: FirstPersonState.h:35
std::uint32_t pad54
Definition: FirstPersonState.h:38
void Update(BSTSmartPointer< TESCameraState > &a_nextState) override
float targetPitchOffset
Definition: FirstPersonState.h:45
static constexpr auto RTTI
Definition: FirstPersonState.h:16
void SaveGame(BGSSaveFormBuffer *a_buf) override
Definition: InputEvent.h:22
Definition: NiAVObject.h:45
Definition: NiNode.h:12
Definition: NiPoint3.h:6
Definition: NiQuaternion.h:6
Definition: PlayerControlsData.h:8
Definition: PlayerInputHandler.h:12
Definition: TESCameraState.h:16
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_FirstPersonState
Definition: Offsets_RTTI.h:4801