CommonLibSSE NG
Loading...
Searching...
No Matches
VATS.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/A/ActorValues.h"
4#include "RE/B/BSAtomic.h"
5#include "RE/B/BSTArray.h"
6#include "RE/B/BSTSingleton.h"
8#include "RE/H/HitData.h"
9
10namespace RE
11{
12 class Actor;
13 class BGSCameraShot;
14 class BSLight;
15 class ExtraDataList;
16 class ImageSpaceModifierInstanceRB;
17 class TESBoundObject;
18
20 {
21 public:
22 std::uint32_t actionPoints; // 00 - 12
23 std::uint8_t unk04; // 04
24 std::uint8_t unk05; // 05
25 std::uint8_t unk06; // 06
26 std::uint8_t unk07; // 07
27 std::uint8_t unk08; // 08
28 std::uint8_t unk09; // 09
29 std::uint16_t unk0A; // 0A
32 std::uint32_t pad14; // 14
34 std::uint64_t unkA8; // A8
35 std::uint32_t unkB0; // B0
36 };
37 static_assert(sizeof(VATSCommand) == 0xB8);
38
39 class VATS : public BSTSingletonSDM<VATS>
40 {
41 public:
42 enum class VATS_MODE : std::uint32_t
43 {
44 kNone = 0,
45 kKillCam = 4
46 };
47
48 [[nodiscard]] static VATS* GetSingleton()
49 {
50 REL::Relocation<VATS**> singleton{ RELOCATION_ID(514725, 400883) };
51 return *singleton;
52 }
53
54 void SetMagicTimeSlowdown(float a_magicTimeSlowdown, float a_playerMagicTimeSlowdown)
55 {
56 using func_t = decltype(&VATS::SetMagicTimeSlowdown);
57 REL::Relocation<func_t> func{ RELOCATION_ID(43103, 44300) };
58 return func(this, a_magicTimeSlowdown, a_playerMagicTimeSlowdown);
59 }
60
61 // members
62 std::uint32_t pad00; // 00
65 std::uint32_t pad24; // 24
66 std::uint64_t unk28; // 28
68 float safetyTime; // 38
69 float cameraTime; // 3C
71 std::uint32_t pad44; // 44
72 std::uint64_t unk48; // 48
73 std::uint64_t unk50; // 50
74 std::uint64_t unk58; // 58
75 ImageSpaceModifierInstanceRB* unk60; // 60
76 ImageSpaceModifierInstanceRB* unk68; // 68
78 bool unk78; // 78
79 bool unk79; // 79
80 std::uint16_t pad7A; // 7A
81 std::int32_t unk7C; // 7C
82 float magicTimeSlowdown; // 80
87 std::int32_t unkA0; // A0
88 std::uint32_t padA4; // A4
90 NiPointer<Actor> unkB0; // B0 - stranger?
91 mutable BSSpinLock lock; // B8
92 };
93 static_assert(sizeof(VATS) == 0xC0);
94}
#define RELOCATION_ID(a_se, a_ae)
Definition PCH.h:794
Definition BGSCameraShot.h:14
Definition BSAtomic.h:49
Definition BSTArray.h:377
Definition ExtraDataList.h:53
Definition HitData.h:17
Definition NiSmartPointer.h:9
Definition TESBoundObject.h:24
Definition VATS.h:20
std::uint8_t unk07
Definition VATS.h:26
std::uint32_t actionPoints
Definition VATS.h:22
std::uint16_t unk0A
Definition VATS.h:29
ActorValue bodyPartAV
Definition VATS.h:31
std::uint8_t unk05
Definition VATS.h:24
std::uint8_t unk08
Definition VATS.h:27
std::uint8_t unk06
Definition VATS.h:25
std::uint64_t unkA8
Definition VATS.h:34
std::uint8_t unk04
Definition VATS.h:23
HitData hitData
Definition VATS.h:33
std::uint32_t unkB0
Definition VATS.h:35
std::uint32_t pad14
Definition VATS.h:32
std::uint8_t unk09
Definition VATS.h:28
ObjectRefHandle targetHandle
Definition VATS.h:30
Definition VATS.h:40
float cameraTime
Definition VATS.h:69
std::uint32_t pad44
Definition VATS.h:71
NiPointer< Actor > attacker
Definition VATS.h:89
std::uint64_t unk48
Definition VATS.h:72
TESBoundObject * item
Definition VATS.h:84
NiPointer< Actor > unkB0
Definition VATS.h:90
std::uint32_t pad24
Definition VATS.h:65
NiPointer< Actor > target
Definition VATS.h:86
std::uint64_t unk50
Definition VATS.h:73
ImageSpaceModifierInstanceRB * unk68
Definition VATS.h:76
BGSCameraShot * cameraShot
Definition VATS.h:67
std::uint64_t unk28
Definition VATS.h:66
ExtraDataList * extraList
Definition VATS.h:85
bool unk78
Definition VATS.h:78
ImageSpaceModifierInstanceRB * unk60
Definition VATS.h:75
NiPointer< BSLight > VATSLight
Definition VATS.h:77
std::int32_t unk7C
Definition VATS.h:81
bool unk79
Definition VATS.h:79
float castingAfterKillDelay
Definition VATS.h:70
void SetMagicTimeSlowdown(float a_magicTimeSlowdown, float a_playerMagicTimeSlowdown)
Definition VATS.h:54
std::uint32_t padA4
Definition VATS.h:88
VATS_MODE VATSMode
Definition VATS.h:64
std::uint64_t unk58
Definition VATS.h:74
std::uint32_t pad00
Definition VATS.h:62
std::uint16_t pad7A
Definition VATS.h:80
static VATS * GetSingleton()
Definition VATS.h:48
BSSpinLock lock
Definition VATS.h:91
float magicTimeSlowdown
Definition VATS.h:82
float playerMagicTimeSlowdown
Definition VATS.h:83
std::int32_t unkA0
Definition VATS.h:87
float safetyTime
Definition VATS.h:68
VATS_MODE
Definition VATS.h:43
BSTArray< BSTSmartPointer< VATSCommand > > commandList
Definition VATS.h:63
Definition Relocation.h:1638
Definition AbsorbEffect.h:6
ActorValue
Definition ActorValues.h:6
Definition BSTSingleton.h:50