Files
Commonwealth-Online-Public/plugin/lib/commonlibf4/include/RE/B/BGSImpactData.h
T
2026-05-30 18:33:24 +12:00

54 lines
1.6 KiB
C++

#pragma once
#include "RE/D/DecalData.h"
#include "RE/T/TESForm.h"
#include "RE/T/TESModel.h"
namespace RE
{
enum class SOUND_LEVEL;
class __declspec(novtable) BGSImpactData :
public TESForm, // 00
public TESModel // 20
{
public:
static constexpr auto RTTI{ RTTI::BGSImpactData };
static constexpr auto VTABLE{ VTABLE::BGSImpactData };
static constexpr auto FORM_ID{ ENUM_FORM_ID::kIPCT };
enum class ORIENTATION
{
kSurfaceNormal = 0x0,
kProjVector = 0x1,
kProjReflect = 0x2
};
class IMPACT_DATA_DATA
{
public:
// members
float effectDuration; // 00
REX::TEnumSet<ORIENTATION, std::int32_t> orient; // 04
float angleThreshold; // 08
float placementRadius; // 0C
REX::TEnumSet<SOUND_LEVEL, std::int32_t> soundLevel; // 10
std::int8_t flags; // 14
std::int8_t resultOverride; // 15
};
static_assert(sizeof(IMPACT_DATA_DATA) == 0x18);
// members
IMPACT_DATA_DATA data; // 50
BGSTextureSet* decalTextureSet; // 68
BGSTextureSet* decalTextureSet2; // 70
BGSSoundDescriptorForm* sound1; // 78
BGSSoundDescriptorForm* sound2; // 80
BGSExplosion* explosion; // 88
BGSHazard* hazard; // 90
DecalData decalData; // 98
float maxFootstepParticleDist; // BC
};
static_assert(sizeof(BGSImpactData) == 0xC0);
}