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