NW4F Eft
Loading...
Searching...
No Matches
eft_EmitterSet.h
Go to the documentation of this file.
1#ifndef EFT_EMITTER_SET_H_
2#define EFT_EMITTER_SET_H_
3
4#include <nw/eft/eft_typeDef.h>
5#include <nw/eft/eft_Data.h>
6#include <nw/eft/eft_System.h>
7#include <nw/eft/eft_Resource.h>
8#include <nw/eft/eft_Emitter.h>
9
10namespace nw { namespace eft {
11
12struct EmitterInstance;
13
15{
16public:
17 enum
18 {
21 };
22
23public:
24 void Reset()
25 {
26 mEmissionRatio = 1.0f;
27 mEmissionInterval = 1.0f;
28 mLife = 1.0f;
30 }
31
32 void SetEmissionRatio(s32 ratio)
33 {
34 mEmissionRatio = static_cast<f32>(ratio) / static_cast<f32>(EFT_EMT_CTRLR_SCALE_ONE);
35 }
36
37 void SetEmissionRatio(f32 ratio)
38 {
39 mEmissionRatio = ratio;
40 }
41
42 void SetEmissionInterval(s32 ratio)
43 {
44 mEmissionInterval = static_cast<f32>(ratio) / static_cast<f32>(EFT_EMT_CTRLR_SCALE_ONE);
45 }
46
47 void SetEmissionInterval(f32 ratio)
48 {
49 mEmissionInterval = ratio;
50 }
51
52 void SetLife(s32 ratio)
53 {
54 mLife = static_cast<f32>(ratio) / static_cast<f32>(EFT_EMT_CTRLR_SCALE_ONE);
55 }
56
57 void SetLife(f32 ratio)
58 {
59 mLife = ratio;
60 }
61
62 void SetVisible(bool isVisible)
63 {
64 if (isVisible)
66 else
68 }
69
71 {
72 mDrawViewFlag = flag;
73 }
74
75 void SetStopDraw(bool isStopDraw)
76 {
77 if (isStopDraw)
79 else
81 }
82
83 bool IsStopDraw() const
84 {
86 return true;
87 else
88 return false;
89 }
90
92 {
93 return mDrawViewFlag;
94 }
95
96 static s32 F32ToScale(f32 val)
97 {
98 return (s32)(val * (f32)EFT_EMT_CTRLR_SCALE_ONE);
99 }
100
101 void SetFollowType(PtclFollowType followType);
102 void SetEmitterColor0(const nw::ut::FloatColor& color);
103 void SetEmitterColor1(const nw::ut::FloatColor& color);
104
105private:
111
112 friend class System;
113 friend class EmitterSimpleCalc;
114 friend class EmitterComplexCalc;
115 friend class EmitterCalc;
116};
117static_assert(sizeof(EmitterController) == 0x14, "nw::eft::EmitterController size mismatch");
118
119class System;
120
122{
123public:
125 : mNumEmitter(0)
130 {
131 mInitialRoate.x = 0;
132 mInitialRoate.y = 0;
133 mInitialRoate.z = 0;
134
135 for (u32 i = 0; i < EFT_EMITTER_INSET_NUM; i++)
136 mInstance[i] = NULL;
137 }
138
139 void SetSystem(System* sys)
140 {
141 mSystem = sys;
142 }
143
145 {
146 return mSystem;
147 }
148
150 {
151 return mResourceID;
152 }
153
155 {
156 return mEmitterSetID;
157 }
158
160 {
161 return mEmitterCreateID;
162 }
163
164 const char* GetEmitterSetName() const
165 {
166 return mSystem->SearchEmitterSetName( mEmitterSetID, mResourceID );
167 }
168
170 {
171 return mNumEmitter;
172 }
173
175 {
176 return mNumEmitter;
177 }
178
179 const EmitterInstance* GetAliveEmitter( u32 idx );
180
182 {
183 return mNumEmitterFirst;
184 }
185
186 s32 GetEmitterCounter(const char* emitterName);
187
188 s32 GetEmitterCounter(s32 emitterID);
189
191 {
192 return static_cast<u8>(mGroupID);
193 }
194
196 {
197 return mNext;
198 }
199
200 bool IsLoopEffect() const;
201
202 bool IsAlive() const
203 {
204 return mNumEmitter > 0;
205 }
206
208 {
210 }
211
213 {
214 return mSRT;
215 }
216
218 {
219 return mRT;
220 }
221
222 void SetDrawPriority(u8 priority)
223 {
224 mDrawPriority = priority;
225 }
226
228 {
229 return mDrawPriority;
230 }
231
233 {
234 return mSystem->GetResource(mResourceID)->GetUserData(mEmitterSetID);
235 }
236
238 {
239 return mSystem->GetResource(mResourceID)->GetUserDataNum1(mEmitterSetID);
240 }
241
243 {
244 return mSystem->GetResource(mResourceID)->GetUserDataNum2(mEmitterSetID);
245 }
246
248 {
249 return mSystem->GetResource(mResourceID)->GetUserDataBit(mEmitterSetID);
250 }
251
252 void SetMtx(const nw::math::MTX34& mtx);
253
254 void SetMtxFast(const nw::math::MTX34& mtx)
255 {
256 mSRT = mRT = mtx;
257 mAutoCalcScale = nw::math::VEC3(1.0f, 1.0f, 1.0f);
259 }
260
261 void SetMtxFast(const nw::math::MTX34& mtx, f32 scale)
262 {
263 mSRT.m[0][0] = mtx.m[0][0] * scale;
264 mSRT.m[1][0] = mtx.m[1][0] * scale;
265 mSRT.m[2][0] = mtx.m[2][0] * scale;
266
267 mSRT.m[0][1] = mtx.m[0][1] * scale;
268 mSRT.m[1][1] = mtx.m[1][1] * scale;
269 mSRT.m[2][1] = mtx.m[2][1] * scale;
270
271 mSRT.m[0][2] = mtx.m[0][2] * scale;
272 mSRT.m[1][2] = mtx.m[1][2] * scale;
273 mSRT.m[2][2] = mtx.m[2][2] * scale;
274
275 mSRT.m[0][3] = mtx.m[0][3];
276 mSRT.m[1][3] = mtx.m[1][3];
277 mSRT.m[2][3] = mtx.m[2][3];
278
279 mRT = mtx;
280 mAutoCalcScale.x = scale;
281 mAutoCalcScale.y = scale;
282 mAutoCalcScale.z = scale;
284 }
285
286 void SetMtxFast(const nw::math::MTX34& mtx, const nw::math::VEC3& scale)
287 {
288 mSRT.m[0][0] = mtx.m[0][0] * scale.x;
289 mSRT.m[1][0] = mtx.m[1][0] * scale.x;
290 mSRT.m[2][0] = mtx.m[2][0] * scale.x;
291
292 mSRT.m[0][1] = mtx.m[0][1] * scale.y;
293 mSRT.m[1][1] = mtx.m[1][1] * scale.y;
294 mSRT.m[2][1] = mtx.m[2][1] * scale.y;
295
296 mSRT.m[0][2] = mtx.m[0][2] * scale.z;
297 mSRT.m[1][2] = mtx.m[1][2] * scale.z;
298 mSRT.m[2][2] = mtx.m[2][2] * scale.z;
299
300 mSRT.m[0][3] = mtx.m[0][3];
301 mSRT.m[1][3] = mtx.m[1][3];
302 mSRT.m[2][3] = mtx.m[2][3];
303
304 mRT = mtx;
305 mAutoCalcScale = scale;
307 }
308
309 void SetPos(const nw::math::VEC3& pos)
310 {
311 mSRT.SetIdentity();
312 mSRT.SetTranslate(pos);
313 mRT = mSRT;
315 }
316
317 void SetPos(const nw::math::VEC3& pos, f32 scale)
318 {
319 mRT.SetIdentity();
320 mRT.SetTranslate(pos);
321 mSRT = mRT;
322 mSRT.m[0][0] *= scale;
323 mSRT.m[1][1] *= scale;
324 mSRT.m[2][2] *= scale;
325 mAutoCalcScale.x = scale;
326 mAutoCalcScale.y = scale;
327 mAutoCalcScale.z = scale;
329 }
330
331 void SetPos(const nw::math::VEC3& pos, const nw::math::VEC3& scale)
332 {
333 mRT.SetIdentity();
334 mRT.SetTranslate(pos);
335 mSRT = mRT;
336 mSRT.m[0][0] *= scale.x;
337 mSRT.m[1][1] *= scale.y;
338 mSRT.m[2][2] *= scale.z;
339 mAutoCalcScale = scale;
341 }
342
343 void GetPos(nw::math::VEC3& pos) const
344 {
345 pos.x = mSRT.m[0][3];
346 pos.y = mSRT.m[1][3];
347 pos.z = mSRT.m[2][3];
348 }
349
350 void Kill();
352
353 void Reset(const nw::math::MTX34& matLW)
354 {
355 mSRT = matLW;
356 mRT = matLW;
357 mAutoCalcScale = nw::math::VEC3(1.0f, 1.0f, 1.0f);
358 mEmitterScale = nw::math::VEC3(1.0f, 1.0f, 1.0f);
359 mEmissionParticleScale = nw::math::VEC2(1.0f, 1.0f);
360 mParticlScaleForCalc.x = 1.0f;
361 mParticlScaleForCalc.y = 1.0f;
362 mStartFrame = 0;
363
364 mParticlScale.x = mParticlScale.y = 1.0f;
365 mColor.r = mColor.g = mColor.b = mColor.a = 1.0f;
366 mFigureVel = mDirectionalVel = mRandomVel = 1.0f;
367 mVelAdd.x = mVelAdd.y = mVelAdd.z = 0.0f;
368 mIsSetDirectional = false;
369 mFadeRequest = false;
370 mIsStopCalc = false;
371 mIsStopDraw = false;
373 mNumParticleEmissionPoint = 0;
374
375 mDrawPriority = EFT_DEFAULT_DRAW_PRIORITY;
376 mDrawPathFlag = 0;
377
378 mInitialRoate.Set(0.0f, 0.0f, 0.0f);
379
380 for (u32 i = 0; i < EFT_EMITTER_INSET_NUM; ++i)
381 mInstance[i] = NULL;
382 }
383
384 void Fade()
385 {
386 mFadeRequest = true;
387 }
388
389 bool IsFadeRequest() const
390 {
391 return mFadeRequest;
392 }
393
395 {
396 mFadeRequest = false;
397 }
398
399 void SetParticleScale(f32 scale)
400 {
401 mParticlScale.x = mParticlScale.y = scale;
403 }
404
405 void SetParticleScale(f32 scaleX, f32 scaleY)
406 {
407 mParticlScale.x = scaleX;
408 mParticlScale.y = scaleY;
410 }
411
412 void SetParticleScale(const nw::math::VEC2& scale)
413 {
414 mParticlScale = scale;
416 }
417
418 const nw::math::VEC2& GetParticleScale() const
419 {
420 return mParticlScale;
421 }
422
424 {
425 mEmissionParticleScale.x = mEmissionParticleScale.y = scale;
426 }
427
428 void SetEmissionParticleScale(f32 scaleX, f32 scaleY)
429 {
430 mEmissionParticleScale.x = scaleX;
431 mEmissionParticleScale.y = scaleY;
432 }
433
434 void SetEmissionParticleScale(const nw::math::VEC2& scale)
435 {
436 mEmissionParticleScale = scale;
437 }
438
440 {
441 return mEmissionParticleScale;
442 }
443
444 void SetEmitterScale(const nw::math::VEC3& scale)
445 {
446 mEmitterScale = scale;
447 }
448
449 const nw::math::VEC3& GetEmitterScale() const
450 {
451 return mEmitterScale;
452 }
453
455 {
456 return mParticlScaleForCalc;
457 }
458
459 void SetAlpha(f32 alpha)
460 {
461 mColor.a = alpha;
462 }
463
464 void SetColor(f32 r, f32 g, f32 b)
465 {
466 mColor.r = r;
467 mColor.g = g;
468 mColor.b = b;
469 }
470
471 void SetColor(const nw::ut::FloatColor& color)
472 {
473 mColor = color;
474 }
475
476 const nw::ut::FloatColor& GetColor() const
477 {
478 return mColor;
479 }
480
481 void SetAllDirectionalVel(f32 velScale)
482 {
483 mFigureVel = velScale;
484 }
485
487 {
488 return mFigureVel;
489 }
490
491 void SetDirectionalVel(f32 velScale)
492 {
493 mDirectionalVel = velScale;
494 }
495
497 {
498 return mDirectionalVel;
499 }
500
501 void SetRandomVel(f32 velScale)
502 {
503 mRandomVel = velScale;
504 }
505
507 {
508 return mRandomVel;
509 }
510
511 void SetAddVel(const nw::math::VEC3& velAdd)
512 {
513 mVelAdd = velAdd;
514 }
515
516 const nw::math::VEC3& GetVelAdd() const
517 {
518 return mVelAdd;
519 }
520
521 void SetDirectional(const nw::math::VEC3& dir)
522 {
523 mDirectional = dir;
524 mIsSetDirectional = true;
525 }
526
527 const nw::math::VEC3& GetDirectional() const
528 {
529 return mDirectional;
530 }
531
532 void SetInitRotate(const nw::math::VEC3& rot)
533 {
534 mInitialRoate = rot;
535 }
536
537 /* void SetInitRotate(const Vector3i& rot)
538 {
539 mInitialRoate.x = NW_MATH_IDX_TO_RAD(rot.x);
540 mInitialRoate.y = NW_MATH_IDX_TO_RAD(rot.y);
541 mInitialRoate.z = NW_MATH_IDX_TO_RAD(rot.z);
542 } */
543
545 {
546 mIsSetDirectional = false;
547 }
548
549 bool IsSetDirectional() const
550 {
551 return mIsSetDirectional;
552 }
553
554 void SetStartFrame(s32 frame)
555 {
556 mStartFrame = frame;
557 }
558
560 {
561 return mStartFrame;
562 }
563
565 {
566 return &mController[ix];
567 }
568
570
571 void SetParticleEmissionPoints(s32 numPoint, nw::math::VEC3* points)
572 {
573 mNumParticleEmissionPoint = numPoint;
574 mParticleEmissionPoints = points;
575 }
576
577 void SetManualParticleEmission(bool isManual)
578 {
579 mStartFrame = isManual ? 0x7fffffff : 0;
580 }
581
582 void EmitParticle(const nw::math::VEC3& pos);
583
584 void ForceCalc(s32 numLoop);
585
586 void SetStopCalcAndDraw(bool isStopCalcAndDraw)
587 {
588 mIsStopCalc = isStopCalcAndDraw;
589 mIsStopDraw = isStopCalcAndDraw;
590 }
591
592 bool IsStopCalcAndDraw() const
593 {
594 return mIsStopCalc && mIsStopDraw;
595 }
596
597 void SetStopCalc(bool isStopCalc);
598
599 bool IsStopCalc() const
600 {
601 return mIsStopCalc;
602 }
603
604 void SetStopDraw(bool isStopDraw);
605
606 bool IsStopDraw() const
607 {
608 return mIsStopDraw;
609 }
610
611 void SetStopDraw(u32 emitterID, bool isStopDraw)
612 {
613 mController[emitterID].SetStopDraw(isStopDraw);
614 }
615
616 void SetRandomSeed(u32 seed);
617
619 {
620 return mRuntimeUserData;
621 }
622
623 void SetRuntimeUserData(u32 data)
624 {
625 mRuntimeUserData = data;
626 }
627
629
630private:
642
646
651
662
665
671
674
676 {
677 mParticlScaleForCalc.x = mParticlScale.x * mAutoCalcScale.x;
678 mParticlScaleForCalc.y = mParticlScale.y * mAutoCalcScale.y;
679 }
680
681 friend class System;
682 friend class EmitterSimpleCalc;
683 friend class EmitterComplexCalc;
684 friend class EmitterCalc;
685 friend class Renderer;
686};
687static_assert(sizeof(EmitterSet) == 0x294, "nw::eft::EmitterSet size mismatch");
688
689} } // namespace nw::eft
690
691#endif // EFT_EMITTER_SET_H_
Definition eft_Emitter.h:222
Definition eft_EmitterComplex.h:10
Definition eft_EmitterSet.h:15
void SetFollowType(PtclFollowType followType)
Definition eft_EmitterSet.cpp:7
f32 mEmissionRatio
Definition eft_EmitterSet.h:106
void Reset()
Definition eft_EmitterSet.h:24
void SetEmitterColor0(const nw::ut::FloatColor &color)
Definition eft_EmitterSet.cpp:12
EmitterInstance * mEmitter
Definition eft_EmitterSet.h:110
void SetEmissionRatio(s32 ratio)
Definition eft_EmitterSet.h:32
@ EFT_EMT_CTRLR_SCALE_ONE
Definition eft_EmitterSet.h:20
@ EFT_EMT_CTRLR_SCALE_BIT
Definition eft_EmitterSet.h:19
DrawViewFlag mDrawViewFlag
Definition eft_EmitterSet.h:109
void SetLife(s32 ratio)
Definition eft_EmitterSet.h:52
DrawViewFlag GetDrawViewFlag() const
Definition eft_EmitterSet.h:91
static s32 F32ToScale(f32 val)
Definition eft_EmitterSet.h:96
void SetEmissionInterval(s32 ratio)
Definition eft_EmitterSet.h:42
f32 mLife
Definition eft_EmitterSet.h:108
f32 mEmissionInterval
Definition eft_EmitterSet.h:107
void SetVisible(bool isVisible)
Definition eft_EmitterSet.h:62
void SetViewFlag(DrawViewFlag flag)
Definition eft_EmitterSet.h:70
bool IsStopDraw() const
Definition eft_EmitterSet.h:83
void SetStopDraw(bool isStopDraw)
Definition eft_EmitterSet.h:75
void SetEmitterColor1(const nw::ut::FloatColor &color)
Definition eft_EmitterSet.cpp:19
Definition eft_EmitterSet.h:122
void SetParticleScale(const nw::math::VEC2 &scale)
Definition eft_EmitterSet.h:412
void SetInitRotate(const nw::math::VEC3 &rot)
Definition eft_EmitterSet.h:532
s32 GetEmitterSetID() const
Definition eft_EmitterSet.h:154
void UpdateEmitterFromResInfo()
void SetSystem(System *sys)
Definition eft_EmitterSet.h:139
EmitterController * GetEmitterController(s32 ix)
Definition eft_EmitterSet.h:564
void SetStopCalc(bool isStopCalc)
Definition eft_EmitterSet.cpp:139
bool IsFadeRequest() const
Definition eft_EmitterSet.h:389
void SetEmissionParticleScale(f32 scaleX, f32 scaleY)
Definition eft_EmitterSet.h:428
void SetMtx(const nw::math::MTX34 &mtx)
Definition eft_EmitterSet.cpp:44
u8 _28e[EFT_CPU_CORE_MAX]
Definition eft_EmitterSet.h:673
const EmitterController * GetAliveEmitterController(s32 ix)
u8 GetUserDataNum1() const
Definition eft_EmitterSet.h:237
nw::math::VEC3 mAutoCalcScale
Definition eft_EmitterSet.h:645
void SetStopDraw(bool isStopDraw)
Definition eft_EmitterSet.cpp:144
s32 GetStartFrame() const
Definition eft_EmitterSet.h:559
nw::math::MTX34 & GetSRTMatrix()
Definition eft_EmitterSet.h:212
void SetColor(f32 r, f32 g, f32 b)
Definition eft_EmitterSet.h:464
s32 GetNumAliveEmitter() const
Definition eft_EmitterSet.h:174
f32 GetRandomVel() const
Definition eft_EmitterSet.h:506
f32 mDirectionalVel
Definition eft_EmitterSet.h:654
void Kill()
Definition eft_EmitterSet.cpp:102
nw::math::VEC3 mDirectional
Definition eft_EmitterSet.h:657
f32 GetDirectionalVel() const
Definition eft_EmitterSet.h:496
System * mSystem
Definition eft_EmitterSet.h:631
f32 GetAllDirectionalVel() const
Definition eft_EmitterSet.h:486
nw::math::VEC2 mEmissionParticleScale
Definition eft_EmitterSet.h:648
u32 mDrawPathFlag
Definition eft_EmitterSet.h:641
u16 GetUserDataBit() const
Definition eft_EmitterSet.h:247
nw::math::MTX34 mSRT
Definition eft_EmitterSet.h:643
bool mIsStopCalc
Definition eft_EmitterSet.h:668
EmitterSet()
Definition eft_EmitterSet.h:124
s32 GetEmitterCounter(s32 emitterID)
const char * GetEmitterSetName() const
Definition eft_EmitterSet.h:164
void SetEmissionParticleScale(const nw::math::VEC2 &scale)
Definition eft_EmitterSet.h:434
nw::math::VEC2 mParticlScaleForCalc
Definition eft_EmitterSet.h:649
bool mIsSetDirectional
Definition eft_EmitterSet.h:667
s32 mNumParticleEmissionPoint
Definition eft_EmitterSet.h:660
void SetColor(const nw::ut::FloatColor &color)
Definition eft_EmitterSet.h:471
void CancelFade()
Definition eft_EmitterSet.h:394
EmitterController mController[EFT_EMITTER_INSET_NUM]
Definition eft_EmitterSet.h:636
s32 mNumEmitterFirst
Definition eft_EmitterSet.h:633
void SetStartFrame(s32 frame)
Definition eft_EmitterSet.h:554
void SetRandomSeed(u32 seed)
Definition eft_EmitterSet.cpp:149
const EmitterInstance * GetAliveEmitter(u32 idx)
Definition eft_EmitterSet.cpp:26
const nw::math::VEC3 & GetEmitterScale() const
Definition eft_EmitterSet.h:449
void SetPos(const nw::math::VEC3 &pos)
Definition eft_EmitterSet.h:309
void SetParticleEmissionPoints(s32 numPoint, nw::math::VEC3 *points)
Definition eft_EmitterSet.h:571
void SetParticleScale(f32 scale)
Definition eft_EmitterSet.h:399
void SetEmissionParticleScale(f32 scale)
Definition eft_EmitterSet.h:423
bool mIsStopDraw
Definition eft_EmitterSet.h:669
s32 GetEmitterCounter(const char *emitterName)
EmitterSet * mNext
Definition eft_EmitterSet.h:663
bool IsHaveInfinityEmitter() const
Definition eft_EmitterSet.h:207
u32 mRuntimeUserData
Definition eft_EmitterSet.h:639
void Reset(const nw::math::MTX34 &matLW)
Definition eft_EmitterSet.h:353
nw::ut::FloatColor mColor
Definition eft_EmitterSet.h:652
void GetPos(nw::math::VEC3 &pos) const
Definition eft_EmitterSet.h:343
nw::math::VEC3 * mParticleEmissionPoints
Definition eft_EmitterSet.h:661
void SetManualParticleEmission(bool isManual)
Definition eft_EmitterSet.h:577
EmitterInstance * mInstance[EFT_EMITTER_INSET_NUM]
Definition eft_EmitterSet.h:635
s32 mResourceID
Definition eft_EmitterSet.h:637
bool IsStopCalc() const
Definition eft_EmitterSet.h:599
const nw::math::VEC2 & GetEmissionParticleScale() const
Definition eft_EmitterSet.h:439
bool IsStopDraw() const
Definition eft_EmitterSet.h:606
bool IsStopCalcAndDraw() const
Definition eft_EmitterSet.h:592
u32 mEmitterCreateID
Definition eft_EmitterSet.h:634
void SetStopCalcAndDraw(bool isStopCalcAndDraw)
Definition eft_EmitterSet.h:586
s32 GetResourceID() const
Definition eft_EmitterSet.h:149
void SetPos(const nw::math::VEC3 &pos, const nw::math::VEC3 &scale)
Definition eft_EmitterSet.h:331
void SetDirectionalVel(f32 velScale)
Definition eft_EmitterSet.h:491
u32 GetCreateID() const
Definition eft_EmitterSet.h:159
bool mIsHaveInfinityEmitter
Definition eft_EmitterSet.h:670
u8 GetUserDataNum2() const
Definition eft_EmitterSet.h:242
void DisableDirectional()
Definition eft_EmitterSet.h:544
u8 GetGroupID() const
Definition eft_EmitterSet.h:190
nw::math::VEC2 mParticlScale
Definition eft_EmitterSet.h:647
void SetAddVel(const nw::math::VEC3 &velAdd)
Definition eft_EmitterSet.h:511
void SetMtxFast(const nw::math::MTX34 &mtx, f32 scale)
Definition eft_EmitterSet.h:261
void SetPos(const nw::math::VEC3 &pos, f32 scale)
Definition eft_EmitterSet.h:317
System * GetSystem()
Definition eft_EmitterSet.h:144
void SetRuntimeUserData(u32 data)
Definition eft_EmitterSet.h:623
const nw::ut::FloatColor & GetColor() const
Definition eft_EmitterSet.h:476
void ForceCalc(s32 numLoop)
Definition eft_EmitterSet.cpp:107
void SetDrawPriority(u8 priority)
Definition eft_EmitterSet.h:222
void SetMtxFast(const nw::math::MTX34 &mtx, const nw::math::VEC3 &scale)
Definition eft_EmitterSet.h:286
void SetStopDraw(u32 emitterID, bool isStopDraw)
Definition eft_EmitterSet.h:611
void Fade()
Definition eft_EmitterSet.h:384
void SetAlpha(f32 alpha)
Definition eft_EmitterSet.h:459
void updateParticleScale_()
Definition eft_EmitterSet.h:675
s32 mGroupID
Definition eft_EmitterSet.h:640
void EmitParticle(const nw::math::VEC3 &pos)
void SetRandomVel(f32 velScale)
Definition eft_EmitterSet.h:501
nw::math::VEC3 mInitialRoate
Definition eft_EmitterSet.h:659
EmitterSet * mPrev
Definition eft_EmitterSet.h:664
s32 mStartFrame
Definition eft_EmitterSet.h:658
s32 GetNumEmitter() const
Definition eft_EmitterSet.h:169
void SetDirectional(const nw::math::VEC3 &dir)
Definition eft_EmitterSet.h:521
const nw::math::VEC3 & GetVelAdd() const
Definition eft_EmitterSet.h:516
nw::math::MTX34 mRT
Definition eft_EmitterSet.h:644
bool IsLoopEffect() const
f32 mFigureVel
Definition eft_EmitterSet.h:653
void SetEmitterScale(const nw::math::VEC3 &scale)
Definition eft_EmitterSet.h:444
bool IsSetDirectional() const
Definition eft_EmitterSet.h:549
s32 mNumEmitter
Definition eft_EmitterSet.h:632
bool IsAlive() const
Definition eft_EmitterSet.h:202
const nw::math::VEC2 & GetParticleScale() const
Definition eft_EmitterSet.h:418
nw::math::VEC3 mVelAdd
Definition eft_EmitterSet.h:656
void SetAllDirectionalVel(f32 velScale)
Definition eft_EmitterSet.h:481
u8 mDrawPriority
Definition eft_EmitterSet.h:672
bool mFadeRequest
Definition eft_EmitterSet.h:666
const nw::math::VEC3 & GetDirectional() const
Definition eft_EmitterSet.h:527
s32 GetNumCreatedEmitter() const
Definition eft_EmitterSet.h:181
u32 GetUserData() const
Definition eft_EmitterSet.h:232
nw::math::MTX34 & GetRTMatrix()
Definition eft_EmitterSet.h:217
const nw::math::VEC2 & GetParticleScaleForCalc() const
Definition eft_EmitterSet.h:454
u32 GetRuntimeUserData() const
Definition eft_EmitterSet.h:618
f32 mRandomVel
Definition eft_EmitterSet.h:655
EmitterSet * GetNext() const
Definition eft_EmitterSet.h:195
void SetParticleScale(f32 scaleX, f32 scaleY)
Definition eft_EmitterSet.h:405
s32 mEmitterSetID
Definition eft_EmitterSet.h:638
void SetMtxFast(const nw::math::MTX34 &mtx)
Definition eft_EmitterSet.h:254
u8 GetDrawPriority() const
Definition eft_EmitterSet.h:227
nw::math::VEC3 mEmitterScale
Definition eft_EmitterSet.h:650
Definition eft_EmitterSimple.h:10
Definition eft_Renderer.h:23
Definition eft_System.h:24
Definition eft_CafeWrapper.cpp:117
@ EFT_EMITTER_INSET_NUM
Definition eft_Data.h:13
PtclFollowType
Definition eft_Data.h:53
@ EFT_CPU_CORE_MAX
Definition eft_Data.h:28
DrawViewFlag
Definition eft_Data.h:179
@ EFT_DRAW_VIEW_FLAG_NONE
Definition eft_Data.h:192
@ EFT_DRAW_VIEW_FLAG_ALL
Definition eft_Data.h:186
Definition eft_Emitter.h:23