CommonLibSSE NG
Loading...
Searching...
No Matches
BSParticleShaderProperty.h
Go to the documentation of this file.
1#pragma once
2
4#include "RE/B/BSTArray.h"
5#include "RE/N/NiColor.h"
6#include "RE/N/NiPoint3.h"
7
8namespace RE
9{
10 class NiSourceTexture;
11 class BSParticleShaderGeometry;
12 class BSParticleShaderEmitter;
13
15 {
16 public:
17 inline static constexpr auto RTTI = RTTI_BSParticleShaderProperty;
19
21
22 // override (BSShaderProperty)
23 const NiRTTI* GetRTTI() const override; // 02
24 bool SetupGeometry(BSGeometry* a_geometry) override; // 27 - { particleShaderGeometry = newGeometry; }
25 RenderPassArray* GetRenderPasses(BSGeometry* a_geometry, std::uint32_t a_arg2, BSShaderAccumulator* a_accumulator) override; // 2A
26 std::int32_t QShader() override; // 35 - { return 5; }
27 NiSourceTexture* GetBaseTexture() override; // 37 - { return particleShaderTexture; }
28
29 // members
30 bool useWorldSpace; // 088
32 std::uint8_t unk8B; // 08B
33 float particleLifetime; // 08C
38 float initialVelocity1; // 0A0
39 float initialVelocity2; // 0A4
40 float intialVelocity3; // 0A8
41 float acceleration1; // 0AC
42 float acceleration2; // 0B0
43 float acceleration3; // 0B4
44 float birthPositionOffset; // 0B8
48 float rotationSpeed; // 0C8
50 bool unk0D0; // 0D0
51 std::uint8_t pad0D1; // 0D1
52 std::uint16_t pad0D2; // 0D2
53 float animatedStartFrame; // 0D4
55 float animatedEndFrame; // 0DC
58 float animatedFrameCount; // 0E8
60 std::uint32_t colorScale; // 0F0
61 float colorKey1Time; // 0F4
62 float colorKey2Time; // 0F8
63 float colorKey3Time; // 0FC
67 float scaleKey1; // 130
68 float scaleKey2; // 134
69 float scaleKey1Time; // 138
70 float scaleKey2Time; // 13C
75 float unk170; // 170
76 float textureCountU; // 174
77 float textureCountV; // 178
79 float explosionWindSpeed; // 188
80 std::uint32_t unk18C; // 18C
82 };
83 static_assert(sizeof(BSParticleShaderProperty) == 0x198);
84}
Definition BSGeometry.h:15
Definition BSParticleShaderEmitter.h:11
Definition BSParticleShaderProperty.h:15
std::uint32_t colorScale
Definition BSParticleShaderProperty.h:60
NiColorA colorKey3
Definition BSParticleShaderProperty.h:66
float rotationSpeed
Definition BSParticleShaderProperty.h:48
BSTArray< NiPointer< BSParticleShaderEmitter > > particleEmitters
Definition BSParticleShaderProperty.h:73
std::uint32_t unk18C
Definition BSParticleShaderProperty.h:80
bool SetupGeometry(BSGeometry *a_geometry) override
float particleLifetimeVariance
Definition BSParticleShaderProperty.h:34
float colorKey2Time
Definition BSParticleShaderProperty.h:62
float animatedLoopStartVariance
Definition BSParticleShaderProperty.h:57
float initialSpeedAlongNormalVariance
Definition BSParticleShaderProperty.h:36
NiPointer< NiSourceTexture > particleShaderTexture
Definition BSParticleShaderProperty.h:71
float unk170
Definition BSParticleShaderProperty.h:75
float animatedEndFrameVariance
Definition BSParticleShaderProperty.h:56
float colorKey1Time
Definition BSParticleShaderProperty.h:61
float rotationSpeedVariance
Definition BSParticleShaderProperty.h:49
float textureCountV
Definition BSParticleShaderProperty.h:77
float accelerationAlongNormal
Definition BSParticleShaderProperty.h:37
NiPoint3 windPoint
Definition BSParticleShaderProperty.h:78
float colorKey3Time
Definition BSParticleShaderProperty.h:63
float scaleKey1Time
Definition BSParticleShaderProperty.h:69
RenderPassArray * GetRenderPasses(BSGeometry *a_geometry, std::uint32_t a_arg2, BSShaderAccumulator *a_accumulator) override
std::uint8_t unk8B
Definition BSParticleShaderProperty.h:32
std::uint8_t pad0D1
Definition BSParticleShaderProperty.h:51
bool unk0D0
Definition BSParticleShaderProperty.h:50
float animatedFrameCount
Definition BSParticleShaderProperty.h:58
float textureCountU
Definition BSParticleShaderProperty.h:76
float particleLifetime
Definition BSParticleShaderProperty.h:33
std::uint16_t pad0D2
Definition BSParticleShaderProperty.h:52
float acceleration2
Definition BSParticleShaderProperty.h:42
NiColorA colorKey2
Definition BSParticleShaderProperty.h:65
NiPointer< NiSourceTexture > particlePaletteTexture
Definition BSParticleShaderProperty.h:72
bool particleGreyscaleAlpha
Definition BSParticleShaderProperty.h:31
float scaleKey2
Definition BSParticleShaderProperty.h:68
float animatedStartFrame
Definition BSParticleShaderProperty.h:53
float scaleKey1
Definition BSParticleShaderProperty.h:67
float scaleKey2Time
Definition BSParticleShaderProperty.h:70
NiColorA colorKey1
Definition BSParticleShaderProperty.h:64
float animatedFrameCountVariance
Definition BSParticleShaderProperty.h:59
float particleShaderInitialRotation
Definition BSParticleShaderProperty.h:46
float initialVelocity1
Definition BSParticleShaderProperty.h:38
float explosionWindSpeed
Definition BSParticleShaderProperty.h:79
static auto Ni_RTTI
Definition BSParticleShaderProperty.h:18
float initialVelocity2
Definition BSParticleShaderProperty.h:39
float animatedStartFrameVariance
Definition BSParticleShaderProperty.h:54
float initialSpeedAlongNormal
Definition BSParticleShaderProperty.h:35
static constexpr auto RTTI
Definition BSParticleShaderProperty.h:17
float animatedEndFrame
Definition BSParticleShaderProperty.h:55
float intialVelocity3
Definition BSParticleShaderProperty.h:40
float birthPositionOffset
Definition BSParticleShaderProperty.h:44
NiPointer< BSParticleShaderGeometry > particleShaderGeometry
Definition BSParticleShaderProperty.h:74
float acceleration3
Definition BSParticleShaderProperty.h:43
float intialRotationVariance
Definition BSParticleShaderProperty.h:47
BSParticleShaderEmitter * particleEmitter
Definition BSParticleShaderProperty.h:81
const NiRTTI * GetRTTI() const override
float acceleration1
Definition BSParticleShaderProperty.h:41
std::int32_t QShader() override
float birthPositionVarianceOffset
Definition BSParticleShaderProperty.h:45
bool useWorldSpace
Definition BSParticleShaderProperty.h:30
NiSourceTexture * GetBaseTexture() override
Definition BSShaderProperty.h:17
Definition BSTArray.h:377
Definition NiColor.h:276
Definition NiPoint3.h:6
Definition NiSmartPointer.h:9
Definition NiRTTI.h:6
Definition NiSourceTexture.h:21
Definition AbsorbEffect.h:6
constexpr REL::VariantID NiRTTI_BSParticleShaderProperty(527992, 414937, 0x3485758)
constexpr REL::VariantID RTTI_BSParticleShaderProperty(692036, 400080, 0x1f801b0)
Definition BSShaderProperty.h:37