CommonLibVR
Loading...
Searching...
No Matches
BSMasterParticleSystem.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/N/NiNode.h"
4
5namespace RE
6{
7 class NiParticles;
8
10 {
11 public:
12 inline static constexpr auto RTTI = RTTI_BSMasterParticleSystem;
13 inline static constexpr auto Ni_RTTI = NiRTTI_BSMasterParticleSystem;
14 inline static constexpr auto VTABLE = VTABLE_BSMasterParticleSystem;
15
16 ~BSMasterParticleSystem() override; // 00
17
18 // override (NiNode)
19 const NiRTTI* GetRTTI() const override; // 02
20 void LoadBinary(NiStream& a_stream) override; // 18
21 void LinkObject(NiStream& a_stream) override; // 19
22 bool RegisterStreamables(NiStream& a_stream) override; // 1A
23 void SaveBinary(NiStream& a_stream) override; // 1B
24 void PostLinkObject(NiStream& a_stream) override; // 1E
25 bool IsEqual(NiObject* a_object) override; // 1C
26 void UpdateDownwardPass(NiUpdateData& a_data, std::uint32_t a_arg2) override; // 2C
27 void UpdateSelectedDownwardPass(NiUpdateData& a_data, std::uint32_t a_arg2) override; // 2D
28 void UpdateRigidDownwardPass(NiUpdateData& a_data, std::uint32_t a_arg2) override; // 2E
29
30 // members
33 std::int32_t index; // 158
34 std::uint32_t unk15C; // 15C
35 std::uint16_t unk160; // 160
36 std::uint16_t maxEmitterObj; // 162
37 std::uint16_t maxParticlesPerFrame; // 164
39 std::uint8_t pad167; // 167
40 private:
42 };
43#ifndef SKYRIMVR
44 static_assert(sizeof(BSMasterParticleSystem) == 0x168);
45#else
46 static_assert(sizeof(BSMasterParticleSystem) == 0x190);
47#endif
48}
#define KEEP_FOR_RE()
Definition PCH.h:517
Definition BSMasterParticleSystem.h:10
void LinkObject(NiStream &a_stream) override
void SaveBinary(NiStream &a_stream) override
void UpdateDownwardPass(NiUpdateData &a_data, std::uint32_t a_arg2) override
std::uint32_t unk15C
Definition BSMasterParticleSystem.h:34
void UpdateSelectedDownwardPass(NiUpdateData &a_data, std::uint32_t a_arg2) override
void UpdateRigidDownwardPass(NiUpdateData &a_data, std::uint32_t a_arg2) override
BSTArray< NiPointer< NiAVObject > > emitterObjs
Definition BSMasterParticleSystem.h:31
static constexpr auto Ni_RTTI
Definition BSMasterParticleSystem.h:13
~BSMasterParticleSystem() override
std::uint16_t maxParticlesPerFrame
Definition BSMasterParticleSystem.h:37
static constexpr auto RTTI
Definition BSMasterParticleSystem.h:12
std::uint16_t maxEmitterObj
Definition BSMasterParticleSystem.h:36
void LoadBinary(NiStream &a_stream) override
std::uint16_t unk160
Definition BSMasterParticleSystem.h:35
BSTArray< NiParticles * > particles
Definition BSMasterParticleSystem.h:32
bool RegisterStreamables(NiStream &a_stream) override
bool destroyWhenNotInUse
Definition BSMasterParticleSystem.h:38
bool IsEqual(NiObject *a_object) override
std::uint8_t pad167
Definition BSMasterParticleSystem.h:39
void PostLinkObject(NiStream &a_stream) override
std::int32_t index
Definition BSMasterParticleSystem.h:33
static constexpr auto VTABLE
Definition BSMasterParticleSystem.h:14
const NiRTTI * GetRTTI() const override
Definition BSTArray.h:378
Definition NiNode.h:12
Definition NiObject.h:37
Definition NiRTTI.h:6
Definition NiStream.h:29
Definition NiAVObject.h:28
Definition AbsorbEffect.h:6
constexpr REL::ID NiRTTI_BSMasterParticleSystem(static_cast< std::uint64_t >(524698))
constexpr std::array< REL::ID, 1 > VTABLE_BSMasterParticleSystem
Definition Offsets_VTABLE.h:9241
constexpr REL::ID RTTI_BSMasterParticleSystem(static_cast< std::uint64_t >(690732))