CommonLibVR
Loading...
Searching...
No Matches
NiParticlesData.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/N/NiBound.h"
4#include "RE/N/NiObject.h"
5
6namespace RE
7{
8 class NiParticlesData : public NiObject
9 {
10 public:
11 inline static constexpr auto RTTI = RTTI_NiParticlesData;
12 inline static constexpr auto Ni_RTTI = NiRTTI_NiParticlesData;
13 inline static constexpr auto VTABLE = VTABLE_NiParticlesData;
14
15 ~NiParticlesData() override; // 00
16
17 // override (NiObject)
18 const NiRTTI* GetRTTI() const override; // 02
19 void LoadBinary(NiStream& a_stream) override; // 18
20 void LinkObject(NiStream& a_stream) override; // 19
21 bool RegisterStreamables(NiStream& a_stream) override; // 1A
22 void SaveBinary(NiStream& a_stream) override; // 1B
23 bool IsEqual(NiObject* a_object) override; // 1C - { return false; }
24
25 // add
26 virtual void SetActiveVertexCount(std::uint16_t a_vertexCount); // 25
27 virtual std::uint16_t GetActiveVertexCount(); // 26
28 virtual void RemoveParticle(std::uint16_t a_particleCount); // 28
29 virtual void CalculateNormals(); // 29 - { return; }
30
31 // members
32 bool hasRotations; // 10
33 std::uint8_t unk11; // 11
34 std::uint16_t maxNumVertices; // 12
36 std::uint32_t pad24; // 24
40 float* radii; // 40
41 float* sizes; // 48
42 float* rotationAngles; // 50
45 std::uint32_t subTextureOffsetsCount; // 68 - max 256
46 float aspectRatio; // 6C
50 std::uint16_t numVertices; // 7C
51 std::uint16_t pad7E; // 7E
52 std::uint8_t* textureIndices; // 80
53 std::uint8_t unk88; // 88 - aspect flags?
54 std::uint8_t unk89; // 89
55 std::uint16_t pad8A; // 8A
56 std::uint32_t pad8C; // 8C
57 private:
59 };
60 static_assert(sizeof(NiParticlesData) == 0x90);
61}
#define KEEP_FOR_RE()
Definition PCH.h:517
Definition NiBound.h:8
Definition NiColor.h:283
Definition NiObject.h:37
Definition NiParticlesData.h:9
std::uint8_t unk88
Definition NiParticlesData.h:53
std::uint8_t * textureIndices
Definition NiParticlesData.h:52
float aspectRatio
Definition NiParticlesData.h:46
float * radii
Definition NiParticlesData.h:40
float speedToAspectAspect2
Definition NiParticlesData.h:47
std::uint16_t numVertices
Definition NiParticlesData.h:50
virtual void RemoveParticle(std::uint16_t a_particleCount)
float speedToAspectAspect1
Definition NiParticlesData.h:48
NiQuaternion * rotations
Definition NiParticlesData.h:37
NiPoint3 * rotationAxes
Definition NiParticlesData.h:43
std::uint8_t unk11
Definition NiParticlesData.h:33
std::uint32_t pad24
Definition NiParticlesData.h:36
virtual std::uint16_t GetActiveVertexCount()
virtual void CalculateNormals()
void LoadBinary(NiStream &a_stream) override
NiColorA * subtextureOffsets
Definition NiParticlesData.h:44
std::uint16_t maxNumVertices
Definition NiParticlesData.h:34
std::uint32_t subTextureOffsetsCount
Definition NiParticlesData.h:45
void LinkObject(NiStream &a_stream) override
virtual void SetActiveVertexCount(std::uint16_t a_vertexCount)
float speedToAspectSpeed2
Definition NiParticlesData.h:49
bool IsEqual(NiObject *a_object) override
static constexpr auto RTTI
Definition NiParticlesData.h:11
NiPoint3 * positions
Definition NiParticlesData.h:38
std::uint32_t pad8C
Definition NiParticlesData.h:56
float * sizes
Definition NiParticlesData.h:41
~NiParticlesData() override
NiColorA * color
Definition NiParticlesData.h:39
float * rotationAngles
Definition NiParticlesData.h:42
static constexpr auto Ni_RTTI
Definition NiParticlesData.h:12
void SaveBinary(NiStream &a_stream) override
std::uint16_t pad8A
Definition NiParticlesData.h:55
static constexpr auto VTABLE
Definition NiParticlesData.h:13
const NiRTTI * GetRTTI() const override
std::uint8_t unk89
Definition NiParticlesData.h:54
NiBound bound
Definition NiParticlesData.h:35
bool RegisterStreamables(NiStream &a_stream) override
std::uint16_t pad7E
Definition NiParticlesData.h:51
bool hasRotations
Definition NiParticlesData.h:32
Definition NiPoint3.h:6
Definition NiQuaternion.h:6
Definition NiRTTI.h:6
Definition NiStream.h:29
Definition AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_NiParticlesData
Definition Offsets_VTABLE.h:12301
constexpr REL::ID NiRTTI_NiParticlesData(static_cast< std::uint64_t >(524004))
constexpr REL::ID RTTI_NiParticlesData(static_cast< std::uint64_t >(690461))