CommonLibSSE NG
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
14 ~NiParticlesData() override; // 00
15
16 // override (NiObject)
17 const NiRTTI* GetRTTI() const override; // 02
18 void LoadBinary(NiStream& a_stream) override; // 18
19 void LinkObject(NiStream& a_stream) override; // 19
20 bool RegisterStreamables(NiStream& a_stream) override; // 1A
21 void SaveBinary(NiStream& a_stream) override; // 1B
22 bool IsEqual(NiObject* a_object) override; // 1C - { return false; }
23
24 // add
25 virtual void SetActiveVertexCount(std::uint16_t a_vertexCount); // 25
26 virtual std::uint16_t GetActiveVertexCount(); // 26
27 virtual void RemoveParticle(std::uint16_t a_particleCount); // 28
28 virtual void CalculateNormals(); // 29 - { return; }
29
30 // members
31 bool hasRotations; // 10
32 std::uint8_t unk11; // 11
33 std::uint16_t maxNumVertices; // 12
35 std::uint32_t pad24; // 24
39 float* radii; // 40
40 float* sizes; // 48
41 float* rotationAngles; // 50
44 std::uint32_t subTextureOffsetsCount; // 68 - max 256
45 float aspectRatio; // 6C
49 std::uint16_t numVertices; // 7C
50 std::uint16_t pad7E; // 7E
51 std::uint8_t* textureIndices; // 80
52 std::uint8_t unk88; // 88 - aspect flags?
53 std::uint8_t unk89; // 89
54 std::uint16_t pad8A; // 8A
55 std::uint32_t pad8C; // 8C
56 };
57 static_assert(sizeof(NiParticlesData) == 0x90);
58}
Definition NiBound.h:8
Definition NiColor.h:276
Definition NiObject.h:37
Definition NiParticlesData.h:9
std::uint8_t unk88
Definition NiParticlesData.h:52
std::uint8_t * textureIndices
Definition NiParticlesData.h:51
float aspectRatio
Definition NiParticlesData.h:45
float * radii
Definition NiParticlesData.h:39
float speedToAspectAspect2
Definition NiParticlesData.h:46
std::uint16_t numVertices
Definition NiParticlesData.h:49
virtual void RemoveParticle(std::uint16_t a_particleCount)
float speedToAspectAspect1
Definition NiParticlesData.h:47
NiQuaternion * rotations
Definition NiParticlesData.h:36
NiPoint3 * rotationAxes
Definition NiParticlesData.h:42
std::uint8_t unk11
Definition NiParticlesData.h:32
std::uint32_t pad24
Definition NiParticlesData.h:35
virtual std::uint16_t GetActiveVertexCount()
virtual void CalculateNormals()
void LoadBinary(NiStream &a_stream) override
NiColorA * subtextureOffsets
Definition NiParticlesData.h:43
std::uint16_t maxNumVertices
Definition NiParticlesData.h:33
std::uint32_t subTextureOffsetsCount
Definition NiParticlesData.h:44
void LinkObject(NiStream &a_stream) override
virtual void SetActiveVertexCount(std::uint16_t a_vertexCount)
float speedToAspectSpeed2
Definition NiParticlesData.h:48
bool IsEqual(NiObject *a_object) override
static constexpr auto RTTI
Definition NiParticlesData.h:11
NiPoint3 * positions
Definition NiParticlesData.h:37
std::uint32_t pad8C
Definition NiParticlesData.h:55
float * sizes
Definition NiParticlesData.h:40
~NiParticlesData() override
NiColorA * color
Definition NiParticlesData.h:38
float * rotationAngles
Definition NiParticlesData.h:41
static constexpr auto Ni_RTTI
Definition NiParticlesData.h:12
void SaveBinary(NiStream &a_stream) override
std::uint16_t pad8A
Definition NiParticlesData.h:54
const NiRTTI * GetRTTI() const override
std::uint8_t unk89
Definition NiParticlesData.h:53
NiBound bound
Definition NiParticlesData.h:34
bool RegisterStreamables(NiStream &a_stream) override
std::uint16_t pad7E
Definition NiParticlesData.h:50
bool hasRotations
Definition NiParticlesData.h:31
Definition NiPoint3.h:6
Definition NiQuaternion.h:6
Definition NiRTTI.h:6
Definition NiStream.h:27
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_NiParticlesData(690461, 398316, 0x1f625a8)
constexpr REL::VariantID NiRTTI_NiParticlesData(524004, 410584, 0x316c238)