CommonLibSSE (Parapets fork)
Loading...
Searching...
No Matches
BGSImpactData.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/C/Color.h"
4#include "RE/D/DecalData.h"
5#include "RE/F/FormTypes.h"
7#include "RE/S/SoundLevels.h"
8#include "RE/T/TESForm.h"
9#include "RE/T/TESModel.h"
10
11namespace RE
12{
14 public TESForm, // 00
15 public TESModel // 20
16 {
17 public:
18 inline static constexpr auto RTTI = RTTI_BGSImpactData;
19 inline static constexpr auto FORMTYPE = FormType::Impact;
20
21 enum class ORIENTATION
22 {
24 kProjVector = 1,
25 kProjReflect = 2
26 };
27
29 {
30 enum RecordFlag : std::uint32_t
31 {
32 kDeleted = 1 << 5,
33 kIgnored = 1 << 12
34 };
35 };
36
37 struct IMPACT_DATA_DATA // DATA
38 {
39 enum class Flag
40 {
41 kNone = 0,
42 kNoDecalData = 1 << 0
43 };
44
45 float effectDuration; // 00
47 float angleThreshold; // 08
48 float placementRadius; // 0C
52 std::uint16_t unk16; // 16
53 };
54 static_assert(sizeof(IMPACT_DATA_DATA) == 0x18);
55
56 ~BGSImpactData() override; // 00
57
58 // override (TESForm)
59 void InitializeData() override; // 04
60 bool Load(TESFile* a_mod) override; // 06
61 void InitItemImpl() override; // 13
62
63 // members
64 IMPACT_DATA_DATA data; // 48 - DATA
69 BGSHazard* hazard; // 80 - NAM2
70 DecalData dData; // 88 - DODT
71 std::uint32_t padAC; // AC
72 };
73 static_assert(sizeof(BGSImpactData) == 0xB0);
74}
Definition: BGSHazard.h:44
Definition: BGSImpactData.h:16
static constexpr auto RTTI
Definition: BGSImpactData.h:18
BGSSoundDescriptorForm * sound2
Definition: BGSImpactData.h:68
void InitializeData() override
BGSTextureSet * decalTextureSet2
Definition: BGSImpactData.h:66
~BGSImpactData() override
BGSTextureSet * decalTextureSet
Definition: BGSImpactData.h:65
void InitItemImpl() override
ORIENTATION
Definition: BGSImpactData.h:22
DecalData dData
Definition: BGSImpactData.h:70
BGSSoundDescriptorForm * sound1
Definition: BGSImpactData.h:67
std::uint32_t padAC
Definition: BGSImpactData.h:71
static constexpr auto FORMTYPE
Definition: BGSImpactData.h:19
IMPACT_DATA_DATA data
Definition: BGSImpactData.h:64
BGSHazard * hazard
Definition: BGSImpactData.h:69
bool Load(TESFile *a_mod) override
Definition: BGSSoundDescriptorForm.h:14
Definition: BGSTextureSet.h:16
Definition: TESFile.h:14
Definition: TESForm.h:34
Definition: TESModel.h:16
Definition: PCH.h:216
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BGSImpactData
Definition: Offsets_RTTI.h:1310
SOUND_LEVEL
Definition: SoundLevels.h:6
Definition: BGSImpactData.h:38
SOUND_LEVEL soundLevel
Definition: BGSImpactData.h:49
float placementRadius
Definition: BGSImpactData.h:48
std::uint16_t unk16
Definition: BGSImpactData.h:52
stl::enumeration< ORIENTATION, std::uint32_t > orient
Definition: BGSImpactData.h:46
stl::enumeration< ImpactResult, std::uint8_t > resultOverride
Definition: BGSImpactData.h:51
float effectDuration
Definition: BGSImpactData.h:45
stl::enumeration< Flag, std::uint8_t > flags
Definition: BGSImpactData.h:50
float angleThreshold
Definition: BGSImpactData.h:47
Flag
Definition: BGSImpactData.h:40
Definition: BGSImpactData.h:29
RecordFlag
Definition: BGSImpactData.h:31
@ kIgnored
Definition: BGSImpactData.h:33
@ kDeleted
Definition: BGSImpactData.h:32
Definition: DecalData.h:33