NW4F Eft
Loading...
Searching...
No Matches
eft_Particle.h
Go to the documentation of this file.
1#ifndef EFT_PARTICLE_H_
2#define EFT_PARTICLE_H_
3
4#include <nw/eft/eft_typeDef.h>
5#include <nw/eft/eft_Data.h>
6#include <nw/eft/eft_Shader.h>
7
8namespace nw { namespace eft {
9
10struct PtclInstance;
11
12enum
13{
15};
16
25static_assert(sizeof(PtclStripeHistory) == 0x58, "nw::eft::PtclStripeHistory size mismatch");
26
46static_assert(sizeof(PtclStripe) == 0x5880, "nw::eft::PtclStripe size mismatch");
47
55static_assert(sizeof(AlphaAnim) == 0x10, "nw::eft::AlphaAnim size mismatch");
56
64static_assert(sizeof(ScaleAnim) == 0x18, "nw::eft::ScaleAnim size mismatch");
65
66struct EmitterInstance;
67
69{
101
109
113 u32 _16c[0x14 / sizeof(u32)];
114
116 {
117 return cnt;
118 }
119
121 {
122 return life;
123 }
124
126 {
127 return pos;
128 }
129
131 {
132 return worldPos;
133 }
134
136 {
137 return vel;
138 }
139
141 {
142 return rot;
143 }
144
146 {
147 return rotVel;
148 }
149
150 f32 GetAlpha() const
151 {
152 return alpha;
153 }
154
155 void SetAlpha(f32 alphaParam)
156 {
157 alpha = alphaParam;
158 }
159
161 {
162 return scale;
163 }
164
166 {
167 return runtimeUserData;
168 }
169
170 void SetRuntimeUserData(u32 data)
171 {
172 runtimeUserData = data;
173 }
174
176 {
177 return type;
178 }
179
180 void GetDrawColor0(nw::ut::FloatColor* dstColor);
181 void GetDrawColor1(nw::ut::FloatColor* dstColor);
182};
183static_assert(sizeof(PtclInstance) == 0x180, "nw::eft::PtclInstance size mismatch");
184
185} } // namespace nw::eft
186
187#endif // EFT_PARTICLE_H_
Definition eft_CafeWrapper.cpp:117
PtclType
Definition eft_Data.h:43
@ EFT_COLOR_KIND_MAX
Definition eft_Data.h:426
@ cNumStripeHistory
Definition eft_Particle.h:14
Definition eft_Particle.h:49
s32 alphaSec2
Definition eft_Particle.h:53
f32 alphaAddSec2
Definition eft_Particle.h:51
s32 alphaSec1
Definition eft_Particle.h:52
f32 alphaAddSec1
Definition eft_Particle.h:50
Definition eft_Data.h:1006
Definition eft_Emitter.h:23
Definition eft_Data.h:656
Definition eft_Particle.h:69
nw::math::VEC3 & GetVelocity()
Definition eft_Particle.h:135
nw::math::VEC3 worldPosDiff
Definition eft_Particle.h:76
u32 _16c[0x14/sizeof(u32)]
Definition eft_Particle.h:113
ScaleAnim * scaleAnim
Definition eft_Particle.h:83
nw::math::VEC3 & GetRotation()
Definition eft_Particle.h:140
nw::ut::FloatColor color[EFT_COLOR_KIND_MAX]
Definition eft_Particle.h:94
nw::math::MTX34 emitterSRT
Definition eft_Particle.h:97
f32 alpha
Definition eft_Particle.h:80
void GetDrawColor1(nw::ut::FloatColor *dstColor)
PtclType type
Definition eft_Particle.h:107
EmitterInstance * emitter
Definition eft_Particle.h:105
nw::math::VEC3 & GetPos()
Definition eft_Particle.h:125
nw::math::VEC3 pos
Definition eft_Particle.h:72
nw::math::VEC3 posDiff
Definition eft_Particle.h:73
nw::math::VEC3 rot
Definition eft_Particle.h:77
f32 uvRotateZ
Definition eft_Particle.h:84
PtclInstance * prev
Definition eft_Particle.h:103
nw::math::MTX34 * coordinateEmitterSRT
Definition eft_Particle.h:99
nw::math::VEC2 uvSubScale
Definition eft_Particle.h:91
f32 cnt
Definition eft_Particle.h:70
nw::math::VEC3 vel
Definition eft_Particle.h:74
PtclInstance * next
Definition eft_Particle.h:104
f32 fluctuationScale
Definition eft_Particle.h:93
void SetAlpha(f32 alphaParam)
Definition eft_Particle.h:155
void SetRuntimeUserData(u32 data)
Definition eft_Particle.h:170
nw::math::MTX34 * coordinateEmitterRT
Definition eft_Particle.h:98
f32 dynamicsRnd
Definition eft_Particle.h:79
nw::math::VEC3 worldPos
Definition eft_Particle.h:75
nw::math::VEC2 uvSubOffset
Definition eft_Particle.h:89
PtclStripe * stripe
Definition eft_Particle.h:106
PtclAttributeBuffer * attributeBuffer
Definition eft_Particle.h:95
nw::math::VEC2 uvScroll
Definition eft_Particle.h:86
s32 GetParticleLife() const
Definition eft_Particle.h:120
nw::math::VEC2 uvSubScroll
Definition eft_Particle.h:90
AlphaAnim * alphaAnim
Definition eft_Particle.h:81
f32 GetAlpha() const
Definition eft_Particle.h:150
u32 GetRuntimeUserData() const
Definition eft_Particle.h:165
const SimpleEmitterData * res
Definition eft_Particle.h:102
f32 fluctuationAlpha
Definition eft_Particle.h:92
nw::math::VEC2 uvScale
Definition eft_Particle.h:87
f32 GetParticleCounter() const
Definition eft_Particle.h:115
nw::math::VEC3 & GetRotateVelocity()
Definition eft_Particle.h:145
nw::math::VEC2 uvOffset
Definition eft_Particle.h:85
nw::math::MTX34 emitterRT
Definition eft_Particle.h:96
s32 life
Definition eft_Particle.h:71
f32 childPreEmitCnt
Definition eft_Particle.h:111
nw::math::VEC2 & GetScale()
Definition eft_Particle.h:160
f32 childEmitCnt
Definition eft_Particle.h:110
u32 runtimeUserData
Definition eft_Particle.h:100
nw::math::VEC2 scale
Definition eft_Particle.h:82
f32 uvSubRotateZ
Definition eft_Particle.h:88
void GetDrawColor0(nw::ut::FloatColor *dstColor)
f32 childEmitSaving
Definition eft_Particle.h:112
PtclType GetParticleType()
Definition eft_Particle.h:175
nw::math::VEC3 rotVel
Definition eft_Particle.h:78
u32 rnd
Definition eft_Particle.h:108
nw::math::VEC3 & GetWorldPos()
Definition eft_Particle.h:130
Definition eft_Particle.h:18
nw::math::VEC3 pos
Definition eft_Particle.h:19
f32 scale
Definition eft_Particle.h:20
nw::math::MTX34 emitterSRT
Definition eft_Particle.h:21
nw::math::VEC3 outer
Definition eft_Particle.h:22
nw::math::VEC3 dir
Definition eft_Particle.h:23
Definition eft_Particle.h:28
const ComplexEmitterData * res
Definition eft_Particle.h:35
s32 histQEnd
Definition eft_Particle.h:31
nw::math::MTX34 emitterSRT
Definition eft_Particle.h:37
PtclStripe * prev
Definition eft_Particle.h:41
s32 histQStart
Definition eft_Particle.h:30
u32 startDrawVertex
Definition eft_Particle.h:43
nw::math::VEC3 p0
Definition eft_Particle.h:39
u32 groupID
Definition eft_Particle.h:34
nw::math::VEC3 p1
Definition eft_Particle.h:40
s32 numHistory
Definition eft_Particle.h:33
nw::math::VEC3 interpolateNextDir
Definition eft_Particle.h:38
PtclStripeHistory hist[cNumStripeHistory]
Definition eft_Particle.h:32
s32 cnt
Definition eft_Particle.h:36
u32 numDrawVertex
Definition eft_Particle.h:44
PtclStripe * next
Definition eft_Particle.h:42
PtclInstance * ptcl
Definition eft_Particle.h:29
Definition eft_Particle.h:58
nw::math::VEC2 scaleAddSec2
Definition eft_Particle.h:60
nw::math::VEC2 scaleAddSec1
Definition eft_Particle.h:59
s32 scaleSec2
Definition eft_Particle.h:62
s32 scaleSec1
Definition eft_Particle.h:61
Definition eft_Data.h:834