CommonLibSSE NG
Loading...
Searching...
No Matches
BSParticleShaderEmitter.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/N/NiRefObject.h"
4
5namespace RE
6{
7 class BSParticleShaderProperty;
8 class NiAVObject;
9
11 {
12 public:
13 inline static constexpr auto RTTI = RTTI_BSParticleShaderEmitter;
14
15 enum class EMITTER_TYPE
16 {
17 kGeometry = 0,
18 kCollision = 1,
19 kRay = 2,
20 kSnow = 3,
21 kRain = 4
22 };
23
25 {
26 public:
27 // members
28 float currentFrame; // 00
29 std::uint32_t totalFrames; // 04
30 };
31 static_assert(sizeof(TextureAnimInfo) == 0x08);
32
34 {
35 public:
36 // members
37 float XPos; // 00
38 float YPos; // 04
39 float ZPos; // 08
40 float age; // 0C
41 float XVel; // 10
42 float YVel; // 14
43 float ZVel; // 18
44 float lifeAdjust; // 1C
45 float rotationStart; // 20
46 float rotationSpeed; // 24
47 float speedMult; // 28
48 std::uint8_t texCoordU; // 29
49 std::uint8_t texCoordV; // 2A
50 std::uint8_t vertexX; // 2B
51 std::uint8_t vertexY; // 2C
52 };
53 static_assert(sizeof(ParticleData) == 0x30);
54
55 virtual ~BSParticleShaderEmitter(); // 00
56
57 // add
58 virtual NiAVObject* GetBoundsObject(); // 02
59 virtual bool Generate(bool a_arg1, NiPoint3& a_arg2, NiPoint3& a_arg3) = 0; // 03
60
61 // members
64 std::uint16_t particleCount; // 1A
65 float alpha; // 1C
66 float generateReminder; // 20
67 float maxParticleRatio; // 24
70 };
71 static_assert(sizeof(BSParticleShaderEmitter) == 0xED0);
72}
Definition BSParticleShaderEmitter.h:25
std::uint32_t totalFrames
Definition BSParticleShaderEmitter.h:29
float currentFrame
Definition BSParticleShaderEmitter.h:28
Definition BSParticleShaderEmitter.h:11
std::uint16_t particleCount
Definition BSParticleShaderEmitter.h:64
float generateReminder
Definition BSParticleShaderEmitter.h:66
TextureAnimInfo * textureAnims
Definition BSParticleShaderEmitter.h:68
stl::enumeration< EMITTER_TYPE, std::uint16_t > emitterType
Definition BSParticleShaderEmitter.h:63
float alpha
Definition BSParticleShaderEmitter.h:65
float maxParticleRatio
Definition BSParticleShaderEmitter.h:67
EMITTER_TYPE
Definition BSParticleShaderEmitter.h:16
static constexpr auto RTTI
Definition BSParticleShaderEmitter.h:13
virtual bool Generate(bool a_arg1, NiPoint3 &a_arg2, NiPoint3 &a_arg3)=0
BSParticleShaderProperty * property
Definition BSParticleShaderEmitter.h:62
virtual NiAVObject * GetBoundsObject()
ParticleData instanceData[78]
Definition BSParticleShaderEmitter.h:69
Definition BSParticleShaderProperty.h:15
Definition NiAVObject.h:50
Definition NiPoint3.h:6
Definition NiRefObject.h:8
Definition PCH.h:223
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_BSParticleShaderEmitter(685109, 392871, 0x1edfb80)
Definition BSParticleShaderEmitter.h:34
std::uint8_t vertexX
Definition BSParticleShaderEmitter.h:50
float YPos
Definition BSParticleShaderEmitter.h:38
float rotationStart
Definition BSParticleShaderEmitter.h:45
float rotationSpeed
Definition BSParticleShaderEmitter.h:46
float lifeAdjust
Definition BSParticleShaderEmitter.h:44
float ZVel
Definition BSParticleShaderEmitter.h:43
float YVel
Definition BSParticleShaderEmitter.h:42
float ZPos
Definition BSParticleShaderEmitter.h:39
float speedMult
Definition BSParticleShaderEmitter.h:47
float age
Definition BSParticleShaderEmitter.h:40
float XVel
Definition BSParticleShaderEmitter.h:41
std::uint8_t texCoordV
Definition BSParticleShaderEmitter.h:49
float XPos
Definition BSParticleShaderEmitter.h:37
std::uint8_t texCoordU
Definition BSParticleShaderEmitter.h:48
std::uint8_t vertexY
Definition BSParticleShaderEmitter.h:51