Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_particle.h
Go to the documentation of this file.
1#ifndef D_PARTICLE_D_PARTICLE_H
2#define D_PARTICLE_D_PARTICLE_H
3
8#include "d/d_particle_name.h"
9#include "d/d_kankyo.h"
10
11void dPa_cleanupGX();
12
14class J3DModel;
15class J3DModelData;
16class JKRExpHeap;
17class JKRSolidHeap;
18class dKy_tevstr_c;
19class fopAc_ac_c;
20
22public:
24 virtual void setup(JPABaseEmitter*, const cXyz*, const csXyz*, s8) = 0;
25 virtual void cleanup() {}
26};
27
29class cBgS_PolyInfo;
31class JPADrawInfo;
32class J3DAnmBase;
34
36public:
40 u32 set(cXyz const*, dKy_tevstr_c const*, u8, _GXColor const&, _GXColor const&,
41 int, f32);
42
44 virtual void executeAfter(JPABaseEmitter*);
45 virtual void draw(JPABaseEmitter*);
46
47 void removeEmitter() { mEmitter = NULL; }
48 u16 getID() { return mID; }
49
51 /* 0x08 */ u16 mID;
52 /* 0x0A */ u8 field_0xa;
53 /* 0x0C */ s16 field_0xc;
54 /* 0x0C */ u16 field_0xe;
56}; // Size: 0x14
57
59public:
60 virtual ~dPa_windPcallBack() {}
61 virtual void execute(JPABaseEmitter*, JPABaseParticle*);
62};
63
65public:
66 virtual void draw(JPABaseEmitter*, JPABaseParticle*);
67};
68
70public:
71 struct model_c {
72 bool set(J3DModelData*, dKy_tevstr_c const&, u8, void*, u8, u8);
73 void setup();
74 void cleanup();
75 void draw(f32 (*)[4]);
76 model_c() { mModelData = NULL; }
77
78 void reset() {
79 mModelData = NULL;
80 }
81
82 u8 getRotAxis() { return mRotAxis; }
84
92 };
93
95
96 static void create(u8);
97 static void remove();
98 static int setModel(JPABaseEmitter*, J3DModelData*, dKy_tevstr_c const&, u8,
99 void*, u8, u8);
100 static void resetModel(JPABaseEmitter*);
101 static void setupModel(JPABaseEmitter*);
102 static void drawModel(JPABaseEmitter*, f32 (*)[4]);
103 static void cleanupModel(JPABaseEmitter*);
104 static model_c* getModel(JPABaseEmitter*);
106
107 virtual void draw(JPABaseEmitter*);
108 virtual void drawAfter(JPABaseEmitter* param_0) { cleanupModel(param_0); }
109 virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
110
111 static void setModel(JPABaseEmitter* param_0, J3DModelData* param_1,
112 const dKy_tevstr_c& param_2, u8 param_3, J3DAnmTexPattern* param_4,
113 u8 param_5) {
114 setModel(param_0, param_1, param_2, param_3, param_4, 0, param_5);
115 }
116
119
122 #if DEBUG
123 static u8 mNum;
124 #endif
125};
126
128public:
130 field_0x4 = (u8)param_0;
131 }
132
134 virtual void draw(JPABaseEmitter*);
135 virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8) {}
136
137 /* 0x4 */ u8 field_0x4;
138};
139
141public:
142 dPa_setColorEcallBack(const GXColor& color) { mColor = color; }
143
145 virtual void draw(JPABaseEmitter* i_emitter) {
146 UNUSED(i_emitter);
148 }
149 virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8) {}
150
151 /* 0x4 */ GXColor mColor;
152};
153
155public:
156 dPa_followEcallBack(u8 param_0 = 0, u8 param_1 = 0);
157
159 virtual void execute(JPABaseEmitter*);
160 virtual void draw(JPABaseEmitter*);
161 virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
162 virtual void cleanup() { end(); }
163 virtual void end();
164
165 void remove() { end(); }
167 int isEnd() {
168 return field_0x10 & 1;
169 }
170
172 /* 0x08 */ const cXyz* field_0x8;
173 /* 0x0C */ const csXyz* field_0xc;
174 /* 0x10 */ u8 field_0x10;
175 /* 0x11 */ u8 field_0x11;
176 /* 0x12 */ u8 field_0x12;
177 /* 0x13 */ u8 field_0x13;
178};
179
181public:
183 virtual void execute(JPABaseEmitter*, JPABaseParticle*);
184 virtual void draw(JPABaseEmitter*, JPABaseParticle*);
185};
186
188public:
189 virtual void draw(JPABaseEmitter*);
190 virtual void drawAfter(JPABaseEmitter* i_emitter) {
191 UNUSED(i_emitter);
193 }
194 virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
195};
196
198public:
199 virtual void draw(JPABaseEmitter*);
200 virtual void drawAfter(JPABaseEmitter* i_emitter) {
201 UNUSED(i_emitter);
203 }
204 virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
205};
206
208public:
209 virtual void draw(JPABaseEmitter*);
210 virtual void drawAfter(JPABaseEmitter* i_emitter) {
211 UNUSED(i_emitter);
213 }
214 virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
215};
216
218public:
220 virtual void execute(JPABaseEmitter*, JPABaseParticle*);
221 virtual void draw(JPABaseEmitter*, JPABaseParticle*);
222};
223
225public:
227 virtual void execute(JPABaseEmitter*, JPABaseParticle*);
228 virtual void draw(JPABaseEmitter*, JPABaseParticle*);
229};
230
232public:
234 virtual void execute(JPABaseEmitter*, JPABaseParticle*);
235 virtual void draw(JPABaseEmitter*, JPABaseParticle*);
236};
237
239public:
241 virtual void execute(JPABaseEmitter*, JPABaseParticle*);
242};
243
249
251public:
253
254 void setOldPosP(cXyz const*, cXyz const*);
255
257 virtual void executeAfter(JPABaseEmitter*);
258 virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
259
260 void setRate(f32 rate) { mRate = rate; }
261 void setMaxCnt(int i_maxCnt) { mMaxCnt = i_maxCnt; }
262
263private:
264 /* 0x04 */ f32 mRate;
265 /* 0x08 */ int mMaxCnt;
266 /* 0x0C */ cXyz const* field_0xc;
267 /* 0x10 */ cXyz const* field_0x10;
268 /* 0x14 */ cXyz const* field_0x14;
269};
270
280
282public:
283 class level_c {
284 public:
285 class emitter_c {
286 public:
287 void onActive();
289 void cleanup();
290 emitter_c() { mId = 0; }
291
293 emitter_c* getPre() { return mPre; }
294 emitter_c* getNext() { return mNext; }
295 void setPre(emitter_c* pre) { mPre = pre; }
297
298 u32 getId() { return mId; }
299 void clearStatus() { mStatus = 0; }
300
301 #if DEBUG
302 void onEventMove() { mStatus |= (u8)2; }
303 void offEventMove() { mStatus &= (u8)~2; }
304 #else
305 void onEventMove() { mStatus |= 2; }
306 void offEventMove() { mStatus &= ~2; }
307 #endif
308 BOOL isEventMove() { return mStatus & 2; }
309
310 void offActive() { mStatus &= (u8)~1; }
311 BOOL isActive() { return mStatus & 1; }
312 u16 getNameId() { return mNameId; }
314
315 private:
316 /* 0x00 */ u32 mId;
317 /* 0x04 */ u16 mNameId;
318 /* 0x06 */ u8 mStatus;
321 /* 0x10 */ emitter_c* mPre;
322 /* 0x14 */ emitter_c* mNext;
323 }; // Size: 0x18
324
325 level_c();
326 void execute();
328 void cleanup();
329 emitter_c* get(u32);
330 void forceOnEventMove(u32);
331 void allForceOnEventMove();
336
337 static const int EMITTER_MAX = 0x80;
338
339 /* 0x000 */ u32 field_0x0;
340 /* 0x004 */ u8 mFreeNo;
341 /* 0x005 */ u8 field_0x5;
342 /* 0x006 */ u8 field_0x6;
343 /* 0x008 */ emitter_c mEmitter[0x80];
344 /* 0xC08 */ emitter_c* mTable[0x100];
345 }; // Size: 0x1008
346
348 static u8 getRM_ID(u16);
349 void createCommon(void const*);
350 void createRoomScene();
352 void createScene(void const*);
353 bool removeRoomScene(bool);
354 void removeScene(bool);
355 void cleanup();
356 void calc3D();
357 void calc2D();
358 void calcMenu();
359 void draw(JPADrawInfo*, u8);
360 void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32);
361 void setWaterRipple(u32*, cBgS_PolyInfo&, cXyz const*, f32, dKy_tevstr_c const*,
362 cXyz const*, s8);
363 JPABaseEmitter* set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, u8,
364 dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, cXyz const*,
365 f32);
366 u32 set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*,
367 cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*,
368 _GXColor const*, cXyz const*, f32);
369 static s32 getPolyColor(cBgS_PolyInfo&, int, _GXColor*, _GXColor*, u8*, f32*);
370 u32 setPoly(u32, u16, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*,
371 csXyz const*, cXyz const*, int, dPa_levelEcallBack*, s8,
372 cXyz const*);
373 JPABaseEmitter* setPoly(u16, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*, csXyz const*,
374 cXyz const*, int, dPa_levelEcallBack*, s8, cXyz const*);
375 bool newSimple(u16, u8, u32*);
376 u32 setSimple(u16, cXyz const*, dKy_tevstr_c const*, u8, _GXColor const&,
377 _GXColor const&, int, f32);
381 int, csXyz const*, cXyz const*, dPa_levelEcallBack*, s8,
382 cXyz const*);
383 u16 setCommonPoly(u32*, cBgS_PolyInfo*, cXyz const*, cXyz const*,
384 dKy_tevstr_c const*, u32, u32, csXyz const*, cXyz const*, s8);
385
387 JPABaseEmitter* getEmitter(u32 param_0) { return field_0x210.getEmitter(param_0); }
388
389 u32 setNormal(u32 param_0, u16 param_1, const cXyz* i_pos, const dKy_tevstr_c* param_3,
390 const csXyz* i_rotation, const cXyz* i_scale, u8 i_alpha, dPa_levelEcallBack* param_7,
391 s8 param_8, const GXColor* param_9, const GXColor* param_10, const cXyz* param_11,
392 f32 param_12) {
393 return set(param_0, 0, param_1, i_pos, param_3, i_rotation, i_scale, i_alpha, param_7,
394 param_8, param_9, param_10, param_11, param_12);
395 }
396
397 JPABaseEmitter* setNormal(u16 param_1, const cXyz* i_pos, const dKy_tevstr_c* param_3,
398 const csXyz* i_rotation, const cXyz* i_scale, u8 i_alpha,
399 dPa_levelEcallBack* param_7, s8 param_8, const GXColor* param_9,
400 const GXColor* param_10, const cXyz* param_11, f32 param_12) {
401 return set(0, param_1, i_pos, param_3, i_rotation, i_scale, i_alpha, param_7, param_8,
402 param_9, param_10, param_11, param_12);
403 }
404
405 void drawNormal(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 0); }
406 void drawNormalFog(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 1); }
407 void drawNormalP1(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 2); }
408 void drawProjection(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 3); }
409 void drawNormalPri0_A(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 4); }
410 void drawNormalPri0_B(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 5); }
411 void drawFogPri0_A(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 6); }
412 void drawFogPri0_B(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 7); }
413 void drawFogPri1(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 8); }
414 void drawFogPri2(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 9); }
415 void drawFogPri3(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 10); }
416 void drawFogPri4(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 11); }
417 void drawDarkworld(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 12); }
418 void drawFogScreen(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 13); }
419 void draw2Dgame(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 14); }
420 void draw2Dfore(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 15); }
421 void draw2Dback(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 16); }
422 void draw2DmenuFore(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 17); }
423 void draw2DmenuBack(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 18); }
424
428 void* getSceneRes() { return m_sceneRes; }
429
431
432 void levelExecute(u32 param_0) {
433 level_c::emitter_c* emitter = field_0x210.get(param_0);
434 if (emitter != NULL) {
435 field_0x210.execute(emitter);
436 }
437 }
438
439 static void onStatus(u8 status) { mStatus |= status; }
440 static void offStatus(u8 status) {
441 //TODO: reconcile this
442#if DEBUG
443 mStatus &= (u8)~status;
444#else
445 mStatus &= ~status;
446#endif
447 }
448 static BOOL isStatus(u8 status) { return mStatus & status; }
449
451 return &mTsubo[idx];
452 }
453
456
460
464
468
472
476
480
484
488
492
506 static u8 mStatus;
507
508private:
509 /* 0x000 */ JKRSolidHeap* mHeap;
511 /* 0x008 */ JKRExpHeap* m_resHeap;
513 /* 0x010 */ void* m_sceneRes;
515 /* 0x018 */ u8 field_0x18;
516 /* 0x019 */ u8 field_0x19;
517 /* 0x01A */ u8 field_0x1a;
518 /* 0x01B */ u8 field_0x1b;
519#if DEBUG
521#else
522 /* 0x01C */ dPa_simpleEcallBack field_0x1c[25];
523#endif
524 /* 0x210 */ level_c field_0x210;
525 #if DEBUG
527 #endif
528};
529
530#endif /* D_PARTICLE_D_PARTICLE_H */
Definition J3DAnimation.h:472
Definition J3DAnimation.h:880
Definition J3DModelData.h:15
Definition J3DModel.h:43
Definition JKRExpHeap.h:11
Definition JKRSolidHeap.h:10
Definition JPAEmitter.h:99
Definition JPAParticle.h:20
Definition JPADrawInfo.h:10
Definition JPAEmitter.h:75
Definition JPAEmitterManager.h:23
int getEmitterNumber() const
Definition JPAEmitterManager.h:41
Definition JPAParticle.h:82
Definition JPAResourceManager.h:14
Definition c_bg_s_poly_info.h:7
Definition c_sxyz.h:10
Definition d_kankyo_tev_str.h:8
Definition d_particle.h:285
void entry(u32, u16, JPABaseEmitter *, dPa_levelEcallBack *)
Definition d_particle.cpp:917
JPABaseEmitter * getEmitter()
Definition d_particle.h:292
void cleanup()
Definition d_particle.cpp:929
void offEventMove()
Definition d_particle.h:303
emitter_c * getPre()
Definition d_particle.h:293
void offActive()
Definition d_particle.h:310
dPa_levelEcallBack * mCallback
Definition d_particle.h:320
void onEventMove()
Definition d_particle.h:302
u8 mStatus
Definition d_particle.h:318
JPABaseEmitter * mEmitter
Definition d_particle.h:319
dPa_levelEcallBack * getCallback()
Definition d_particle.h:313
u32 mId
Definition d_particle.h:316
emitter_c()
Definition d_particle.h:290
emitter_c * getNext()
Definition d_particle.h:294
void setNext(emitter_c *next)
Definition d_particle.h:296
u16 getNameId()
Definition d_particle.h:312
emitter_c * mNext
Definition d_particle.h:322
BOOL isActive()
Definition d_particle.h:311
void setPre(emitter_c *pre)
Definition d_particle.h:295
void clearStatus()
Definition d_particle.h:299
BOOL isEventMove()
Definition d_particle.h:308
void onActive()
Definition d_particle.cpp:907
u16 mNameId
Definition d_particle.h:317
u32 getId()
Definition d_particle.h:298
emitter_c * mPre
Definition d_particle.h:321
Definition d_particle.h:283
void cutTable(dPa_control_c::level_c::emitter_c *)
Definition d_particle.cpp:1098
void cleanup()
Definition d_particle.cpp:998
emitter_c mEmitter[0x80]
Definition d_particle.h:343
JPABaseEmitter * getEmitter(u32)
Definition d_particle.cpp:1046
static const int EMITTER_MAX
Definition d_particle.h:337
level_c()
Definition d_particle.cpp:954
u8 mFreeNo
Definition d_particle.h:340
void forceOnEventMove(u32)
Definition d_particle.cpp:1028
u32 entry(u16, JPABaseEmitter *, dPa_levelEcallBack *)
Definition d_particle.cpp:1056
void execute()
Definition d_particle.cpp:978
emitter_c * get(u32)
Definition d_particle.cpp:1011
void addTable(dPa_control_c::level_c::emitter_c *)
Definition d_particle.cpp:1085
u8 field_0x5
Definition d_particle.h:341
u32 field_0x0
Definition d_particle.h:339
void allForceOnEventMove()
Definition d_particle.cpp:1036
emitter_c * mTable[0x100]
Definition d_particle.h:344
u8 field_0x6
Definition d_particle.h:342
Definition d_particle.h:281
void cleanup()
Definition d_particle.cpp:1314
static u8 mStatus
Definition d_particle.h:506
dPa_simpleEcallBack * getSimple(u16)
Definition d_particle.cpp:1662
static dPa_fsenthPcallBack mFsenthPcallBack
Definition d_particle.h:498
void drawFogPri0_B(JPADrawInfo *i_drawInfo)
Definition d_particle.h:412
void * m_sceneRes
Definition d_particle.h:513
JPABaseEmitter * set(u8, u16, cXyz const *, dKy_tevstr_c const *, csXyz const *, cXyz const *, u8, dPa_levelEcallBack *, s8, _GXColor const *, _GXColor const *, cXyz const *, f32)
Definition d_particle.cpp:1453
static JPAEmitterManager * getEmitterManager()
Definition d_particle.h:454
static JPAEmitterManager * mEmitterMng
Definition d_particle.h:496
static dPa_wbPcallBack_c mWaterBubblePcallBack
Definition d_particle.h:497
JPABaseEmitter * getEmitter(u32 param_0)
Definition d_particle.h:387
void drawNormalPri0_B(JPADrawInfo *i_drawInfo)
Definition d_particle.h:410
void removeScene(bool)
Definition d_particle.cpp:1299
void draw2DmenuBack(JPADrawInfo *i_drawInfo)
Definition d_particle.h:423
static dPa_particleTracePcallBack_c mParticleTracePCB
Definition d_particle.h:505
static dPa_light8PcallBack mLight8PcallBack
Definition d_particle.h:500
static dPa_gen_b_light8EcallBack m_b_Light8EcallBack
Definition d_particle.h:501
u32 setStopContinue(u32)
Definition d_particle.cpp:1775
static dPa_particleTracePcallBack_c * getParticleTracePCB()
Definition d_particle.h:481
void calcMenu()
Definition d_particle.cpp:1335
JKRSolidHeap * mSceneHeap
Definition d_particle.h:512
static s32 getPolyColor(cBgS_PolyInfo &, int, _GXColor *, _GXColor *, u8 *, f32 *)
Definition d_particle.cpp:1593
void createRoomScene()
Definition d_particle.cpp:1221
void createCommon(void const *)
Definition d_particle.cpp:1191
void drawNormal(JPADrawInfo *i_drawInfo)
Definition d_particle.h:405
void drawProjection(JPADrawInfo *i_drawInfo)
Definition d_particle.h:408
static dPa_gen_d_light8EcallBack m_d_Light8EcallBack
Definition d_particle.h:503
static dPa_gen_d_light8PcallBack * getGen_d_Light8PcallBack()
Definition d_particle.h:465
static Mtx mWindViewMatrix
Definition d_particle.h:495
JKRExpHeap * m_resHeap
Definition d_particle.h:511
static dPa_fsenthPcallBack * getFsenthPcallBack()
Definition d_particle.h:485
void drawNormalFog(JPADrawInfo *i_drawInfo)
Definition d_particle.h:406
bool removeRoomScene(bool)
Definition d_particle.cpp:1279
void calc3D()
Definition d_particle.cpp:1318
u8 field_0x19
Definition d_particle.h:516
void drawFogPri2(JPADrawInfo *i_drawInfo)
Definition d_particle.h:414
static JPAParticleCallBack * getWaterBubblePcallBack()
Definition d_particle.h:489
u32 setNormal(u32 param_0, u16 param_1, const cXyz *i_pos, const dKy_tevstr_c *param_3, const csXyz *i_rotation, const cXyz *i_scale, u8 i_alpha, dPa_levelEcallBack *param_7, s8 param_8, const GXColor *param_9, const GXColor *param_10, const cXyz *param_11, f32 param_12)
Definition d_particle.h:389
JPABaseEmitter * setNormal(u16 param_1, const cXyz *i_pos, const dKy_tevstr_c *param_3, const csXyz *i_rotation, const cXyz *i_scale, u8 i_alpha, dPa_levelEcallBack *param_7, s8 param_8, const GXColor *param_9, const GXColor *param_10, const cXyz *param_11, f32 param_12)
Definition d_particle.h:397
void draw2Dfore(JPADrawInfo *i_drawInfo)
Definition d_particle.h:420
void drawFogPri3(JPADrawInfo *i_drawInfo)
Definition d_particle.h:415
JKRSolidHeap * mHeap
Definition d_particle.h:509
static dPa_gen_b_light8PcallBack * getGen_b_Light8PcallBack()
Definition d_particle.h:461
void calc2D()
Definition d_particle.cpp:1329
u32 setSimple(u16, cXyz const *, dKy_tevstr_c const *, u8, _GXColor const &, _GXColor const &, int, f32)
Definition d_particle.cpp:1650
static dPa_setColorEcallBack mLifeBall[3]
Definition d_particle.h:1133
static dPa_selectTexEcallBack * getTsuboSelectTexEcallBack(int idx)
Definition d_particle.h:450
void levelExecute(u32 param_0)
Definition d_particle.h:432
u16 setCommonPoly(u32 *, cBgS_PolyInfo *, cXyz const *, cXyz const *, dKy_tevstr_c const *, u32, u32, csXyz const *, cXyz const *, s8)
Definition d_particle.cpp:1823
void levelAllForceOnEventMove()
Definition d_particle.h:430
static dPa_gen_b_light8EcallBack * getGen_b_Light8EcallBack()
Definition d_particle.h:469
u8 field_0x18
Definition d_particle.h:515
static BOOL isStatus(u8 status)
Definition d_particle.h:448
static void offStatus(u8 status)
Definition d_particle.h:440
void drawFogPri1(JPADrawInfo *i_drawInfo)
Definition d_particle.h:413
static void onStatus(u8 status)
Definition d_particle.h:439
JPAResourceManager * mCommonResMng
Definition d_particle.h:510
void drawNormalPri0_A(JPADrawInfo *i_drawInfo)
Definition d_particle.h:409
static dPa_selectTexEcallBack mTsubo[8]
Definition d_particle.h:1116
static dPa_light8EcallBack mLight8EcallBack
Definition d_particle.h:499
void createScene(void const *)
Definition d_particle.cpp:1261
void draw2Dback(JPADrawInfo *i_drawInfo)
Definition d_particle.h:421
static dPa_gen_b_light8PcallBack m_b_Light8PcallBack
Definition d_particle.h:502
u8 field_0x1b
Definition d_particle.h:518
static dPa_gen_d_light8PcallBack m_d_Light8PcallBack
Definition d_particle.h:504
static dPa_light8PcallBack * getLight8PcallBack()
Definition d_particle.h:457
void drawFogPri0_A(JPADrawInfo *i_drawInfo)
Definition d_particle.h:411
u8 field_0x1a
Definition d_particle.h:517
level_c field_0x210
Definition d_particle.h:524
void setWaterRipple(u32 *, cBgS_PolyInfo &, cXyz const *, f32, dKy_tevstr_c const *, cXyz const *, s8)
Definition d_particle.cpp:1426
void draw2DmenuFore(JPADrawInfo *i_drawInfo)
Definition d_particle.h:422
void drawNormalP1(JPADrawInfo *i_drawInfo)
Definition d_particle.h:407
void * getSceneRes()
Definition d_particle.h:428
u32 setPoly(u32, u16, cBgS_PolyInfo &, cXyz const *, dKy_tevstr_c const *, csXyz const *, cXyz const *, int, dPa_levelEcallBack *, s8, cXyz const *)
Definition d_particle.cpp:1758
void drawDarkworld(JPADrawInfo *i_drawInfo)
Definition d_particle.h:417
bool newSimple(u16, u8, u32 *)
Definition d_particle.cpp:1636
bool readScene(u8, mDoDvdThd_toMainRam_c **)
Definition d_particle.cpp:1243
u8 mSceneCount
Definition d_particle.h:526
static u8 getRM_ID(u16)
Definition d_particle.cpp:1187
static dPa_gen_d_light8EcallBack * getGen_d_Light8EcallBack()
Definition d_particle.h:473
JKRExpHeap * getResHeap()
Definition d_particle.h:426
dPa_simpleEcallBack field_0x1c[48]
Definition d_particle.h:520
void forceOnEventMove(u32 param_0)
Definition d_particle.h:386
void drawFogScreen(JPADrawInfo *i_drawInfo)
Definition d_particle.h:418
void draw(JPADrawInfo *, u8)
Definition d_particle.cpp:1348
int getEmitterNum()
Definition d_particle.h:455
void setHitMark(u16, fopAc_ac_c *, cXyz const *, csXyz const *, cXyz const *, u32)
Definition d_particle.cpp:1364
dPa_control_c()
Definition d_particle.cpp:1163
void drawFogPri4(JPADrawInfo *i_drawInfo)
Definition d_particle.h:416
JKRSolidHeap * getHeap()
Definition d_particle.h:425
u32 setSimpleFoot(u32, u32 *, cBgS_PolyInfo &, cXyz const *, dKy_tevstr_c const *, int, csXyz const *, cXyz const *, dPa_levelEcallBack *, s8, cXyz const *)
Definition d_particle.cpp:1785
void draw2Dgame(JPADrawInfo *i_drawInfo)
Definition d_particle.h:419
static dPa_light8EcallBack * getLight8EcallBack()
Definition d_particle.h:477
JKRSolidHeap * getSceneHeap()
Definition d_particle.h:427
JPAResourceManager * mSceneResMng
Definition d_particle.h:514
Definition d_particle.h:154
const cXyz * field_0x8
Definition d_particle.h:172
int isEnd()
Definition d_particle.h:167
dPa_followEcallBack(u8 param_0=0, u8 param_1=0)
Definition d_particle.cpp:57
virtual void cleanup()
Definition d_particle.h:162
virtual ~dPa_followEcallBack()
Definition d_particle.h:158
void remove()
Definition d_particle.h:165
u8 field_0x13
Definition d_particle.h:177
virtual void setup(JPABaseEmitter *, cXyz const *, csXyz const *, s8)
Definition d_particle.cpp:88
u8 field_0x11
Definition d_particle.h:175
virtual void end()
Definition d_particle.cpp:107
u8 field_0x10
Definition d_particle.h:174
JPABaseEmitter * getEmitter()
Definition d_particle.h:166
JPABaseEmitter * mpEmitter
Definition d_particle.h:171
virtual void execute(JPABaseEmitter *)
Definition d_particle.cpp:64
const csXyz * field_0xc
Definition d_particle.h:173
u8 field_0x12
Definition d_particle.h:176
virtual void draw(JPABaseEmitter *)
Definition d_particle.cpp:83
Definition d_particle.h:180
virtual ~dPa_fsenthPcallBack()
Definition d_particle.h:182
virtual void execute(JPABaseEmitter *, JPABaseParticle *)
Definition d_particle.cpp:1918
virtual void draw(JPABaseEmitter *, JPABaseParticle *)
Definition d_particle.cpp:1930
Definition d_particle.h:197
virtual void setup(JPABaseEmitter *, cXyz const *, csXyz const *, s8)
Definition d_particle.cpp:142
virtual void draw(JPABaseEmitter *)
Definition d_particle.cpp:415
virtual void drawAfter(JPABaseEmitter *i_emitter)
Definition d_particle.h:200
Definition d_particle.h:224
virtual void execute(JPABaseEmitter *, JPABaseParticle *)
Definition d_particle.cpp:1938
virtual void draw(JPABaseEmitter *, JPABaseParticle *)
Definition d_particle.cpp:2068
virtual ~dPa_gen_b_light8PcallBack()
Definition d_particle.h:226
Definition d_particle.h:207
virtual void drawAfter(JPABaseEmitter *i_emitter)
Definition d_particle.h:210
virtual void setup(JPABaseEmitter *, cXyz const *, csXyz const *, s8)
Definition d_particle.cpp:151
virtual void draw(JPABaseEmitter *)
Definition d_particle.cpp:419
Definition d_particle.h:231
virtual void draw(JPABaseEmitter *, JPABaseParticle *)
Definition d_particle.cpp:2156
virtual void execute(JPABaseEmitter *, JPABaseParticle *)
Definition d_particle.cpp:1942
virtual ~dPa_gen_d_light8PcallBack()
Definition d_particle.h:233
Definition d_particle.h:250
void setRate(f32 rate)
Definition d_particle.h:260
int mMaxCnt
Definition d_particle.h:265
cXyz const * field_0xc
Definition d_particle.h:266
void setMaxCnt(int i_maxCnt)
Definition d_particle.h:261
virtual void executeAfter(JPABaseEmitter *)
Definition d_particle.cpp:2279
void setOldPosP(cXyz const *, cXyz const *)
Definition d_particle.cpp:2274
virtual ~dPa_hermiteEcallBack_c()
Definition d_particle.h:256
virtual void setup(JPABaseEmitter *, cXyz const *, csXyz const *, s8)
Definition d_particle.cpp:2314
dPa_hermiteEcallBack_c()
Definition d_particle.h:252
cXyz const * field_0x10
Definition d_particle.h:267
cXyz const * field_0x14
Definition d_particle.h:268
f32 mRate
Definition d_particle.h:264
Definition d_particle.h:21
virtual void cleanup()
Definition d_particle.h:25
virtual ~dPa_levelEcallBack()
Definition d_particle.h:23
virtual void setup(JPABaseEmitter *, const cXyz *, const csXyz *, s8)=0
Definition d_particle.h:187
virtual void drawAfter(JPABaseEmitter *i_emitter)
Definition d_particle.h:190
virtual void setup(JPABaseEmitter *, cXyz const *, csXyz const *, s8)
Definition d_particle.cpp:134
virtual void draw(JPABaseEmitter *)
Definition d_particle.cpp:411
Definition d_particle.h:217
virtual void draw(JPABaseEmitter *, JPABaseParticle *)
Definition d_particle.cpp:1946
virtual ~dPa_light8PcallBack()
Definition d_particle.h:219
virtual void execute(JPABaseEmitter *, JPABaseParticle *)
Definition d_particle.cpp:1934
Definition d_particle.h:69
static dPa_modelEcallBack mEcallback
Definition d_particle.h:118
static dPa_modelPcallBack mPcallback
Definition d_particle.h:120
static void create(u8)
Definition d_particle.cpp:628
dPa_modelEcallBack()
Definition d_particle.h:94
static model_c * mModel
Definition d_particle.h:121
static void setModel(JPABaseEmitter *param_0, J3DModelData *param_1, const dKy_tevstr_c &param_2, u8 param_3, J3DAnmTexPattern *param_4, u8 param_5)
Definition d_particle.h:111
virtual void drawAfter(JPABaseEmitter *param_0)
Definition d_particle.h:108
static u8 mNum
Definition d_particle.h:123
static int setModel(JPABaseEmitter *, J3DModelData *, dKy_tevstr_c const &, u8, void *, u8, u8)
Definition d_particle.cpp:641
static u8 getRotAxis(JPABaseEmitter *)
Definition d_particle.cpp:702
static void remove()
Definition d_particle.cpp:634
static void cleanupModel(JPABaseEmitter *)
Definition d_particle.cpp:683
static model_c * getModel(JPABaseEmitter *)
Definition d_particle.cpp:693
static void setupModel(JPABaseEmitter *)
Definition d_particle.cpp:665
virtual void draw(JPABaseEmitter *)
Definition d_particle.cpp:601
virtual void setup(JPABaseEmitter *, cXyz const *, csXyz const *, s8)
Definition d_particle.cpp:612
static void drawModel(JPABaseEmitter *, f32(*)[4])
Definition d_particle.cpp:674
static dPa_modelEcallBack & getEcallback()
Definition d_particle.h:117
static void resetModel(JPABaseEmitter *)
Definition d_particle.cpp:656
Definition d_particle.h:64
virtual void draw(JPABaseEmitter *, JPABaseParticle *)
Definition d_particle.cpp:436
Definition d_particle.h:244
virtual void execute(JPABaseEmitter *, JPABaseParticle *)
Definition d_particle.cpp:2321
virtual ~dPa_particleTracePcallBack_c()
Definition d_particle.h:246
Definition d_particle.h:127
u8 field_0x4
Definition d_particle.h:137
virtual void setup(JPABaseEmitter *, cXyz const *, csXyz const *, s8)
Definition d_particle.h:135
virtual ~dPa_selectTexEcallBack()
Definition d_particle.h:133
dPa_selectTexEcallBack(u8 param_0)
Definition d_particle.h:129
virtual void draw(JPABaseEmitter *)
Definition d_particle.cpp:712
Definition d_particle.h:140
dPa_setColorEcallBack(const GXColor &color)
Definition d_particle.h:142
virtual ~dPa_setColorEcallBack()
Definition d_particle.h:144
virtual void draw(JPABaseEmitter *i_emitter)
Definition d_particle.h:145
GXColor mColor
Definition d_particle.h:151
virtual void setup(JPABaseEmitter *, cXyz const *, csXyz const *, s8)
Definition d_particle.h:149
Definition d_particle.h:271
cXyz field_0x00
Definition d_particle.h:276
GXColor field_0x10
Definition d_particle.h:278
GXColor field_0x0c
Definition d_particle.h:277
dPa_simpleData_c()
Definition d_particle.cpp:772
~dPa_simpleData_c()
Definition d_particle.cpp:770
Definition d_particle.h:35
u16 field_0xe
Definition d_particle.h:54
virtual void executeAfter(JPABaseEmitter *)
Definition d_particle.cpp:721
u8 field_0xa
Definition d_particle.h:52
u16 getID()
Definition d_particle.h:48
dPa_simpleEcallBack()
Definition d_particle.cpp:716
u16 mID
Definition d_particle.h:51
dPa_simpleData_c * mData
Definition d_particle.h:55
JPABaseEmitter * createEmitter(JPAEmitterManager *)
Definition d_particle.cpp:776
virtual ~dPa_simpleEcallBack()
Definition d_particle.h:43
JPABaseEmitter * mEmitter
Definition d_particle.h:50
s16 field_0xc
Definition d_particle.h:53
JPABaseEmitter * create(JPAEmitterManager *, u16, u8)
Definition d_particle.cpp:759
virtual void draw(JPABaseEmitter *)
Definition d_particle.cpp:752
void removeEmitter()
Definition d_particle.h:47
u32 set(cXyz const *, dKy_tevstr_c const *, u8, _GXColor const &, _GXColor const &, int, f32)
Definition d_particle.cpp:800
Definition d_particle.h:238
virtual ~dPa_wbPcallBack_c()
Definition d_particle.h:240
virtual void execute(JPABaseEmitter *, JPABaseParticle *)
Definition d_particle.cpp:1907
Definition d_particle.h:58
virtual ~dPa_windPcallBack()
Definition d_particle.h:60
virtual void execute(JPABaseEmitter *, JPABaseParticle *)
Definition d_particle.cpp:903
Definition f_op_actor.h:243
Definition m_Do_dvd_thread.h:114
void dPa_cleanupGX()
Definition d_particle.cpp:34
static u32 next
Definition CARDUnlock.c:29
@ GX_TEVREG1
Definition GXEnum.h:421
void GXSetTevColor(GXTevRegID id, GXColor color)
Definition GXTev.c:209
f32 Mtx[3][4]
Definition mtx.h:25
static u32 status
Definition fstload.c:9
int BOOL
Definition types.h:33
signed char s8
Definition types.h:7
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
Definition GXStruct.h:30
Definition c_xyz.h:7
Definition d_particle.h:71
void draw(f32(*)[4])
Definition d_particle.cpp:578
bool set(J3DModelData *, dKy_tevstr_c const &, u8, void *, u8, u8)
Definition d_particle.cpp:480
u8 mRotAxis
Definition d_particle.h:88
u8 field_0x393
Definition d_particle.h:91
u8 getRotAxis()
Definition d_particle.h:82
J3DModelData * mModelData
Definition d_particle.h:85
void setup()
Definition d_particle.cpp:542
void cleanup()
Definition d_particle.cpp:564
dKy_tevstr_c field_0x8
Definition d_particle.h:87
u8 field_0x392
Definition d_particle.h:90
model_c()
Definition d_particle.h:76
J3DModelData * getModelData()
Definition d_particle.h:83
void reset()
Definition d_particle.h:78
u8 field_0x391
Definition d_particle.h:89
J3DAnmBase * field_0x4
Definition d_particle.h:86