CommonLibSSE NG
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 
8 namespace RE
9 {
10  class NiSourceTexture;
11  class BSParticleShaderGeometry;
12  class BSParticleShaderEmitter;
13 
15  {
16  public:
17  inline static constexpr auto RTTI = RTTI_BSParticleShaderProperty;
19 
20  virtual ~BSParticleShaderProperty(); // 00
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
47  float intialRotationVariance; // 0C4
48  float rotationSpeed; // 0C8
49  float rotationSpeedVariance; // 0CC
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
const NiRTTI * GetRTTI() const 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
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
RenderPassArray * GetRenderPasses(BSGeometry *a_geometry, std::uint32_t a_arg2, BSShaderAccumulator *a_accumulator) override
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
float acceleration1
Definition: BSParticleShaderProperty.h:41
std::int32_t QShader() override
float birthPositionVarianceOffset
Definition: BSParticleShaderProperty.h:45
NiSourceTexture * GetBaseTexture() override
bool useWorldSpace
Definition: BSParticleShaderProperty.h:30
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