9 class BSMultiIndexTriShape;
10 class BSSkinnedDecalTriShape;
51#if !defined(ENABLE_SKYRIM_AE) && !defined(ENABLE_SKYRIM_SE)
52# define MODEL_DATA_CONTENT \
57# define MODEL_DATA_CONTENT NiBound modelBound;
61#ifndef ENABLE_SKYRIM_VR
62 static_assert(
sizeof(MODEL_DATA) == 0x10);
63#elif !defined(ENABLE_SKYRIM_AE) && !defined(ENABLE_SKYRIM_SE)
64 static_assert(
sizeof(MODEL_DATA) == 0x28);
69#define RUNTIME_DATA_CONTENT \
70 NiPointer<NiProperty> properties[States::kTotal]; \
71 NiPointer<NiSkinInstance> skinInstance; \
72 BSGraphics::TriShape* rendererData; \
74 BSGraphics::VertexDesc vertexDesc;
78 static_assert(
sizeof(GEOMETRY_RUNTIME_DATA) == 0x30);
92#ifndef SKYRIM_CROSS_VR
110 return REL::RelocateMember<MODEL_DATA>(
this, 0x110, 0x138);
115 return REL::RelocateMember<MODEL_DATA>(
this, 0x110, 0x138);
120 return REL::RelocateMember<GEOMETRY_RUNTIME_DATA>(
this, 0x120, 0x160);
125 return REL::RelocateMember<GEOMETRY_RUNTIME_DATA>(
this, 0x120, 0x160);
130 return REL::RelocateMember<stl::enumeration<Type, std::uint8_t>>(
this, 0x150, 0x190);
135 return REL::RelocateMember<stl::enumeration<Type, std::uint8_t>>(
this, 0x150, 0x190);
139#ifndef SKYRIM_CROSS_VR
142# ifndef ENABLE_SKYRIM_VR
147# elif !defined(ENABLE_SKYRIM_AE) && !defined(ENABLE_SKYRIM_SE)
155#ifndef ENABLE_SKYRIM_VR
157#elif !defined(ENABLE_SKYRIM_AE) && !defined(ENABLE_SKYRIM_SE)
161#undef MODEL_DATA_CONTENT
162#undef RUNTIME_DATA_CONTENT
#define SKYRIM_REL_VR_VIRTUAL
Definition Relocation.h:152
Definition BSGeometry.h:15
Type
Definition BSGeometry.h:21
@ kParticleShaderDynamicTriShape
@ kMultiStreamInstanceTriShape
void SetSelectiveUpdateFlags(bool &a_selectiveUpdate, bool a_selectiveUpdateTransforms, bool &a_rigid) override
void UpdateRigidDownwardPass(NiUpdateData &a_data, std::uint32_t a_arg2) override
const stl::enumeration< Type, std::uint8_t > & GetType() const noexcept
Definition BSGeometry.h:133
const MODEL_DATA & GetModelData() const noexcept
Definition BSGeometry.h:113
SKYRIM_REL_VR_VIRTUAL BSMultiIndexTriShape * AsMultiIndexTriShape()
std::uint32_t pad34
Definition BSGeometry.h:146
void SaveBinary(NiStream &a_stream) override
SKYRIM_REL_VR_VIRTUAL BSSkinnedDecalTriShape * AsSkinnedDecalTriShape()
RUNTIME_DATA_CONTENT
Definition BSGeometry.h:141
std::uint16_t pad32
Definition BSGeometry.h:145
static auto Ni_RTTI
Definition BSGeometry.h:18
void OnVisible(NiCullingProcess &a_process) override
bool IsEqual(NiObject *a_object) override
static constexpr auto RTTI
Definition BSGeometry.h:17
void ProcessClone(NiCloningProcess &a_cloning) override
SKYRIM_REL_VR_VIRTUAL void Unk_37(void)
BSGeometry * AsGeometry() override
bool RegisterStreamables(NiStream &a_stream) override
MODEL_DATA & GetModelData() noexcept
Definition BSGeometry.h:108
const NiRTTI * GetRTTI() const override
stl::enumeration< Type, std::uint8_t > & GetType() noexcept
Definition BSGeometry.h:128
GEOMETRY_RUNTIME_DATA & GetGeometryRuntimeData() noexcept
Definition BSGeometry.h:118
void LinkObject(NiStream &a_stream) override
const GEOMETRY_RUNTIME_DATA & GetGeometryRuntimeData() const noexcept
Definition BSGeometry.h:123
void UpdateWorldBound() override
void UpdateSelectedDownwardPass(NiUpdateData &a_data, std::uint32_t a_arg2) override
void PostLinkObject(NiStream &a_stream) override
stl::enumeration< Type, std::uint8_t > type
Definition BSGeometry.h:143
void UpdateDownwardPass(NiUpdateData &a_data, std::uint32_t a_arg2) override
void LoadBinary(NiStream &a_stream) override
std::uint8_t pad31
Definition BSGeometry.h:144
void AttachProperty(NiAlphaProperty *a_property) override
MODEL_DATA_CONTENT
Definition BSGeometry.h:140
Definition BSMultiIndexTriShape.h:17
Definition NiAVObject.h:50
Definition NiAlphaProperty.h:8
Definition NiCloningProcess.h:10
Definition NiCullingProcess.h:34
Definition NiAVObject.h:25
Definition AbsorbEffect.h:6
constexpr REL::VariantID NiRTTI_BSGeometry(523951, 410531, 0x316bec8)
constexpr REL::VariantID RTTI_BSGeometry(685043, 392797, 0x1ede7b0)
Definition BSGeometry.h:68
Definition BSGeometry.h:50
Definition BSGeometry.h:40
State
Definition BSGeometry.h:42
@ kProperty
Definition BSGeometry.h:43
@ kEffect
Definition BSGeometry.h:44
@ kTotal
Definition BSGeometry.h:45