CommonLibSSE (Parapets fork)
Loading...
Searching...
No Matches
BGSCameraShot.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/F/FormTypes.h"
4#include "RE/T/TESForm.h"
6#include "RE/T/TESModel.h"
7
8namespace RE
9{
11 public TESForm, // 00
12 public TESModel, // 20
14 {
15 public:
16 inline static constexpr auto RTTI = RTTI_BGSCameraShot;
17 inline static constexpr auto FORMTYPE = FormType::CameraShot;
18
19 enum class CAM_ACTION
20 {
21 kShoot = 0,
22 kFly = 1,
23 kHit = 2,
24 kZoom = 3
25 };
26
27 enum class CAM_OBJECT
28 {
29 kAttacker = 0,
30 kProjectile = 1,
31 kTarget = 2,
32 kLeadActor = 3
33 };
34
36 {
37 enum RecordFlag : std::uint32_t
38 {
39 kDeleted = 1 << 5,
40 kIgnored = 1 << 12
41 };
42 };
43
44 struct CAMERA_SHOT_DATA // DATA
45 {
46 public:
47 enum class Flag
48 {
49 kNone = 0,
52 kDontFollowBone = 1 << 2,
53 kFirstPersonCamera = 1 << 3,
54 kNoTracer = 1 << 4,
55 kStartAtTimeZero = 1 << 5
56 };
57
58 // members
63 float playerTimeMult; // 10
64 float targetTimeMult; // 14
65 float globalTimeMult; // 18
66 float maxTime; // 1C
67 float minTime; // 20
69 float nearTargetDistance; // 28
70 };
71 static_assert(sizeof(CAMERA_SHOT_DATA) == 0x2C);
72
73 ~BGSCameraShot() override; // 00
74
75 // override (TESForm)
76 void InitializeData() override; // 04
77 bool Load(TESFile* a_mod) override; // 06
78 void InitItemImpl() override; // 13
79
80 // members
81 CAMERA_SHOT_DATA data; // 58 - DATA
82 std::uint32_t pad84; // 84
83 void* unk88; // 88 - smart ptr
84 void* unk90; // 90 - smart ptr
86 std::uint32_t unk9C; // 9C
87 void* unkA0; // A0 - smart ptr
88 void* unkA8; // A8 - smart ptr
89 std::uint64_t unkB0; // B0
90 void* unkB8; // B8
91 };
92 static_assert(sizeof(BGSCameraShot) == 0xC0);
93}
Definition: BGSCameraShot.h:14
RefHandle unk98
Definition: BGSCameraShot.h:85
std::uint64_t unkB0
Definition: BGSCameraShot.h:89
void * unk90
Definition: BGSCameraShot.h:84
~BGSCameraShot() override
void InitItemImpl() override
void * unkA0
Definition: BGSCameraShot.h:87
bool Load(TESFile *a_mod) override
static constexpr auto FORMTYPE
Definition: BGSCameraShot.h:17
std::uint32_t unk9C
Definition: BGSCameraShot.h:86
std::uint32_t pad84
Definition: BGSCameraShot.h:82
void * unkB8
Definition: BGSCameraShot.h:90
CAM_ACTION
Definition: BGSCameraShot.h:20
CAM_OBJECT
Definition: BGSCameraShot.h:28
void * unkA8
Definition: BGSCameraShot.h:88
void InitializeData() override
CAMERA_SHOT_DATA data
Definition: BGSCameraShot.h:81
static constexpr auto RTTI
Definition: BGSCameraShot.h:16
void * unk88
Definition: BGSCameraShot.h:83
Definition: TESFile.h:14
Definition: TESForm.h:34
Definition: TESImageSpaceModifiableForm.h:10
Definition: TESModel.h:16
Definition: PCH.h:216
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BGSCameraShot
Definition: Offsets_RTTI.h:1274
std::uint32_t RefHandle
Definition: BSCoreTypes.h:6
Definition: BGSCameraShot.h:45
Flag
Definition: BGSCameraShot.h:48
float targetPercentBetweenActors
Definition: BGSCameraShot.h:68
float targetTimeMult
Definition: BGSCameraShot.h:64
stl::enumeration< CAM_OBJECT, std::uint32_t > target
Definition: BGSCameraShot.h:61
stl::enumeration< Flag, std::uint32_t > flags
Definition: BGSCameraShot.h:62
float globalTimeMult
Definition: BGSCameraShot.h:65
float nearTargetDistance
Definition: BGSCameraShot.h:69
stl::enumeration< CAM_ACTION, std::uint32_t > cameraAction
Definition: BGSCameraShot.h:59
float maxTime
Definition: BGSCameraShot.h:66
stl::enumeration< CAM_OBJECT, std::uint32_t > location
Definition: BGSCameraShot.h:60
float minTime
Definition: BGSCameraShot.h:67
float playerTimeMult
Definition: BGSCameraShot.h:63
Definition: BGSCameraShot.h:36
RecordFlag
Definition: BGSCameraShot.h:38
@ kDeleted
Definition: BGSCameraShot.h:39
@ kIgnored
Definition: BGSCameraShot.h:40