CommonLibVR
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;
18 inline static constexpr auto Ni_RTTI = NiRTTI_BSParticleShaderProperty;
19 inline static constexpr auto VTABLE = VTABLE_BSParticleShaderProperty;
20
22
23 // override (BSShaderProperty)
24 const NiRTTI* GetRTTI() const override; // 02
25 bool SetupGeometry(BSGeometry* a_geometry) override; // 27 - { particleShaderGeometry = newGeometry; }
26 RenderPassArray* GetRenderPasses(BSGeometry* a_geometry, std::uint32_t a_arg2, BSShaderAccumulator* a_accumulator) override; // 2A
27 std::int32_t QShader() override; // 35 - { return 5; }
28 NiSourceTexture* GetBaseTexture() override; // 37 - { return particleShaderTexture; }
29
30 // members
31 bool useWorldSpace; // 088
33 std::uint8_t unk8B; // 08B
34 float particleLifetime; // 08C
39 float initialVelocity1; // 0A0
40 float initialVelocity2; // 0A4
41 float intialVelocity3; // 0A8
42 float acceleration1; // 0AC
43 float acceleration2; // 0B0
44 float acceleration3; // 0B4
45 float birthPositionOffset; // 0B8
49 float rotationSpeed; // 0C8
51 bool unk0D0; // 0D0
52 std::uint8_t pad0D1; // 0D1
53 std::uint16_t pad0D2; // 0D2
54 float animatedStartFrame; // 0D4
56 float animatedEndFrame; // 0DC
59 float animatedFrameCount; // 0E8
61 std::uint32_t colorScale; // 0F0
62 float colorKey1Time; // 0F4
63 float colorKey2Time; // 0F8
64 float colorKey3Time; // 0FC
68 float scaleKey1; // 130
69 float scaleKey2; // 134
70 float scaleKey1Time; // 138
71 float scaleKey2Time; // 13C
76 float unk170; // 170
77 float textureCountU; // 174
78 float textureCountV; // 178
80 float explosionWindSpeed; // 188
81 std::uint32_t unk18C; // 18C
83 private:
85 };
86 static_assert(sizeof(BSParticleShaderProperty) == 0x198);
87}
#define KEEP_FOR_RE()
Definition PCH.h:517
Definition BSGeometry.h:17
Definition BSParticleShaderEmitter.h:11
Definition BSParticleShaderProperty.h:15
std::uint32_t colorScale
Definition BSParticleShaderProperty.h:61
NiColorA colorKey3
Definition BSParticleShaderProperty.h:67
float rotationSpeed
Definition BSParticleShaderProperty.h:49
BSTArray< NiPointer< BSParticleShaderEmitter > > particleEmitters
Definition BSParticleShaderProperty.h:74
std::uint32_t unk18C
Definition BSParticleShaderProperty.h:81
bool SetupGeometry(BSGeometry *a_geometry) override
float particleLifetimeVariance
Definition BSParticleShaderProperty.h:35
float colorKey2Time
Definition BSParticleShaderProperty.h:63
float animatedLoopStartVariance
Definition BSParticleShaderProperty.h:58
float initialSpeedAlongNormalVariance
Definition BSParticleShaderProperty.h:37
NiPointer< NiSourceTexture > particleShaderTexture
Definition BSParticleShaderProperty.h:72
float unk170
Definition BSParticleShaderProperty.h:76
float animatedEndFrameVariance
Definition BSParticleShaderProperty.h:57
float colorKey1Time
Definition BSParticleShaderProperty.h:62
float rotationSpeedVariance
Definition BSParticleShaderProperty.h:50
static constexpr auto Ni_RTTI
Definition BSParticleShaderProperty.h:18
float textureCountV
Definition BSParticleShaderProperty.h:78
float accelerationAlongNormal
Definition BSParticleShaderProperty.h:38
NiPoint3 windPoint
Definition BSParticleShaderProperty.h:79
float colorKey3Time
Definition BSParticleShaderProperty.h:64
float scaleKey1Time
Definition BSParticleShaderProperty.h:70
RenderPassArray * GetRenderPasses(BSGeometry *a_geometry, std::uint32_t a_arg2, BSShaderAccumulator *a_accumulator) override
std::uint8_t unk8B
Definition BSParticleShaderProperty.h:33
static constexpr auto VTABLE
Definition BSParticleShaderProperty.h:19
std::uint8_t pad0D1
Definition BSParticleShaderProperty.h:52
bool unk0D0
Definition BSParticleShaderProperty.h:51
float animatedFrameCount
Definition BSParticleShaderProperty.h:59
float textureCountU
Definition BSParticleShaderProperty.h:77
float particleLifetime
Definition BSParticleShaderProperty.h:34
std::uint16_t pad0D2
Definition BSParticleShaderProperty.h:53
float acceleration2
Definition BSParticleShaderProperty.h:43
NiColorA colorKey2
Definition BSParticleShaderProperty.h:66
NiPointer< NiSourceTexture > particlePaletteTexture
Definition BSParticleShaderProperty.h:73
bool particleGreyscaleAlpha
Definition BSParticleShaderProperty.h:32
float scaleKey2
Definition BSParticleShaderProperty.h:69
float animatedStartFrame
Definition BSParticleShaderProperty.h:54
float scaleKey1
Definition BSParticleShaderProperty.h:68
float scaleKey2Time
Definition BSParticleShaderProperty.h:71
NiColorA colorKey1
Definition BSParticleShaderProperty.h:65
float animatedFrameCountVariance
Definition BSParticleShaderProperty.h:60
float particleShaderInitialRotation
Definition BSParticleShaderProperty.h:47
float initialVelocity1
Definition BSParticleShaderProperty.h:39
float explosionWindSpeed
Definition BSParticleShaderProperty.h:80
float initialVelocity2
Definition BSParticleShaderProperty.h:40
float animatedStartFrameVariance
Definition BSParticleShaderProperty.h:55
float initialSpeedAlongNormal
Definition BSParticleShaderProperty.h:36
static constexpr auto RTTI
Definition BSParticleShaderProperty.h:17
float animatedEndFrame
Definition BSParticleShaderProperty.h:56
float intialVelocity3
Definition BSParticleShaderProperty.h:41
float birthPositionOffset
Definition BSParticleShaderProperty.h:45
NiPointer< BSParticleShaderGeometry > particleShaderGeometry
Definition BSParticleShaderProperty.h:75
float acceleration3
Definition BSParticleShaderProperty.h:44
float intialRotationVariance
Definition BSParticleShaderProperty.h:48
BSParticleShaderEmitter * particleEmitter
Definition BSParticleShaderProperty.h:82
const NiRTTI * GetRTTI() const override
float acceleration1
Definition BSParticleShaderProperty.h:42
std::int32_t QShader() override
float birthPositionVarianceOffset
Definition BSParticleShaderProperty.h:46
bool useWorldSpace
Definition BSParticleShaderProperty.h:31
NiSourceTexture * GetBaseTexture() override
Definition BSShaderProperty.h:17
Definition BSTArray.h:378
Definition NiColor.h:283
Definition NiPoint3.h:6
Definition NiSmartPointer.h:9
Definition NiRTTI.h:6
Definition NiSourceTexture.h:21
Definition AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_BSParticleShaderProperty
Definition Offsets_VTABLE.h:9313
constexpr REL::ID NiRTTI_BSParticleShaderProperty(static_cast< std::uint64_t >(527992))
constexpr REL::ID RTTI_BSParticleShaderProperty(static_cast< std::uint64_t >(692036))
Definition BSShaderProperty.h:39