Loading [MathJax]/extensions/MathMenu.js
Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
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
6#include "d/d_particle_name.h"
7#include "d/d_kankyo.h"
8
9void dPa_cleanupGX();
10
12class J3DModel;
13class J3DModelData;
14class JKRExpHeap;
15class JKRSolidHeap;
16class dKy_tevstr_c;
17class fopAc_ac_c;
18
20public:
21 /* 8004FB18 */ virtual ~dPa_levelEcallBack() { cleanup(); }
22 virtual void setup(JPABaseEmitter*, const cXyz*, const csXyz*, s8) = 0;
23 /* 8004FB8C */ virtual void cleanup() {}
24};
25
27public:
29
30 /* 8004F6B8 */ void setOldPosP(cXyz const*, cXyz const*);
31
32 /* 8004FCC8 */ virtual ~dPa_hermiteEcallBack_c() {}
33 /* 8004F6C4 */ virtual void executeAfter(JPABaseEmitter*);
34 /* 8004FABC */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
35
36 void setRate(f32 rate) { mRate = rate; }
37
38private:
39 /* 0x04 */ f32 mRate;
40 /* 0x08 */ int mMaxCnt;
41 /* 0x0C */ cXyz const* field_0xc;
42 /* 0x10 */ cXyz const* field_0x10;
43 /* 0x14 */ cXyz const* field_0x14;
44};
45
47class cBgS_PolyInfo;
49class JPADrawInfo;
50class J3DAnmBase;
52
54public:
55 /* 8004ADF4 */ dPa_simpleEcallBack();
56 /* 8004AF98 */ JPABaseEmitter* create(JPAEmitterManager*, u16, u8);
58 /* 8004B168 */ u32 set(cXyz const*, dKy_tevstr_c const*, u8, _GXColor const&, _GXColor const&,
59 int, f32);
60
61 /* 8004FC08 */ virtual ~dPa_simpleEcallBack() {}
62 /* 8004AE1C */ virtual void executeAfter(JPABaseEmitter*);
63 /* 8004AF94 */ virtual void draw(JPABaseEmitter*);
64
65 void removeEmitter() { mEmitter = NULL; }
66 u16 getID() const { return mID; }
67
69 /* 0x08 */ u16 mID;
70 /* 0x0A */ u8 field_0xa;
71 /* 0x0C */ s16 field_0xc;
72 /* 0x0C */ u16 field_0xe;
74}; // Size: 0x14
75
77public:
78 /* 80049580 */ dPa_followEcallBack(u8 param_0 = 0, u8 param_1 = 0);
79
80 /* 80050200 */ virtual ~dPa_followEcallBack() {}
81 /* 800495BC */ virtual void execute(JPABaseEmitter*);
82 /* 800496B0 */ virtual void draw(JPABaseEmitter*);
83 /* 800496B4 */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
84 /* 80050284 */ virtual void cleanup() { end(); }
85 /* 8004974C */ virtual void end();
86
87 void remove() { end(); }
89 bool isEnd() {
90 return field_0x10 & 1;
91 }
92
94 /* 0x08 */ const cXyz* field_0x8;
95 /* 0x0C */ const csXyz* field_0xc;
96 /* 0x10 */ u8 field_0x10;
97 /* 0x11 */ u8 field_0x11;
98 /* 0x12 */ u8 field_0x12;
99 /* 0x13 */ u8 field_0x13;
100};
101
103public:
104 /* 8004FF2C */ virtual ~dPa_windPcallBack() {}
105 /* 8004B4E0 */ virtual void execute(JPABaseEmitter*, JPABaseParticle*);
106};
107
109public:
110 /* 8004FECC */ virtual ~dPa_wbPcallBack_c() {}
111 /* 8004DC28 */ virtual void execute(JPABaseEmitter*, JPABaseParticle*);
112};
113
115public:
117
118 /* 800502E4 */ virtual ~dPa_setColorEcallBack() {}
119 /* 800502B0 */ virtual void draw(JPABaseEmitter*) { GXSetTevColor(GX_TEVREG1, mColor); }
120 /* 800502E0 */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8) {}
121
122 /* 0x4 */ GXColor mColor;
123};
124
126public:
127 dPa_selectTexEcallBack(u8 param_0) { field_0x4 = param_0; }
128
129 /* 8004FF8C */ virtual ~dPa_selectTexEcallBack() {}
130 /* 8004ADC4 */ virtual void draw(JPABaseEmitter*);
131 /* 80050010 */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8) {}
132
133 /* 0x4 */ u8 field_0x4;
134};
135
137public:
138 /* 8004FC68 */ virtual ~dPa_particleTracePcallBack_c() {}
139 /* 8004FAD4 */ virtual void execute(JPABaseEmitter*, JPABaseParticle*);
140};
141
143public:
144 /* 80050038 */ virtual ~dPa_modelPcallBack() {}
145 /* 8004A460 */ virtual void draw(JPABaseEmitter*, JPABaseParticle*);
146};
147
149public:
150 struct model_c {
151 /* 8004A608 */ bool set(J3DModelData*, dKy_tevstr_c const&, u8, void*, u8, u8);
152 /* 8004A7AC */ void setup();
153 /* 8004A88C */ void cleanup();
154 /* 8004A8DC */ void draw(f32 (*)[4]);
155 /* 8004AB88 */ ~model_c();
156 /* 8004FB90 */ model_c() { field_0x0 = NULL; }
157
158 void reset() {
159 field_0x0 = NULL;
160 }
161
162 u8 getRotAxis() { return mRotAxis; }
164
172 };
173
175
176 /* 8004AB1C */ static void create(u8);
177 /* 8004ABC4 */ static void remove();
178 /* 8004AC00 */ static int setModel(JPABaseEmitter*, J3DModelData*, dKy_tevstr_c const&, u8,
179 void*, u8, u8);
180 /* 8004AC90 */ static void resetModel(JPABaseEmitter*);
181 /* 8004ACC0 */ static void setupModel(JPABaseEmitter*);
182 /* 8004ACEC */ static void drawModel(JPABaseEmitter*, f32 (*)[4]);
183 /* 8004AD28 */ static void cleanupModel(JPABaseEmitter*);
184 /* 8004AD58 */ static model_c* getModel(JPABaseEmitter*);
185 /* 8004AD90 */ static u8 getRotAxis(JPABaseEmitter*);
186
187 /* 80050378 */ virtual ~dPa_modelEcallBack() {}
188 /* 8004AA34 */ virtual void draw(JPABaseEmitter*);
189 /* 80050014 */ virtual void drawAfter(JPABaseEmitter* param_0) { cleanupModel(param_0); }
190 /* 8004AAA8 */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
191
192 static void setModel(JPABaseEmitter* param_0, J3DModelData* param_1,
193 const dKy_tevstr_c& param_2, u8 param_3, J3DAnmTexPattern* param_4,
194 u8 param_5) {
195 setModel(param_0, param_1, param_2, param_3, param_4, 0, param_5);
196 }
197
200
203};
204
206public:
207 /* 8004FE0C */ virtual ~dPa_light8PcallBack() {}
208 /* 8004DD10 */ virtual void execute(JPABaseEmitter*, JPABaseParticle*);
209 /* 8004DD1C */ virtual void draw(JPABaseEmitter*, JPABaseParticle*);
210};
211
213public:
214 /* 8005015C */ virtual ~dPa_light8EcallBack() {}
215 /* 8004A340 */ virtual void draw(JPABaseEmitter*);
216 /* 800501E0 */ virtual void drawAfter(JPABaseEmitter*) { dPa_cleanupGX(); }
217 /* 8004979C */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
218};
219
221public:
222 /* 8004FD4C */ virtual ~dPa_gen_d_light8PcallBack() {}
223 /* 8004DD18 */ virtual void execute(JPABaseEmitter*, JPABaseParticle*);
224 /* 8004ED44 */ virtual void draw(JPABaseEmitter*, JPABaseParticle*);
225};
226
228public:
229 /* 800503FC */ virtual ~dPa_gen_d_light8EcallBack() {}
230 /* 8004A388 */ virtual void draw(JPABaseEmitter*);
231 /* 80050098 */ virtual void drawAfter(JPABaseEmitter*) { dPa_cleanupGX(); }
232 /* 800497CC */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
233};
234
236public:
237 /* 8004FDAC */ virtual ~dPa_gen_b_light8PcallBack() {}
238 /* 8004DD14 */ virtual void execute(JPABaseEmitter*, JPABaseParticle*);
239 /* 8004E6A8 */ virtual void draw(JPABaseEmitter*, JPABaseParticle*);
240};
241
243public:
244 /* 800500B8 */ virtual ~dPa_gen_b_light8EcallBack() {}
245 /* 8004A364 */ virtual void draw(JPABaseEmitter*);
246 /* 8005013C */ virtual void drawAfter(JPABaseEmitter*) { dPa_cleanupGX(); }
247 /* 800497B0 */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
248};
249
251public:
252 /* 8004FE6C */ virtual ~dPa_fsenthPcallBack() {}
253 /* 8004DCA0 */ virtual void execute(JPABaseEmitter*, JPABaseParticle*);
254 /* 8004DD0C */ virtual void draw(JPABaseEmitter*, JPABaseParticle*);
255};
256
258public:
259 /* 8004B024 */ ~dPa_simpleData_c();
260 /* 8004B060 */ dPa_simpleData_c();
261
265};
266
268public:
269 class level_c {
270 public:
271 class emitter_c {
272 public:
273 /* 8004B504 */ void onActive();
274 /* 8004B544 */ void entry(u32, u16, JPABaseEmitter*, dPa_levelEcallBack*);
275 /* 8004B5AC */ void cleanup();
276 /* 8004FBFC */ emitter_c() { mId = 0; }
277
279 emitter_c* getPre() { return mPre; }
280 emitter_c* getNext() { return mNext; }
281 void setPre(emitter_c* pre) { mPre = pre; }
283
284 u32 getId() { return mId; }
285 void clearStatus() { mStatus = 0; }
286
287 void onEventMove() { mStatus |= 2; }
288 void offEventMove() { mStatus &= ~2; }
289 bool isEventMove() { return mStatus & 2; }
290
291 void offActive() { mStatus &= ~1; }
292 bool isActive() { return mStatus & 1; }
293 u16 getNameId() { return mNameId; }
295
296 private:
297 /* 0x00 */ u32 mId;
298 /* 0x04 */ u16 mNameId;
299 /* 0x06 */ u8 mStatus;
302 /* 0x10 */ emitter_c* mPre;
303 /* 0x14 */ emitter_c* mNext;
304 }; // Size: 0x18
305
306 /* 8004B688 */ level_c();
307 /* 8004B7A8 */ void execute();
308 /* 8004B6F8 */ void execute(dPa_control_c::level_c::emitter_c*);
309 /* 8004B808 */ void cleanup();
310 /* 8004B874 */ emitter_c* get(u32);
311 /* 8004B8B4 */ void forceOnEventMove(u32);
312 /* 8004B8E8 */ void allForceOnEventMove();
313 /* 8004B918 */ JPABaseEmitter* getEmitter(u32);
314 /* 8004B94C */ u32 entry(u16, JPABaseEmitter*, dPa_levelEcallBack*);
315 /* 8004BA40 */ void addTable(dPa_control_c::level_c::emitter_c*);
316 /* 8004BA74 */ void cutTable(dPa_control_c::level_c::emitter_c*);
317
318 static const int EMITTER_MAX = 0x80;
319
320 /* 0x000 */ u32 field_0x0;
321 /* 0x004 */ u8 mFreeNo;
322 /* 0x005 */ u8 field_0x5;
323 /* 0x006 */ u8 field_0x6;
324 /* 0x008 */ emitter_c mEmitter[0x80];
325 /* 0xC08 */ emitter_c* mTable[0x100];
326 }; // Size: 0x1008
327
328 /* 8004BACC */ dPa_control_c();
329 /* 8004BB70 */ static u8 getRM_ID(u16);
330 /* 8004BB78 */ void createCommon(void const*);
331 /* 8004BCDC */ void createRoomScene();
332 /* 8004BDFC */ bool readScene(u8, mDoDvdThd_toMainRam_c**);
333 /* 8004BEB0 */ void createScene(void const*);
334 /* 8004BF3C */ bool removeRoomScene(bool);
335 /* 8004BFD4 */ void removeScene(bool);
336 /* 8004C054 */ void cleanup();
337 /* 8004C078 */ void calc3D();
338 /* 8004C0EC */ void calc2D();
339 /* 8004C134 */ void calcMenu();
340 /* 8004C188 */ void draw(JPADrawInfo*, u8);
341 /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32);
342 /* 8004C838 */ void setWaterRipple(u32*, cBgS_PolyInfo&, cXyz const*, f32, dKy_tevstr_c const*,
343 cXyz const*, s8);
344 /* 8004CA90 */ JPABaseEmitter* set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, u8,
345 dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, cXyz const*,
346 f32);
347 /* 8004D4CC */ u32 set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*,
348 cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*,
349 _GXColor const*, cXyz const*, f32);
350 /* 8004CF90 */ static s32 getPolyColor(cBgS_PolyInfo&, int, _GXColor*, _GXColor*, u8*, f32*);
351 /* 8004D6A4 */ u32 setPoly(u32, u16, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*,
352 csXyz const*, cXyz const*, int, dPa_levelEcallBack*, s8,
353 cXyz const*);
354 /* 8004D068 */ JPABaseEmitter* setPoly(u16, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*, csXyz const*,
355 cXyz const*, int, dPa_levelEcallBack*, s8, cXyz const*);
356 /* 8004D128 */ bool newSimple(u16, u8, u32*);
357 /* 8004D1B8 */ u32 setSimple(u16, cXyz const*, dKy_tevstr_c const*, u8, _GXColor const&,
358 _GXColor const&, int, f32);
359 /* 8004D23C */ dPa_simpleEcallBack* getSimple(u16);
360 /* 8004D770 */ u32 setStopContinue(u32);
361 /* 8004D7C4 */ u32 setSimpleFoot(u32, u32*, cBgS_PolyInfo&, cXyz const*, dKy_tevstr_c const*,
362 int, csXyz const*, cXyz const*, dPa_levelEcallBack*, s8,
363 cXyz const*);
364 /* 8004D988 */ u16 setCommonPoly(u32*, cBgS_PolyInfo*, cXyz const*, cXyz const*,
365 dKy_tevstr_c const*, u32, u32, csXyz const*, cXyz const*, s8);
366
368 JPABaseEmitter* getEmitter(u32 param_0) { return field_0x210.getEmitter(param_0); }
369
370 u32 setNormal(u32 param_0, u16 param_1, const cXyz* param_2, const dKy_tevstr_c* param_3,
371 const csXyz* param_4, const cXyz* param_5, u8 param_6,
372 dPa_levelEcallBack* param_7, s8 param_8, const GXColor* param_9,
373 const GXColor* param_10, const cXyz* param_11, f32 param_12) {
374 return set(param_0, 0, param_1, param_2, param_3, param_4, param_5, param_6, param_7,
375 param_8, param_9, param_10, param_11, param_12);
376 }
377
378 JPABaseEmitter* setNormal(u16 param_1, const cXyz* param_2, const dKy_tevstr_c* param_3,
379 const csXyz* param_4, const cXyz* param_5, u8 param_6,
380 dPa_levelEcallBack* param_7, s8 param_8, const GXColor* param_9,
381 const GXColor* param_10, const cXyz* param_11, f32 param_12) {
382 return set(0, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8,
383 param_9, param_10, param_11, param_12);
384 }
385
386 void drawFogPri0_B(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 7); }
387 void drawNormalPri0_B(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 5); }
388 void drawFogPri0_A(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 6); }
389 void drawNormalPri0_A(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 4); }
390 void drawFogPri4(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 11); }
391 void drawProjection(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 3); }
392 void drawFogPri1(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 8); }
393 void drawNormal(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 0); }
394 void drawFogPri2(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 9); }
395 void drawNormalFog(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 1); }
396 void drawFogPri3(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 10); }
397 void drawNormalP1(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 2); }
398 void drawDarkworld(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 12); }
399 void drawFogScreen(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 13); }
400 void draw2Dgame(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 14); }
401 void draw2Dfore(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 15); }
402 void draw2Dback(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 16); }
403 void draw2DmenuFore(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 17); }
404 void draw2DmenuBack(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 18); }
405
407
409
410 static void onStatus(u8 status) { mStatus |= status; }
411 static void offStatus(u8 status) { mStatus &= ~status; }
412 static bool isStatus(u8 status) { return mStatus & status; }
413
415 return &mTsubo[idx];
416 }
417
419
423
427
431
435
439
443
447
451
455
469 static u8 mStatus;
470
471private:
472 /* 0x000 */ JKRSolidHeap* mHeap;
474 /* 0x008 */ JKRExpHeap* m_resHeap;
476 /* 0x010 */ void* m_sceneRes;
478 /* 0x018 */ u8 field_0x18;
479 /* 0x019 */ u8 field_0x19;
480 /* 0x01A */ u8 field_0x1a;
481 /* 0x01B */ u8 field_0x1b;
483 /* 0x210 */ level_c field_0x210;
484};
485
486#endif /* D_PARTICLE_D_PARTICLE_H */
static u32 next
Definition CARDUnlock.c:29
@ GX_TEVREG1
Definition GXEnum.h:418
void GXSetTevColor(GXTevRegID id, GXColor color)
Definition GXTev.c:209
Definition J3DAnimation.h:469
Definition JKRSolidHeap.h:10
Definition JPAEmitter.h:94
Definition JPAParticle.h:20
Definition JPADrawInfo.h:10
Definition JPAEmitter.h:68
Definition JPAEmitterManager.h:22
Definition JPAParticle.h:79
Definition JPAResourceManager.h:14
Definition d_particle.h:271
void entry(u32, u16, JPABaseEmitter *, dPa_levelEcallBack *)
Definition d_particle.cpp:950
JPABaseEmitter * getEmitter()
Definition d_particle.h:278
void cleanup()
Definition d_particle.cpp:964
void offEventMove()
Definition d_particle.h:288
emitter_c * getPre()
Definition d_particle.h:279
void offActive()
Definition d_particle.h:291
dPa_levelEcallBack * mCallback
Definition d_particle.h:301
void onEventMove()
Definition d_particle.h:287
u8 mStatus
Definition d_particle.h:299
JPABaseEmitter * mEmitter
Definition d_particle.h:300
dPa_levelEcallBack * getCallback()
Definition d_particle.h:294
u32 mId
Definition d_particle.h:297
bool isActive()
Definition d_particle.h:292
emitter_c()
Definition d_particle.h:276
emitter_c * getNext()
Definition d_particle.h:280
void setNext(emitter_c *next)
Definition d_particle.h:282
u16 getNameId()
Definition d_particle.h:293
emitter_c * mNext
Definition d_particle.h:303
void setPre(emitter_c *pre)
Definition d_particle.h:281
bool isEventMove()
Definition d_particle.h:289
void clearStatus()
Definition d_particle.h:285
void onActive()
Definition d_particle.cpp:938
u16 mNameId
Definition d_particle.h:298
u32 getId()
Definition d_particle.h:284
emitter_c * mPre
Definition d_particle.h:302
Definition d_particle.h:269
void cutTable(dPa_control_c::level_c::emitter_c *)
Definition d_particle.cpp:1130
void cleanup()
Definition d_particle.cpp:1023
emitter_c mEmitter[0x80]
Definition d_particle.h:324
JPABaseEmitter * getEmitter(u32)
Definition d_particle.cpp:1077
static const int EMITTER_MAX
Definition d_particle.h:318
level_c()
Definition d_particle.cpp:985
u8 mFreeNo
Definition d_particle.h:321
void forceOnEventMove(u32)
Definition d_particle.cpp:1054
u32 entry(u16, JPABaseEmitter *, dPa_levelEcallBack *)
Definition d_particle.cpp:1089
void execute()
Definition d_particle.cpp:1011
emitter_c * get(u32)
Definition d_particle.cpp:1038
void addTable(dPa_control_c::level_c::emitter_c *)
Definition d_particle.cpp:1115
u8 field_0x5
Definition d_particle.h:322
u32 field_0x0
Definition d_particle.h:320
void allForceOnEventMove()
Definition d_particle.cpp:1064
emitter_c * mTable[0x100]
Definition d_particle.h:325
u8 field_0x6
Definition d_particle.h:323
Definition d_particle.h:267
void cleanup()
Definition d_particle.cpp:1337
static u8 mStatus
Definition d_particle.h:469
dPa_simpleEcallBack * getSimple(u16)
Definition d_particle.cpp:1674
static dPa_fsenthPcallBack mFsenthPcallBack
Definition d_particle.h:461
void drawFogPri0_B(JPADrawInfo *i_drawInfo)
Definition d_particle.h:386
void * m_sceneRes
Definition d_particle.h:476
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:1481
static JPAEmitterManager * getEmitterManager()
Definition d_particle.h:418
static JPAEmitterManager * mEmitterMng
Definition d_particle.h:459
static dPa_wbPcallBack_c mWaterBubblePcallBack
Definition d_particle.h:460
JPABaseEmitter * getEmitter(u32 param_0)
Definition d_particle.h:368
JPABaseEmitter * setNormal(u16 param_1, const cXyz *param_2, const dKy_tevstr_c *param_3, const csXyz *param_4, const cXyz *param_5, u8 param_6, 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:378
void drawNormalPri0_B(JPADrawInfo *i_drawInfo)
Definition d_particle.h:387
void removeScene(bool)
Definition d_particle.cpp:1325
void draw2DmenuBack(JPADrawInfo *i_drawInfo)
Definition d_particle.h:404
static dPa_particleTracePcallBack_c mParticleTracePCB
Definition d_particle.h:468
static dPa_light8PcallBack mLight8PcallBack
Definition d_particle.h:463
static dPa_gen_b_light8EcallBack m_b_Light8EcallBack
Definition d_particle.h:464
u32 setStopContinue(u32)
Definition d_particle.cpp:1802
static dPa_particleTracePcallBack_c * getParticleTracePCB()
Definition d_particle.h:444
void calcMenu()
Definition d_particle.cpp:1361
static s32 getPolyColor(cBgS_PolyInfo &, int, _GXColor *, _GXColor *, u8 *, f32 *)
Definition d_particle.cpp:1605
void createRoomScene()
Definition d_particle.cpp:1251
void createCommon(void const *)
Definition d_particle.cpp:1227
void drawNormal(JPADrawInfo *i_drawInfo)
Definition d_particle.h:393
void drawProjection(JPADrawInfo *i_drawInfo)
Definition d_particle.h:391
static dPa_gen_d_light8EcallBack m_d_Light8EcallBack
Definition d_particle.h:466
static dPa_gen_d_light8PcallBack * getGen_d_Light8PcallBack()
Definition d_particle.h:428
static Mtx mWindViewMatrix
Definition d_particle.h:458
JKRExpHeap * m_resHeap
Definition d_particle.h:474
static dPa_fsenthPcallBack * getFsenthPcallBack()
Definition d_particle.h:448
void drawNormalFog(JPADrawInfo *i_drawInfo)
Definition d_particle.h:395
bool removeRoomScene(bool)
Definition d_particle.cpp:1305
void calc3D()
Definition d_particle.cpp:1342
u8 field_0x19
Definition d_particle.h:479
void drawFogPri2(JPADrawInfo *i_drawInfo)
Definition d_particle.h:394
static JPAParticleCallBack * getWaterBubblePcallBack()
Definition d_particle.h:452
void draw2Dfore(JPADrawInfo *i_drawInfo)
Definition d_particle.h:401
void drawFogPri3(JPADrawInfo *i_drawInfo)
Definition d_particle.h:396
JKRSolidHeap * mHeap
Definition d_particle.h:472
static dPa_gen_b_light8PcallBack * getGen_b_Light8PcallBack()
Definition d_particle.h:424
JKRSolidHeap * m_sceneHeap
Definition d_particle.h:475
void calc2D()
Definition d_particle.cpp:1354
u32 setSimple(u16, cXyz const *, dKy_tevstr_c const *, u8, _GXColor const &, _GXColor const &, int, f32)
Definition d_particle.cpp:1662
static dPa_setColorEcallBack mLifeBall[3]
Definition d_particle.h:1160
static dPa_selectTexEcallBack * getTsuboSelectTexEcallBack(int idx)
Definition d_particle.h:414
u16 setCommonPoly(u32 *, cBgS_PolyInfo *, cXyz const *, cXyz const *, dKy_tevstr_c const *, u32, u32, csXyz const *, cXyz const *, s8)
Definition d_particle.cpp:1856
void levelAllForceOnEventMove()
Definition d_particle.h:408
static bool isStatus(u8 status)
Definition d_particle.h:412
static dPa_gen_b_light8EcallBack * getGen_b_Light8EcallBack()
Definition d_particle.h:432
u8 field_0x18
Definition d_particle.h:478
static void offStatus(u8 status)
Definition d_particle.h:411
void drawFogPri1(JPADrawInfo *i_drawInfo)
Definition d_particle.h:392
static void onStatus(u8 status)
Definition d_particle.h:410
JPAResourceManager * mCommonResMng
Definition d_particle.h:473
void drawNormalPri0_A(JPADrawInfo *i_drawInfo)
Definition d_particle.h:389
static dPa_selectTexEcallBack mTsubo[8]
Definition d_particle.h:1148
static dPa_light8EcallBack mLight8EcallBack
Definition d_particle.h:462
void createScene(void const *)
Definition d_particle.cpp:1290
void draw2Dback(JPADrawInfo *i_drawInfo)
Definition d_particle.h:402
static dPa_gen_b_light8PcallBack m_b_Light8PcallBack
Definition d_particle.h:465
dPa_simpleEcallBack field_0x1c[25]
Definition d_particle.h:482
u8 field_0x1b
Definition d_particle.h:481
static dPa_gen_d_light8PcallBack m_d_Light8PcallBack
Definition d_particle.h:467
static dPa_light8PcallBack * getLight8PcallBack()
Definition d_particle.h:420
void drawFogPri0_A(JPADrawInfo *i_drawInfo)
Definition d_particle.h:388
u8 field_0x1a
Definition d_particle.h:480
level_c field_0x210
Definition d_particle.h:483
void setWaterRipple(u32 *, cBgS_PolyInfo &, cXyz const *, f32, dKy_tevstr_c const *, cXyz const *, s8)
Definition d_particle.cpp:1450
void draw2DmenuFore(JPADrawInfo *i_drawInfo)
Definition d_particle.h:403
void drawNormalP1(JPADrawInfo *i_drawInfo)
Definition d_particle.h:397
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:1782
void drawDarkworld(JPADrawInfo *i_drawInfo)
Definition d_particle.h:398
bool newSimple(u16, u8, u32 *)
Definition d_particle.cpp:1648
bool readScene(u8, mDoDvdThd_toMainRam_c **)
Definition d_particle.cpp:1273
static u8 getRM_ID(u16)
Definition d_particle.cpp:1221
static dPa_gen_d_light8EcallBack * getGen_d_Light8EcallBack()
Definition d_particle.h:436
JKRExpHeap * getResHeap()
Definition d_particle.h:406
void forceOnEventMove(u32 param_0)
Definition d_particle.h:367
void drawFogScreen(JPADrawInfo *i_drawInfo)
Definition d_particle.h:399
void draw(JPADrawInfo *, u8)
Definition d_particle.cpp:1370
void setHitMark(u16, fopAc_ac_c *, cXyz const *, csXyz const *, cXyz const *, u32)
Definition d_particle.cpp:1388
dPa_control_c()
Definition d_particle.cpp:1206
void drawFogPri4(JPADrawInfo *i_drawInfo)
Definition d_particle.h:390
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:1815
void draw2Dgame(JPADrawInfo *i_drawInfo)
Definition d_particle.h:400
static dPa_light8EcallBack * getLight8EcallBack()
Definition d_particle.h:440
u32 setNormal(u32 param_0, u16 param_1, const cXyz *param_2, const dKy_tevstr_c *param_3, const csXyz *param_4, const cXyz *param_5, u8 param_6, 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:370
JPAResourceManager * mSceneResMng
Definition d_particle.h:477
Definition d_particle.h:76
const cXyz * field_0x8
Definition d_particle.h:94
dPa_followEcallBack(u8 param_0=0, u8 param_1=0)
Definition d_particle.cpp:57
virtual void cleanup()
Definition d_particle.h:84
virtual ~dPa_followEcallBack()
Definition d_particle.h:80
void remove()
Definition d_particle.h:87
u8 field_0x13
Definition d_particle.h:99
virtual void setup(JPABaseEmitter *, cXyz const *, csXyz const *, s8)
Definition d_particle.cpp:94
u8 field_0x11
Definition d_particle.h:97
virtual void end()
Definition d_particle.cpp:114
u8 field_0x10
Definition d_particle.h:96
JPABaseEmitter * getEmitter()
Definition d_particle.h:88
JPABaseEmitter * mpEmitter
Definition d_particle.h:93
bool isEnd()
Definition d_particle.h:89
virtual void execute(JPABaseEmitter *)
Definition d_particle.cpp:66
const csXyz * field_0xc
Definition d_particle.h:95
u8 field_0x12
Definition d_particle.h:98
virtual void draw(JPABaseEmitter *)
Definition d_particle.cpp:90
Definition d_particle.h:250
virtual ~dPa_fsenthPcallBack()
Definition d_particle.h:252
virtual void execute(JPABaseEmitter *, JPABaseParticle *)
Definition d_particle.cpp:1953
virtual void draw(JPABaseEmitter *, JPABaseParticle *)
Definition d_particle.cpp:1965
Definition d_particle.h:242
virtual void setup(JPABaseEmitter *, cXyz const *, csXyz const *, s8)
Definition d_particle.cpp:152
virtual void drawAfter(JPABaseEmitter *)
Definition d_particle.h:246
virtual void draw(JPABaseEmitter *)
Definition d_particle.cpp:435
virtual ~dPa_gen_b_light8EcallBack()
Definition d_particle.h:244
Definition d_particle.h:235
virtual void execute(JPABaseEmitter *, JPABaseParticle *)
Definition d_particle.cpp:1977
virtual void draw(JPABaseEmitter *, JPABaseParticle *)
Definition d_particle.cpp:2114
virtual ~dPa_gen_b_light8PcallBack()
Definition d_particle.h:237
Definition d_particle.h:227
virtual ~dPa_gen_d_light8EcallBack()
Definition d_particle.h:229
virtual void drawAfter(JPABaseEmitter *)
Definition d_particle.h:231
virtual void setup(JPABaseEmitter *, cXyz const *, csXyz const *, s8)
Definition d_particle.cpp:161
virtual void draw(JPABaseEmitter *)
Definition d_particle.cpp:441
Definition d_particle.h:220
virtual void draw(JPABaseEmitter *, JPABaseParticle *)
Definition d_particle.cpp:2207
virtual void execute(JPABaseEmitter *, JPABaseParticle *)
Definition d_particle.cpp:1983
virtual ~dPa_gen_d_light8PcallBack()
Definition d_particle.h:222
Definition d_particle.h:26
void setRate(f32 rate)
Definition d_particle.h:36
int mMaxCnt
Definition d_particle.h:40
cXyz const * field_0xc
Definition d_particle.h:41
virtual void executeAfter(JPABaseEmitter *)
Definition d_particle.cpp:2334
void setOldPosP(cXyz const *, cXyz const *)
Definition d_particle.cpp:2327
virtual ~dPa_hermiteEcallBack_c()
Definition d_particle.h:32
virtual void setup(JPABaseEmitter *, cXyz const *, csXyz const *, s8)
Definition d_particle.cpp:2376
dPa_hermiteEcallBack_c()
Definition d_particle.h:28
cXyz const * field_0x10
Definition d_particle.h:42
cXyz const * field_0x14
Definition d_particle.h:43
f32 mRate
Definition d_particle.h:39
Definition d_particle.h:19
virtual void cleanup()
Definition d_particle.h:23
virtual ~dPa_levelEcallBack()
Definition d_particle.h:21
virtual void setup(JPABaseEmitter *, const cXyz *, const csXyz *, s8)=0
Definition d_particle.h:212
virtual ~dPa_light8EcallBack()
Definition d_particle.h:214
virtual void setup(JPABaseEmitter *, cXyz const *, csXyz const *, s8)
Definition d_particle.cpp:144
virtual void drawAfter(JPABaseEmitter *)
Definition d_particle.h:216
virtual void draw(JPABaseEmitter *)
Definition d_particle.cpp:429
Definition d_particle.h:205
virtual void draw(JPABaseEmitter *, JPABaseParticle *)
Definition d_particle.cpp:1989
virtual ~dPa_light8PcallBack()
Definition d_particle.h:207
virtual void execute(JPABaseEmitter *, JPABaseParticle *)
Definition d_particle.cpp:1971
Definition d_particle.h:148
static dPa_modelEcallBack mEcallback
Definition d_particle.h:199
static dPa_modelPcallBack mPcallback
Definition d_particle.h:201
static void create(u8)
Definition d_particle.cpp:657
dPa_modelEcallBack()
Definition d_particle.h:174
static model_c * mModel
Definition d_particle.h:202
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:192
virtual void drawAfter(JPABaseEmitter *param_0)
Definition d_particle.h:189
static int setModel(JPABaseEmitter *, J3DModelData *, dKy_tevstr_c const &, u8, void *, u8, u8)
Definition d_particle.cpp:677
static u8 getRotAxis(JPABaseEmitter *)
Definition d_particle.cpp:738
static void remove()
Definition d_particle.cpp:668
static void cleanupModel(JPABaseEmitter *)
Definition d_particle.cpp:719
static model_c * getModel(JPABaseEmitter *)
Definition d_particle.cpp:729
static void setupModel(JPABaseEmitter *)
Definition d_particle.cpp:701
virtual void draw(JPABaseEmitter *)
Definition d_particle.cpp:625
virtual ~dPa_modelEcallBack()
Definition d_particle.h:187
virtual void setup(JPABaseEmitter *, cXyz const *, csXyz const *, s8)
Definition d_particle.cpp:638
static void drawModel(JPABaseEmitter *, f32(*)[4])
Definition d_particle.cpp:710
static dPa_modelEcallBack & getEcallback()
Definition d_particle.h:198
static void resetModel(JPABaseEmitter *)
Definition d_particle.cpp:692
Definition d_particle.h:142
virtual ~dPa_modelPcallBack()
Definition d_particle.h:144
virtual void draw(JPABaseEmitter *, JPABaseParticle *)
Definition d_particle.cpp:463
Definition d_particle.h:136
virtual void execute(JPABaseEmitter *, JPABaseParticle *)
Definition d_particle.cpp:2385
virtual ~dPa_particleTracePcallBack_c()
Definition d_particle.h:138
Definition d_particle.h:125
u8 field_0x4
Definition d_particle.h:133
virtual void setup(JPABaseEmitter *, cXyz const *, csXyz const *, s8)
Definition d_particle.h:131
virtual ~dPa_selectTexEcallBack()
Definition d_particle.h:129
dPa_selectTexEcallBack(u8 param_0)
Definition d_particle.h:127
virtual void draw(JPABaseEmitter *)
Definition d_particle.cpp:748
Definition d_particle.h:114
dPa_setColorEcallBack(const GXColor &color)
Definition d_particle.h:116
virtual ~dPa_setColorEcallBack()
Definition d_particle.h:118
virtual void draw(JPABaseEmitter *)
Definition d_particle.h:119
GXColor mColor
Definition d_particle.h:122
virtual void setup(JPABaseEmitter *, cXyz const *, csXyz const *, s8)
Definition d_particle.h:120
Definition d_particle.h:257
cXyz field_0x00
Definition d_particle.h:262
GXColor field_0x10
Definition d_particle.h:264
GXColor field_0x0c
Definition d_particle.h:263
dPa_simpleData_c()
Definition d_particle.cpp:811
~dPa_simpleData_c()
Definition d_particle.cpp:808
Definition d_particle.h:53
u16 field_0xe
Definition d_particle.h:72
virtual void executeAfter(JPABaseEmitter *)
Definition d_particle.cpp:760
u8 field_0xa
Definition d_particle.h:70
dPa_simpleEcallBack()
Definition d_particle.cpp:753
u16 mID
Definition d_particle.h:69
dPa_simpleData_c * mData
Definition d_particle.h:73
JPABaseEmitter * createEmitter(JPAEmitterManager *)
Definition d_particle.cpp:817
virtual ~dPa_simpleEcallBack()
Definition d_particle.h:61
JPABaseEmitter * mEmitter
Definition d_particle.h:68
u16 getID() const
Definition d_particle.h:66
s16 field_0xc
Definition d_particle.h:71
JPABaseEmitter * create(JPAEmitterManager *, u16, u8)
Definition d_particle.cpp:797
virtual void draw(JPABaseEmitter *)
Definition d_particle.cpp:791
void removeEmitter()
Definition d_particle.h:65
u32 set(cXyz const *, dKy_tevstr_c const *, u8, _GXColor const &, _GXColor const &, int, f32)
Definition d_particle.cpp:839
Definition d_particle.h:108
virtual ~dPa_wbPcallBack_c()
Definition d_particle.h:110
virtual void execute(JPABaseEmitter *, JPABaseParticle *)
Definition d_particle.cpp:1941
Definition d_particle.h:102
virtual ~dPa_windPcallBack()
Definition d_particle.h:104
virtual void execute(JPABaseEmitter *, JPABaseParticle *)
Definition d_particle.cpp:932
Definition m_Do_dvd_thread.h:29
static SECTION_DATA u8 color[4]
Definition d_a_obj_crope.cpp:225
void dPa_cleanupGX()
Definition d_particle.cpp:26
static u32 status
Definition fstload.c:9
f32 Mtx[3][4]
Definition mtx.h:22
Definition d_a_hozelda.cpp:36
Definition d_a_hozelda.cpp:52
Definition d_a_hozelda.cpp:146
Definition d_a_balloon_2D.h:178
Definition d_menu_dmap_map.cpp:90
Definition d_a_npc_fguard.cpp:151
Definition d_a_hozelda.cpp:20
Definition d_a_hozelda.cpp:161
Definition d_a_hozelda.cpp:133
Definition d_particle.h:150
void draw(f32(*)[4])
Definition d_particle.cpp:600
bool set(J3DModelData *, dKy_tevstr_c const &, u8, void *, u8, u8)
Definition d_particle.cpp:506
u8 mRotAxis
Definition d_particle.h:168
u8 field_0x393
Definition d_particle.h:171
u8 getRotAxis()
Definition d_particle.h:162
void setup()
Definition d_particle.cpp:565
~model_c()
Definition d_particle.cpp:664
void cleanup()
Definition d_particle.cpp:586
dKy_tevstr_c field_0x8
Definition d_particle.h:167
J3DModelData * field_0x0
Definition d_particle.h:165
u8 field_0x392
Definition d_particle.h:170
model_c()
Definition d_particle.h:156
J3DModelData * getModelData()
Definition d_particle.h:163
void reset()
Definition d_particle.h:158
u8 field_0x391
Definition d_particle.h:169
J3DAnmBase * field_0x4
Definition d_particle.h:166
Definition d_a_hozelda.cpp:74
signed char s8
Definition types.h:4
unsigned long u32
Definition types.h:9
signed short int s16
Definition types.h:6
float f32
Definition types.h:22
unsigned short int u16
Definition types.h:7
signed long s32
Definition types.h:8
unsigned char u8
Definition types.h:5