CommonLibSSE NG
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 VTABLE = VTABLE_BGSCameraPath;
33 inline static constexpr auto FORMTYPE = FormType::CameraPath;
34
36 {
37 enum RecordFlag : std::uint32_t
38 {
39 kDeleted = 1 << 5,
40 kIgnored = 1 << 12
41 };
42 };
43
44 struct Relatives
45 {
47 {
50
51 kTotal
52 };
53 };
54
55 ~BGSCameraPath() override; // 00
56
57 // override (TESForm)
58 void InitializeData() override; // 04
59 void ClearData() override; // 05
60 bool Load(TESFile* a_mod) override; // 06
61 TESForm* CreateDuplicateForm(bool a_createEditorID, void* a_arg2) override; // 09
62 void InitItemImpl() override; // 13
63
64 // members
67 PATH_DATA data; // 38 - DATA
68 std::uint8_t pad39; // 39
69 std::uint16_t pad3A; // 3A
70 std::uint32_t pad3C; // 3C
72 BGSCameraPath* parentPath; // 48 - ANAM~
73 BGSCameraPath* prevPath; // 48 - ~ANAM
74 };
75 static_assert(sizeof(BGSCameraPath) == 0x58);
76}
Definition BGSCameraPath.h:29
BSSimpleList< BGSCameraShot * > shots
Definition BGSCameraPath.h:66
void ClearData() override
static constexpr auto FORMTYPE
Definition BGSCameraPath.h:33
TESCondition conditions
Definition BGSCameraPath.h:65
std::uint16_t pad3A
Definition BGSCameraPath.h:69
std::uint8_t pad39
Definition BGSCameraPath.h:68
static constexpr auto VTABLE
Definition BGSCameraPath.h:32
~BGSCameraPath() override
PATH_DATA data
Definition BGSCameraPath.h:67
std::uint32_t pad3C
Definition BGSCameraPath.h:70
BGSCameraPath * prevPath
Definition BGSCameraPath.h:73
void InitItemImpl() override
static constexpr auto RTTI
Definition BGSCameraPath.h:31
bool Load(TESFile *a_mod) override
NiFormArray * childPaths
Definition BGSCameraPath.h:71
BGSCameraPath * parentPath
Definition BGSCameraPath.h:72
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:15
Definition TESForm.h:35
Definition PCH.h:223
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_BGSCameraPath(513990, 392986, 0x1ee1b18)
constexpr std::array< REL::VariantID, 1 > VTABLE_BGSCameraPath
Definition Offsets_VTABLE.h:696
Definition BGSCameraPath.h:36
RecordFlag
Definition BGSCameraPath.h:38
@ kIgnored
Definition BGSCameraPath.h:40
@ kDeleted
Definition BGSCameraPath.h:39
Definition BGSCameraPath.h:45
Relative
Definition BGSCameraPath.h:47
@ kTotal
Definition BGSCameraPath.h:51
@ kPreviousSibling
Definition BGSCameraPath.h:49
@ kParent
Definition BGSCameraPath.h:48
Definition BGSCameraPath.h:13
PathFlags
Definition BGSCameraPath.h:15
stl::enumeration< PathFlags, std::uint8_t > flags
Definition BGSCameraPath.h:24