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