CommonLibVR
Loading...
Searching...
No Matches
BSXFlags.h
Go to the documentation of this file.
1#pragma once
2
4
5namespace RE
6{
8 {
9 public:
10 inline static constexpr auto RTTI = RTTI_BSXFlags;
11 inline static constexpr auto Ni_RTTI = NiRTTI_BSXFlags;
12 inline static constexpr auto VTABLE = VTABLE_BSXFlags;
13
14 enum class Flag
15 {
16 kNone = 0,
17 kAnimated = 1 << 0,
18 kHavok = 1 << 1,
19 kRagdoll = 1 << 2,
20 kComplex = 1 << 3,
21 kAddon = 1 << 4,
22 kEditorMarker = 1 << 5,
23 kDynamic = 1 << 6,
24 kArticulated = 1 << 7,
25 kNeedsTransformUpdate = 1 << 8,
26 kExternalEmit = 1 << 9,
27 kMagicShaderParticles = 1 << 10,
28 kLights = 1 << 11,
29 kBreakable = 1 << 12,
30 kSearchedBreakable = 1 << 13
31 };
32
33 ~BSXFlags() override; // 00
34
35 // override (NiIntegerExtraData)
36 const NiRTTI* GetRTTI() const override; // 02
37 NiObject* CreateClone(NiCloningProcess& a_cloning) override; // 17 - { return this; }
38 void LoadBinary(NiStream& a_stream) override; // 18 - { NiIntegerExtraData::LoadBinary(a_stream); }
39 void LinkObject(NiStream& a_stream) override; // 19 - { NiIntegerExtraData::LinkObject(a_stream); }
40 bool RegisterStreamables(NiStream& a_stream) override; // 1A - { return NiIntegerExtraData::RegisterStreamables(a_stream); }
41 void SaveBinary(NiStream& a_stream) override; // 1B - { NiIntegerExtraData::SaveBinary(a_stream); }
42 bool IsEqual(NiObject* a_object) override; // 1C - { return NiIntegerExtraData::IsEqual(a_object); }
43
44 [[nodiscard]] Flag GetFlags() const;
45 void SetFlags(Flag a_flags);
46
47 private:
49 };
50 static_assert(sizeof(BSXFlags) == 0x20);
51}
#define KEEP_FOR_RE()
Definition PCH.h:517
Definition BSXFlags.h:8
void LoadBinary(NiStream &a_stream) override
Flag GetFlags() const
const NiRTTI * GetRTTI() const override
NiObject * CreateClone(NiCloningProcess &a_cloning) override
static constexpr auto VTABLE
Definition BSXFlags.h:12
void LinkObject(NiStream &a_stream) override
static constexpr auto Ni_RTTI
Definition BSXFlags.h:11
void SaveBinary(NiStream &a_stream) override
static constexpr auto RTTI
Definition BSXFlags.h:10
void SetFlags(Flag a_flags)
~BSXFlags() override
bool IsEqual(NiObject *a_object) override
bool RegisterStreamables(NiStream &a_stream) override
Flag
Definition BSXFlags.h:15
Definition NiCloningProcess.h:10
Definition NiIntegerExtraData.h:8
Definition NiObject.h:37
Definition NiRTTI.h:6
Definition NiStream.h:29
Definition AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_BSXFlags
Definition Offsets_VTABLE.h:10585
constexpr REL::ID NiRTTI_BSXFlags(static_cast< std::uint64_t >(524558))
constexpr REL::ID RTTI_BSXFlags(static_cast< std::uint64_t >(690676))