CommonLibSSE (Parapets fork)
Loading...
Searching...
No Matches
BGSCameraPath.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/B/BSTList.h"
4#include "RE/F/FormTypes.h"
5#include "RE/T/TESCondition.h"
6#include "RE/T/TESForm.h"
7
8namespace RE
9{
10 class NiFormArray;
11
12 struct PATH_DATA // DATA
13 {
14 enum class PathFlags
15 {
16 kNone = 0,
17 kZoomDisable = 1 << 0,
18 kZoomShotList = 1 << 1,
19 kDynamicTimes = 1 << 2,
20 kRandomPaths = 1 << 6,
21 kAllowNoShots = 1 << 7
22 };
23
25 };
26 static_assert(sizeof(PATH_DATA) == 0x1);
27
28 class BGSCameraPath : public TESForm
29 {
30 public:
31 inline static constexpr auto RTTI = RTTI_BGSCameraPath;
32 inline static constexpr auto FORMTYPE = FormType::CameraPath;
33
35 {
36 enum RecordFlag : std::uint32_t
37 {
38 kDeleted = 1 << 5,
39 kIgnored = 1 << 12
40 };
41 };
42
43 struct Relatives
44 {
46 {
49
50 kTotal
51 };
52 };
53
54 ~BGSCameraPath() override; // 00
55
56 // override (TESForm)
57 void InitializeData() override; // 04
58 void ClearData() override; // 05
59 bool Load(TESFile* a_mod) override; // 06
60 TESForm* CreateDuplicateForm(bool a_createEditorID, void* a_arg2) override; // 09
61 void InitItemImpl() override; // 13
62
63 // members
66 PATH_DATA data; // 38 - DATA
67 std::uint8_t pad39; // 39
68 std::uint16_t pad3A; // 3A
69 std::uint32_t pad3C; // 3C
71 BGSCameraPath* parentPath; // 48 - ANAM~
72 BGSCameraPath* prevPath; // 48 - ~ANAM
73 };
74 static_assert(sizeof(BGSCameraPath) == 0x58);
75}
Definition: BGSCameraPath.h:29
BSSimpleList< BGSCameraShot * > shots
Definition: BGSCameraPath.h:65
void ClearData() override
static constexpr auto FORMTYPE
Definition: BGSCameraPath.h:32
TESCondition conditions
Definition: BGSCameraPath.h:64
std::uint16_t pad3A
Definition: BGSCameraPath.h:68
std::uint8_t pad39
Definition: BGSCameraPath.h:67
~BGSCameraPath() override
PATH_DATA data
Definition: BGSCameraPath.h:66
std::uint32_t pad3C
Definition: BGSCameraPath.h:69
BGSCameraPath * prevPath
Definition: BGSCameraPath.h:72
void InitItemImpl() override
static constexpr auto RTTI
Definition: BGSCameraPath.h:31
bool Load(TESFile *a_mod) override
NiFormArray * childPaths
Definition: BGSCameraPath.h:70
BGSCameraPath * parentPath
Definition: BGSCameraPath.h:71
void InitializeData() override
TESForm * CreateDuplicateForm(bool a_createEditorID, void *a_arg2) override
Definition: BSTList.h:10
Definition: NiTArray.h:282
Definition: TESCondition.h:987
Definition: TESFile.h:14
Definition: TESForm.h:34
Definition: PCH.h:216
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BGSCameraPath
Definition: Offsets_RTTI.h:1273
Definition: BGSCameraPath.h:35
RecordFlag
Definition: BGSCameraPath.h:37
@ kIgnored
Definition: BGSCameraPath.h:39
@ kDeleted
Definition: BGSCameraPath.h:38
Definition: BGSCameraPath.h:44
Relative
Definition: BGSCameraPath.h:46
@ kTotal
Definition: BGSCameraPath.h:50
@ kPreviousSibling
Definition: BGSCameraPath.h:48
@ kParent
Definition: BGSCameraPath.h:47
Definition: BGSCameraPath.h:13
PathFlags
Definition: BGSCameraPath.h:15
stl::enumeration< PathFlags, std::uint8_t > flags
Definition: BGSCameraPath.h:24