// // Generated By: dol2asm // Translation Unit: JPAEmitter // #include "dol2asm.h" #include "dolphin/types.h" #include "JSystem/JParticle/JPAEmitter.h" // // Types: // struct _GXTexMapID { }; struct JUTTexture { /* 802DE840 */ // False False // _GXTexMapID False void load(_GXTexMapID); }; struct JPAResource { }; struct JPAEmitterWorkData { }; struct JPAEmitterManager { }; struct JPAEmitterCallBack { /* 8027E6A4 */ // False False ~JPAEmitterCallBack(); }; struct JPABaseParticle { /* 8027EFEC */ // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void init_p(JPAEmitterWorkData*); /* 8027F8C8 */ // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void init_c(JPAEmitterWorkData*, JPABaseParticle*); }; struct JGeometry { template struct TVec3 { }; /* TVec3 */ struct TVec3__template0 { }; }; struct JPABaseEmitter { /* 8027E6EC */ // False False // JPAEmitterManager* False // JPAEmitterManager False // JPAResource* False // JPAResource False void init(JPAEmitterManager*, JPAResource*); /* 8027EA40 */ // False False void createParticle(); /* 8027EB60 */ // False False // JPABaseParticle* False // JPABaseParticle False void createChild(JPABaseParticle*); /* 8027EC60 */ // False False void deleteAllParticle(); /* 8027EDD4 */ // False False void processTillStartFrame(); /* 8027EE14 */ // False False void processTermination(); /* 8027EEB0 */ // False True // JGeometry::TVec3* False // JGeometry::TVec3 True // f32 False void calcEmitterGlobalPosition(JGeometry::TVec3*) const; /* 8027EF30 */ // False False void getCurrentCreateNumber() const; /* 8027EF40 */ // False False void getDrawCount() const; /* 8027EF50 */ // False False // u8 False // _GXTexMapID False void loadTexture(u8, _GXTexMapID); }; // // Forward References: // // False False extern "C" void __dt__18JPAEmitterCallBackFv(); // False False // JPAEmitterManager* False // JPAEmitterManager False // JPAResource* False // JPAResource False extern "C" void init__14JPABaseEmitterFP17JPAEmitterManagerP11JPAResource(); // False False extern "C" void createParticle__14JPABaseEmitterFv(); // False False // JPABaseParticle* False // JPABaseParticle False extern "C" void createChild__14JPABaseEmitterFP15JPABaseParticle(); // False False extern "C" void deleteAllParticle__14JPABaseEmitterFv(); // False False extern "C" void processTillStartFrame__14JPABaseEmitterFv(); // False False extern "C" void processTermination__14JPABaseEmitterFv(); // False True // JGeometry::TVec3* False // JGeometry::TVec3 True // f32 False extern "C" void func_8027EEB0(); // False False extern "C" void getCurrentCreateNumber__14JPABaseEmitterCFv(); // False False extern "C" void getDrawCount__14JPABaseEmitterCFv(); // False False // u8 False // _GXTexMapID False extern "C" void loadTexture__14JPABaseEmitterFUc11_GXTexMapID(); // // External References: // // False False // void False // void* False // void False void operator delete(void*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void init_p__15JPABaseParticleFP18JPAEmitterWorkData(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void init_c__15JPABaseParticleFP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // void False // void* False // void False extern "C" void __dl__FPv(); // False False // _GXTexMapID False extern "C" void load__10JUTTextureF11_GXTexMapID(); // False False extern "C" void PSMTXIdentity(); // False False extern "C" void PSMTXConcat(); // False False extern "C" void PSMTXScale(); // False False extern "C" void PSMTXMultVec(); extern "C" extern void* __vt__18JPAEmitterCallBack[7]; extern "C" extern u32 __float_epsilon; // // Declarations: // /* 8027E6A4-8027E6EC 0048+00 s=0 e=14 z=16 None .text __dt__18JPAEmitterCallBackFv */ // 8027E6BC: 803A8578 (__vt__18JPAEmitterCallBack) // 8027E6C0: 803A8578 (__vt__18JPAEmitterCallBack) // 8027E6D0: 802CED3C (__dl__FPv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm JPAEmitterCallBack::~JPAEmitterCallBack() { nofralloc #include "asm/JSystem/JParticle/JPAEmitter/__dt__18JPAEmitterCallBackFv.s" } #pragma pop /* ############################################################################################## */ /* 80455370-80455374 0004+00 s=1 e=0 z=0 None .sdata2 @2440 */ SECTION_SDATA2 static f32 lit_2440 = 32.0f; /* 80455374-80455378 0004+00 s=1 e=0 z=0 None .sdata2 @2441 */ SECTION_SDATA2 static u8 lit_2441[4] = { 0x00, 0x00, 0x00, 0x00, }; /* 80455378-8045537C 0004+00 s=1 e=0 z=0 None .sdata2 @2442 */ SECTION_SDATA2 static f32 lit_2442 = 0.5f; /* 8045537C-80455380 0004+00 s=1 e=0 z=0 None .sdata2 @2443 */ SECTION_SDATA2 static f32 lit_2443 = 3.0f; /* 80455380-80455388 0004+04 s=1 e=0 z=0 None .sdata2 @2444 */ SECTION_SDATA2 static f32 lit_2444[1 + 1 /* padding */] = { 1.0f, /* padding */ 0.0f, }; /* 8027E6EC-8027EA40 0354+00 s=0 e=1 z=0 None .text init__14JPABaseEmitterFP17JPAEmitterManagerP11JPAResource */ // 8027E790: 80455370 (lit_2440) // 8027E794: 80450AEC (__float_epsilon) // 8027E798: 80450AEC (__float_epsilon) // 8027E7AC: 80455374 (lit_2441) // 8027E7CC: 80455378 (lit_2442) // 8027E7D4: 8045537C (lit_2443) // 8027E958: 80346484 (PSMTXIdentity) // 8027E95C: 80455380 (lit_2444) // 8027E96C: 80455374 (lit_2441) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterManager* False // JPAEmitterManager False // JPAResource* False // JPAResource False asm void JPABaseEmitter::init(JPAEmitterManager* param_0, JPAResource* param_1) { nofralloc #include "asm/JSystem/JParticle/JPAEmitter/init__14JPABaseEmitterFP17JPAEmitterManagerP11JPAResource.s" } #pragma pop /* 8027EA40-8027EB60 0120+00 s=0 e=3 z=0 None .text createParticle__14JPABaseEmitterFv */ // 8027EB38: 8027EFEC (init_p__15JPABaseParticleFP18JPAEmitterWorkData) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void JPABaseEmitter::createParticle() { nofralloc #include "asm/JSystem/JParticle/JPAEmitter/createParticle__14JPABaseEmitterFv.s" } #pragma pop /* 8027EB60-8027EC60 0100+00 s=0 e=1 z=0 None .text createChild__14JPABaseEmitterFP15JPABaseParticle */ // 8027EC3C: 8027F8C8 (init_c__15JPABaseParticleFP18JPAEmitterWorkDataP15JPABaseParticle) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPABaseParticle* False // JPABaseParticle False asm void JPABaseEmitter::createChild(JPABaseParticle* param_0) { nofralloc #include "asm/JSystem/JParticle/JPAEmitter/createChild__14JPABaseEmitterFP15JPABaseParticle.s" } #pragma pop /* 8027EC60-8027EDD4 0174+00 s=0 e=2 z=21 None .text deleteAllParticle__14JPABaseEmitterFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void JPABaseEmitter::deleteAllParticle() { nofralloc #include "asm/JSystem/JParticle/JPAEmitter/deleteAllParticle__14JPABaseEmitterFv.s" } #pragma pop /* 8027EDD4-8027EE14 0040+00 s=0 e=1 z=0 None .text processTillStartFrame__14JPABaseEmitterFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void JPABaseEmitter::processTillStartFrame() { nofralloc #include "asm/JSystem/JParticle/JPAEmitter/processTillStartFrame__14JPABaseEmitterFv.s" } #pragma pop /* 8027EE14-8027EEB0 009C+00 s=0 e=1 z=0 None .text processTermination__14JPABaseEmitterFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void JPABaseEmitter::processTermination() { nofralloc #include "asm/JSystem/JParticle/JPAEmitter/processTermination__14JPABaseEmitterFv.s" } #pragma pop /* 8027EEB0-8027EF30 0080+00 s=0 e=1 z=0 None .text calcEmitterGlobalPosition__14JPABaseEmitterCFPQ29JGeometry8TVec3 */ // 8027EEDC: 80346968 (PSMTXScale) // 8027EEEC: 803464E4 (PSMTXConcat) // 8027EF14: 80346D6C (PSMTXMultVec) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False True // JGeometry::TVec3* False // JGeometry::TVec3 True // f32 False asm void JPABaseEmitter::calcEmitterGlobalPosition(JGeometry::TVec3* param_0) const { nofralloc #include "asm/JSystem/JParticle/JPAEmitter/func_8027EEB0.s" } #pragma pop /* 8027EF30-8027EF40 0010+00 s=0 e=1 z=0 None .text getCurrentCreateNumber__14JPABaseEmitterCFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void JPABaseEmitter::getCurrentCreateNumber() const { nofralloc #include "asm/JSystem/JParticle/JPAEmitter/getCurrentCreateNumber__14JPABaseEmitterCFv.s" } #pragma pop /* 8027EF40-8027EF50 0010+00 s=0 e=3 z=0 None .text getDrawCount__14JPABaseEmitterCFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void JPABaseEmitter::getDrawCount() const { nofralloc #include "asm/JSystem/JParticle/JPAEmitter/getDrawCount__14JPABaseEmitterCFv.s" } #pragma pop /* 8027EF50-8027EFA4 0054+00 s=0 e=1 z=0 None .text loadTexture__14JPABaseEmitterFUc11_GXTexMapID */ // 8027EF8C: 802DE840 (load__10JUTTextureF11_GXTexMapID) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // u8 False // _GXTexMapID False asm void JPABaseEmitter::loadTexture(u8 param_0, _GXTexMapID param_1) { nofralloc #include "asm/JSystem/JParticle/JPAEmitter/loadTexture__14JPABaseEmitterFUc11_GXTexMapID.s" } #pragma pop