CommonLibVR
Loading...
Searching...
No Matches
NiMeshParticleSystem.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_NiMeshParticleSystem;
11 inline static constexpr auto Ni_RTTI = NiRTTI_NiMeshParticleSystem;
12 inline static constexpr auto VTABLE = VTABLE_NiMeshParticleSystem;
13
14 ~NiMeshParticleSystem() override; // 00
15
16 // override (NiParticles)
17 const NiRTTI* GetRTTI() const override; // 02
18 NiObject* CreateClone(NiCloningProcess& a_cloning) override; // 17
19 void LoadBinary(NiStream& a_stream) override; // 18
20 void LinkObject(NiStream& a_stream) override; // 19 - { BSGeometry::LinkObject(a_stream); }
21 bool RegisterStreamables(NiStream& a_stream) override; // 1A - { return BSGeometry::RegisterStreamables(a_stream); }
22 void SaveBinary(NiStream& a_stream) override; // 1B
23 bool IsEqual(NiObject* a_object) override; // 1C - { return BSGeometry::IsEqual(); }
24 void SetSelectiveUpdateFlags(bool& a_selectiveUpdate, bool a_selectiveUpdateTransforms, bool& a_rigid) override; // 2B
25 void UpdateDownwardPass(NiUpdateData& a_data, std::uint32_t a_arg2) override; // 2C
26 void UpdateSelectedDownwardPass(NiUpdateData& a_data, std::uint32_t a_arg2) override; // 2D
27 void UpdateRigidDownwardPass(NiUpdateData& a_data, std::uint32_t a_arg2) override; // 2E
28 void UpdateWorldBound() override; // 2F
29 void UpdateWorldData(NiUpdateData* a_data) override; // 30
30 void OnVisible(NiCullingProcess& a_process) override; // 34
31
32 // members
33 float time; // 198
34 bool updateControllers; // 19C
35 std::uint8_t pad19D; // 19D
36 std::uint16_t pad19E; // 19E
37 private:
39 };
40#ifndef SKYRIMVR
41 static_assert(sizeof(NiMeshParticleSystem) == 0x1A0);
42#else
43 static_assert(sizeof(NiMeshParticleSystem) == 0x1E0);
44#endif
45}
#define KEEP_FOR_RE()
Definition PCH.h:517
Definition NiCloningProcess.h:10
Definition NiCullingProcess.h:34
Definition NiMeshParticleSystem.h:8
void LinkObject(NiStream &a_stream) override
bool IsEqual(NiObject *a_object) override
void UpdateWorldBound() override
std::uint16_t pad19E
Definition NiMeshParticleSystem.h:36
void SetSelectiveUpdateFlags(bool &a_selectiveUpdate, bool a_selectiveUpdateTransforms, bool &a_rigid) override
void UpdateDownwardPass(NiUpdateData &a_data, std::uint32_t a_arg2) override
static constexpr auto Ni_RTTI
Definition NiMeshParticleSystem.h:11
bool updateControllers
Definition NiMeshParticleSystem.h:34
static constexpr auto RTTI
Definition NiMeshParticleSystem.h:10
bool RegisterStreamables(NiStream &a_stream) override
float time
Definition NiMeshParticleSystem.h:33
const NiRTTI * GetRTTI() const override
void UpdateRigidDownwardPass(NiUpdateData &a_data, std::uint32_t a_arg2) override
void UpdateWorldData(NiUpdateData *a_data) override
void SaveBinary(NiStream &a_stream) override
void LoadBinary(NiStream &a_stream) override
std::uint8_t pad19D
Definition NiMeshParticleSystem.h:35
static constexpr auto VTABLE
Definition NiMeshParticleSystem.h:12
NiObject * CreateClone(NiCloningProcess &a_cloning) override
void OnVisible(NiCullingProcess &a_process) override
~NiMeshParticleSystem() override
void UpdateSelectedDownwardPass(NiUpdateData &a_data, std::uint32_t a_arg2) override
Definition NiObject.h:37
Definition NiParticleSystem.h:11
Definition NiRTTI.h:6
Definition NiStream.h:29
Definition NiAVObject.h:28
Definition AbsorbEffect.h:6
constexpr REL::ID NiRTTI_NiMeshParticleSystem(static_cast< std::uint64_t >(524470))
constexpr std::array< REL::ID, 1 > VTABLE_NiMeshParticleSystem
Definition Offsets_VTABLE.h:12232
constexpr REL::ID RTTI_NiMeshParticleSystem(static_cast< std::uint64_t >(690589))