CommonLibSSE NG
Loading...
Searching...
No Matches
BGSSceneAction.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/E/EmotionTypes.h"
4
5namespace RE
6{
7 class BGSLoadGameBuffer;
8 class TESFile;
9
11 {
12 public:
13 inline static constexpr auto RTTI = RTTI_BGSSceneAction;
14
15 enum class Type
16 {
17 kDialogue = 0,
18 kPackage = 1,
19 kTimer = 2
20 };
21
22 enum class Flag
23 {
24 kNone = 0,
25 kFaceTarget = 1 << 15,
26 kLooping = 1 << 16,
27 kHeadTrackPlayer = 1 << 17
28 };
29
30 virtual ~BGSSceneAction(); // 00
31
32 // add
33 virtual bool LoadSceneAction(TESFile* a_mod); // 01
34 virtual void Unk_02(void); // 02
35 virtual void Unk_03(void); // 03 - { return; }
36 virtual void ClearFlags(); // 04 - { flags = kNone; }
37 [[nodiscard]] virtual bool Loops() const; // 05 - { return false; }
38 [[nodiscard]] virtual bool FacesTarget() const; // 06 - { return true; }
39 [[nodiscard]] virtual Type GetType() const = 0; // 07
40 virtual void Unk_08(void); // 08 - { return 0; }
41 virtual void LoadBuffer(void* a_arg1, BGSLoadGameBuffer* a_buf); // 09
42 virtual void Unk_0A(void); // 0A
43 virtual void Unk_0B(void); // 0B - { unk14 &= 0xFC; }
44 virtual void Unk_0C(void); // 0C - { return; }
45 virtual void Unk_0D(void); // 0D
46 [[nodiscard]] virtual EmotionType GetEmotionType() const; // 0E - { return kNeutral; }
47 [[nodiscard]] virtual std::uint32_t GetEmotionValue() const; // 0F - { return 0; }
48 virtual void Unk_10(void); // 10 - { unk14 |= 1; }
49 virtual void Unk_11(void); // 11
50 virtual void Unk_12(void); // 12 - { return; }
51 virtual void Unk_13(void); // 13 - { return; }
52
53 // members
54 std::uint32_t actorID; // 08 - ALID
55 std::uint16_t startPhase; // 0C - SNAM
56 std::uint16_t endPhase; // 0E - ENAM
58 std::uint8_t unk14; // 14
59 std::uint8_t unk15; // 15
60 std::uint16_t unk16; // 16
61 std::uint32_t index; // 18 - INAM
62 std::uint32_t unk1C; // 1C
63 };
64 static_assert(sizeof(BGSSceneAction) == 0x20);
65}
Definition BGSLoadGameBuffer.h:6
Definition BGSSceneAction.h:11
virtual void Unk_02(void)
virtual void Unk_0A(void)
virtual void LoadBuffer(void *a_arg1, BGSLoadGameBuffer *a_buf)
virtual void Unk_0B(void)
virtual bool LoadSceneAction(TESFile *a_mod)
virtual void ClearFlags()
std::uint16_t unk16
Definition BGSSceneAction.h:60
virtual bool FacesTarget() const
std::uint8_t unk14
Definition BGSSceneAction.h:58
virtual std::uint32_t GetEmotionValue() const
std::uint16_t startPhase
Definition BGSSceneAction.h:55
std::uint32_t index
Definition BGSSceneAction.h:61
std::uint16_t endPhase
Definition BGSSceneAction.h:56
virtual Type GetType() const =0
Type
Definition BGSSceneAction.h:16
virtual ~BGSSceneAction()
static constexpr auto RTTI
Definition BGSSceneAction.h:13
std::uint32_t actorID
Definition BGSSceneAction.h:54
std::uint32_t unk1C
Definition BGSSceneAction.h:62
virtual void Unk_0C(void)
virtual void Unk_10(void)
virtual bool Loops() const
virtual void Unk_11(void)
std::uint8_t unk15
Definition BGSSceneAction.h:59
virtual void Unk_0D(void)
Flag
Definition BGSSceneAction.h:23
virtual EmotionType GetEmotionType() const
virtual void Unk_13(void)
virtual void Unk_12(void)
stl::enumeration< Flag, std::uint32_t > flags
Definition BGSSceneAction.h:57
virtual void Unk_08(void)
virtual void Unk_03(void)
Definition TESFile.h:15
Definition PCH.h:223
Definition AbsorbEffect.h:6
EmotionType
Definition EmotionTypes.h:6
constexpr REL::VariantID RTTI_BGSSceneAction(685405, 393188, 0x1ee51e0)