// // Generated By: dol2asm // Translation Unit: JPABaseShape // #include "dol2asm.h" #include "dolphin/types.h" #include "JSystem/JParticle/JPABaseShape.h" // // Types: // struct _GXTexMapID { }; struct _GXColor { }; struct JUTTexture { /* 802DE840 */ // False False // _GXTexMapID False void load(_GXTexMapID); }; template struct JPANode { }; /* JPANode */ struct JPANode__template0 { }; struct JPAEmitterWorkData { }; struct JPAClrAnmKeyData { }; struct JKRHeap { /* 802CE474 */ // False False // u32 False // int False // JKRHeap* False // JKRHeap False void alloc(u32, int, JKRHeap*); }; struct JPABaseShape { /* 8027A6DC */ // False False // u8 const* False // u8 const False // u8 False // JKRHeap* False // JKRHeap False JPABaseShape(u8 const*, JKRHeap*); /* 8027A7E8 */ // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void setGX(JPAEmitterWorkData*) const; }; struct JPABaseParticle { }; struct JGeometry { template struct TVec3 { }; /* TVec3 */ struct TVec3__template0 { }; }; struct JPABaseEmitter { /* 8027EEB0 */ // False True // JGeometry::TVec3* False // JGeometry::TVec3 True // f32 False void calcEmitterGlobalPosition(JGeometry::TVec3*) const; }; // // Forward References: // // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void JPASetPointSize(JPAEmitterWorkData*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void JPASetLineWidth(JPAEmitterWorkData*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPASetPointSize(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPASetLineWidth(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void JPARegistPrm(JPAEmitterWorkData*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void JPARegistEnv(JPAEmitterWorkData*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void JPARegistPrmEnv(JPAEmitterWorkData*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPARegistAlpha(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPARegistPrmAlpha(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPARegistPrmAlphaEnv(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPARegistAlphaEnv(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPARegistEnv(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void JPACalcClrIdxNormal(JPAEmitterWorkData*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPACalcClrIdxNormal(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void JPACalcClrIdxRepeat(JPAEmitterWorkData*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPACalcClrIdxRepeat(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void JPACalcClrIdxReverse(JPAEmitterWorkData*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPACalcClrIdxReverse(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void JPACalcClrIdxMerge(JPAEmitterWorkData*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPACalcClrIdxMerge(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void JPACalcClrIdxRandom(JPAEmitterWorkData*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPACalcClrIdxRandom(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void JPACalcPrm(JPAEmitterWorkData*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPACalcPrm(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void JPACalcEnv(JPAEmitterWorkData*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPACalcEnv(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPACalcColorCopy(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void JPAGenTexCrdMtxIdt(JPAEmitterWorkData*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void JPAGenTexCrdMtxAnm(JPAEmitterWorkData*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void JPAGenTexCrdMtxPrj(JPAEmitterWorkData*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void JPAGenCalcTexCrdMtxAnm(JPAEmitterWorkData*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPALoadCalcTexCrdMtxAnm(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void JPALoadTex(JPAEmitterWorkData*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void JPALoadTexAnm(JPAEmitterWorkData*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPALoadTexAnm(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void JPACalcTexIdxNormal(JPAEmitterWorkData*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPACalcTexIdxNormal(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void JPACalcTexIdxRepeat(JPAEmitterWorkData*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPACalcTexIdxRepeat(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void JPACalcTexIdxReverse(JPAEmitterWorkData*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPACalcTexIdxReverse(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void JPACalcTexIdxMerge(JPAEmitterWorkData*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPACalcTexIdxMerge(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void JPACalcTexIdxRandom(JPAEmitterWorkData*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPACalcTexIdxRandom(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void JPALoadPosMtxCam(JPAEmitterWorkData*); // True False // void False // JPAEmitterWorkData const* False // JPAEmitterWorkData const False // JPAEmitterWorkData False // f32 const (* )[4] False // f32 const False // f32 False // * False // False static void noLoadPrj(JPAEmitterWorkData const*, f32 const (* )[4]); // True False // JPAEmitterWorkData const* False // JPAEmitterWorkData const False // JPAEmitterWorkData False // f32 const (* )[4] False // f32 const False // f32 False // * False // False static void loadPrj(JPAEmitterWorkData const*, f32 const (* )[4]); // True False // JPAEmitterWorkData const* False // JPAEmitterWorkData const False // JPAEmitterWorkData False // f32 const (* )[4] False // f32 const False // f32 False // * False // False static void loadPrjAnm(JPAEmitterWorkData const*, f32 const (* )[4]); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPADrawBillboard(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPADrawRotBillboard(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPADrawYBillboard(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPADrawRotYBillboard(JPAEmitterWorkData*, JPABaseParticle*); // False True // JPAEmitterWorkData const* False // JPAEmitterWorkData const False // JPAEmitterWorkData False // JPABaseParticle const* False // JPABaseParticle const False // JPABaseParticle False // JGeometry::TVec3* False // JGeometry::TVec3 True // f32 False void dirTypeVel(JPAEmitterWorkData const*, JPABaseParticle const*, JGeometry::TVec3__template0*); // False True // JPAEmitterWorkData const* False // JPAEmitterWorkData const False // JPAEmitterWorkData False // JPABaseParticle const* False // JPABaseParticle const False // JPABaseParticle False // JGeometry::TVec3* False // JGeometry::TVec3 True // f32 False void dirTypePos(JPAEmitterWorkData const*, JPABaseParticle const*, JGeometry::TVec3__template0*); // False True // JPAEmitterWorkData const* False // JPAEmitterWorkData const False // JPAEmitterWorkData False // JPABaseParticle const* False // JPABaseParticle const False // JPABaseParticle False // JGeometry::TVec3* False // JGeometry::TVec3 True // f32 False void dirTypePosInv(JPAEmitterWorkData const*, JPABaseParticle const*, JGeometry::TVec3__template0*); // False True // JPAEmitterWorkData const* False // JPAEmitterWorkData const False // JPAEmitterWorkData False // JPABaseParticle const* False // JPABaseParticle const False // JPABaseParticle False // JGeometry::TVec3* False // JGeometry::TVec3 True // f32 False void dirTypeEmtrDir(JPAEmitterWorkData const*, JPABaseParticle const*, JGeometry::TVec3__template0*); // False True // JPAEmitterWorkData const* False // JPAEmitterWorkData const False // JPAEmitterWorkData False // JPABaseParticle const* False // JPABaseParticle const False // JPABaseParticle False // JGeometry::TVec3* False // JGeometry::TVec3 True // f32 False void dirTypePrevPtcl(JPAEmitterWorkData const*, JPABaseParticle const*, JGeometry::TVec3__template0*); // True False // f32 False // f32 False // f32 (& )[3][4] False // f32 False // & False // False static void rotTypeY(f32, f32, f32 (& )[3][4]); // True False // f32 False // f32 False // f32 (& )[3][4] False // f32 False // & False // False static void rotTypeX(f32, f32, f32 (& )[3][4]); // True False // f32 False // f32 False // f32 (& )[3][4] False // f32 False // & False // False static void rotTypeZ(f32, f32, f32 (& )[3][4]); // True False // f32 False // f32 False // f32 (& )[3][4] False // f32 False // & False // False static void rotTypeXYZ(f32, f32, f32 (& )[3][4]); // True False // f32 (* )[4] False // f32 False // * False // False // f32 False // f32 False static void basePlaneTypeXY(f32 (* )[4], f32, f32); // True False // f32 (* )[4] False // f32 False // * False // False // f32 False // f32 False static void basePlaneTypeXZ(f32 (* )[4], f32, f32); // True False // f32 (* )[4] False // f32 False // * False // False // f32 False // f32 False static void basePlaneTypeX(f32 (* )[4], f32, f32); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPADrawDirection(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPADrawRotDirection(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPADrawDBillboard(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPADrawRotation(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPADrawPoint(JPAEmitterWorkData*, JPABaseParticle*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPADrawLine(JPAEmitterWorkData*, JPABaseParticle*); // False True // JPANode* False // JPANode True // JPABaseParticle False void getNext(JPANode__template0*); // False True // JPANode* False // JPANode True // JPABaseParticle False void getPrev(JPANode__template0*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void JPADrawStripe(JPAEmitterWorkData*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void JPADrawStripeX(JPAEmitterWorkData*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False void JPADrawEmitterCallBackB(JPAEmitterWorkData*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False void JPADrawParticleCallBack(JPAEmitterWorkData*, JPABaseParticle*); // True False // _GXColor** False // _GXColor* False // _GXColor False // JPAClrAnmKeyData const* False // JPAClrAnmKeyData const False // JPAClrAnmKeyData False // u8 False // s16 False // JKRHeap* False // JKRHeap False static void makeColorTable(_GXColor**, JPAClrAnmKeyData const*, u8, s16, JKRHeap*); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void JPASetPointSize__FP18JPAEmitterWorkData(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void JPASetLineWidth__FP18JPAEmitterWorkData(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPASetPointSize__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPASetLineWidth__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void JPARegistPrm__FP18JPAEmitterWorkData(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void JPARegistEnv__FP18JPAEmitterWorkData(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void JPARegistPrmEnv__FP18JPAEmitterWorkData(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPARegistAlpha__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPARegistPrmAlpha__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPARegistPrmAlphaEnv__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPARegistAlphaEnv__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPARegistEnv__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void JPACalcClrIdxNormal__FP18JPAEmitterWorkData(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPACalcClrIdxNormal__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void JPACalcClrIdxRepeat__FP18JPAEmitterWorkData(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPACalcClrIdxRepeat__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void JPACalcClrIdxReverse__FP18JPAEmitterWorkData(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPACalcClrIdxReverse__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void JPACalcClrIdxMerge__FP18JPAEmitterWorkData(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPACalcClrIdxMerge__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void JPACalcClrIdxRandom__FP18JPAEmitterWorkData(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPACalcClrIdxRandom__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void JPACalcPrm__FP18JPAEmitterWorkData(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPACalcPrm__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void JPACalcEnv__FP18JPAEmitterWorkData(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPACalcEnv__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPACalcColorCopy__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void JPAGenTexCrdMtxIdt__FP18JPAEmitterWorkData(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void JPAGenTexCrdMtxAnm__FP18JPAEmitterWorkData(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void JPAGenTexCrdMtxPrj__FP18JPAEmitterWorkData(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void JPAGenCalcTexCrdMtxAnm__FP18JPAEmitterWorkData(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPALoadCalcTexCrdMtxAnm__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void JPALoadTex__FP18JPAEmitterWorkData(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void JPALoadTexAnm__FP18JPAEmitterWorkData(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPALoadTexAnm__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void JPACalcTexIdxNormal__FP18JPAEmitterWorkData(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPACalcTexIdxNormal__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void JPACalcTexIdxRepeat__FP18JPAEmitterWorkData(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPACalcTexIdxRepeat__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void JPACalcTexIdxReverse__FP18JPAEmitterWorkData(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPACalcTexIdxReverse__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void JPACalcTexIdxMerge__FP18JPAEmitterWorkData(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPACalcTexIdxMerge__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void JPACalcTexIdxRandom__FP18JPAEmitterWorkData(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPACalcTexIdxRandom__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void JPALoadPosMtxCam__FP18JPAEmitterWorkData(); // True False // void False // JPAEmitterWorkData const* False // JPAEmitterWorkData const False // JPAEmitterWorkData False // f32 const (* )[4] False // f32 const False // f32 False // * False // False extern "C" static void noLoadPrj__FPC18JPAEmitterWorkDataPA4_Cf(); // True False // JPAEmitterWorkData const* False // JPAEmitterWorkData const False // JPAEmitterWorkData False // f32 const (* )[4] False // f32 const False // f32 False // * False // False extern "C" static void loadPrj__FPC18JPAEmitterWorkDataPA4_Cf(); // True False // JPAEmitterWorkData const* False // JPAEmitterWorkData const False // JPAEmitterWorkData False // f32 const (* )[4] False // f32 const False // f32 False // * False // False extern "C" static void loadPrjAnm__FPC18JPAEmitterWorkDataPA4_Cf(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPADrawBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPADrawRotBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPADrawYBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPADrawRotYBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False True // JPAEmitterWorkData const* False // JPAEmitterWorkData const False // JPAEmitterWorkData False // JPABaseParticle const* False // JPABaseParticle const False // JPABaseParticle False // JGeometry::TVec3* False // JGeometry::TVec3 True // f32 False extern "C" void func_802782B4(); // False True // JPAEmitterWorkData const* False // JPAEmitterWorkData const False // JPAEmitterWorkData False // JPABaseParticle const* False // JPABaseParticle const False // JPABaseParticle False // JGeometry::TVec3* False // JGeometry::TVec3 True // f32 False extern "C" void func_802782D0(); // False True // JPAEmitterWorkData const* False // JPAEmitterWorkData const False // JPAEmitterWorkData False // JPABaseParticle const* False // JPABaseParticle const False // JPABaseParticle False // JGeometry::TVec3* False // JGeometry::TVec3 True // f32 False extern "C" void func_802782EC(); // False True // JPAEmitterWorkData const* False // JPAEmitterWorkData const False // JPAEmitterWorkData False // JPABaseParticle const* False // JPABaseParticle const False // JPABaseParticle False // JGeometry::TVec3* False // JGeometry::TVec3 True // f32 False extern "C" void func_80278320(); // False True // JPAEmitterWorkData const* False // JPAEmitterWorkData const False // JPAEmitterWorkData False // JPABaseParticle const* False // JPABaseParticle const False // JPABaseParticle False // JGeometry::TVec3* False // JGeometry::TVec3 True // f32 False extern "C" void func_8027833C(); // True False // f32 False // f32 False // f32 (& )[3][4] False // f32 False // & False // False extern "C" static void rotTypeY__FffRA3_A4_f(); // True False // f32 False // f32 False // f32 (& )[3][4] False // f32 False // & False // False extern "C" static void rotTypeX__FffRA3_A4_f(); // True False // f32 False // f32 False // f32 (& )[3][4] False // f32 False // & False // False extern "C" static void rotTypeZ__FffRA3_A4_f(); // True False // f32 False // f32 False // f32 (& )[3][4] False // f32 False // & False // False extern "C" static void rotTypeXYZ__FffRA3_A4_f(); // True False // f32 (* )[4] False // f32 False // * False // False // f32 False // f32 False extern "C" static void basePlaneTypeXY__FPA4_fff(); // True False // f32 (* )[4] False // f32 False // * False // False // f32 False // f32 False extern "C" static void basePlaneTypeXZ__FPA4_fff(); // True False // f32 (* )[4] False // f32 False // * False // False // f32 False // f32 False extern "C" static void basePlaneTypeX__FPA4_fff(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPADrawDirection__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPADrawRotDirection__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPADrawDBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPADrawRotation__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPADrawPoint__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPADrawLine__FP18JPAEmitterWorkDataP15JPABaseParticle(); // False True // JPANode* False // JPANode True // JPABaseParticle False extern "C" void func_80279364(); // False True // JPANode* False // JPANode True // JPABaseParticle False extern "C" void func_8027936C(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void JPADrawStripe__FP18JPAEmitterWorkData(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void JPADrawStripeX__FP18JPAEmitterWorkData(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void JPADrawEmitterCallBackB__FP18JPAEmitterWorkData(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False extern "C" void JPADrawParticleCallBack__FP18JPAEmitterWorkDataP15JPABaseParticle(); // True False // _GXColor** False // _GXColor* False // _GXColor False // JPAClrAnmKeyData const* False // JPAClrAnmKeyData const False // JPAClrAnmKeyData False // u8 False // s16 False // JKRHeap* False // JKRHeap False extern "C" static void makeColorTable__FPP8_GXColorPC16JPAClrAnmKeyDataUcsP7JKRHeap(); // False False // u8 const* False // u8 const False // u8 False // JKRHeap* False // JKRHeap False extern "C" void __ct__12JPABaseShapeFPCUcP7JKRHeap(); // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False extern "C" void setGX__12JPABaseShapeCFP18JPAEmitterWorkData(); extern "C" extern void* p_rot[5]; extern "C" extern void* p_plane[3]; extern "C" extern u8 st_bm__12JPABaseShape[12]; extern "C" extern u8 st_bf__12JPABaseShape[40]; extern "C" extern u8 st_lo__12JPABaseShape[64]; extern "C" extern u8 st_c__12JPABaseShape[32]; extern "C" extern u8 st_ao__12JPABaseShape[16]; extern "C" extern u8 st_ca__12JPABaseShape[96]; extern "C" extern u8 st_aa__12JPABaseShape[32 + 4 /* padding */]; // // External References: // // False True // JGeometry::TVec3* False // JGeometry::TVec3 True // f32 False extern "C" void func_8027EEB0(); // False False // u32 False // int False // JKRHeap* False // JKRHeap False extern "C" void alloc__7JKRHeapFUliP7JKRHeap(); // False False // _GXTexMapID False extern "C" void load__10JUTTextureF11_GXTexMapID(); // False False extern "C" void PSMTXConcat(); // False False extern "C" void PSMTXMultVec(); // False False extern "C" void PSMTXMultVecSR(); // False False extern "C" void PSMTXMultVecArraySR(); // False False extern "C" void PSVECCrossProduct(); // False False extern "C" void GXSetVtxDesc(); // False False extern "C" void GXSetTexCoordGen2(); // False False extern "C" void GXBegin(); // False False extern "C" void GXSetLineWidth(); // False False extern "C" void GXSetPointSize(); // False False extern "C" void GXSetTevDirect(); // False False extern "C" void GXSetTevColorIn(); // False False extern "C" void GXSetTevAlphaIn(); // False False extern "C" void GXSetTevColor(); // False False extern "C" void GXSetAlphaCompare(); // False False extern "C" void GXSetBlendMode(); // False False extern "C" void GXSetZMode(); // False False extern "C" void GXSetZCompLoc(); // False False extern "C" void GXCallDisplayList(); // False False extern "C" void GXLoadPosMtxImm(); // False False extern "C" void GXLoadTexMtxImm(); // False False extern "C" void _savegpr_22(); // False False extern "C" void _savegpr_24(); // False False extern "C" void _savegpr_28(); // False False extern "C" void _savegpr_29(); // False False extern "C" void _restgpr_22(); // False False extern "C" void _restgpr_24(); // False False extern "C" void _restgpr_28(); // False False extern "C" void _restgpr_29(); extern "C" extern u8 sincosTable___5JMath[65536]; extern "C" extern u32 __float_epsilon; // // Declarations: // /* ############################################################################################## */ /* 804552A8-804552B0 0004+04 s=7 e=0 z=0 None .sdata2 @2262 */ SECTION_SDATA2 static f32 lit_2262[1 + 1 /* padding */] = { 25.0f, /* padding */ 0.0f, }; /* 80276A90-80276ACC 003C+00 s=0 e=1 z=0 None .text JPASetPointSize__FP18JPAEmitterWorkData */ // 80276A9C: 804552A8 (lit_2262) // 80276AB8: 8035C8FC (GXSetPointSize) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm void JPASetPointSize(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPASetPointSize__FP18JPAEmitterWorkData.s" } #pragma pop /* 80276ACC-80276B08 003C+00 s=0 e=1 z=0 None .text JPASetLineWidth__FP18JPAEmitterWorkData */ // 80276AD8: 804552A8 (lit_2262) // 80276AF4: 8035C8BC (GXSetLineWidth) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm void JPASetLineWidth(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPASetLineWidth__FP18JPAEmitterWorkData.s" } #pragma pop /* 80276B08-80276B4C 0044+00 s=0 e=1 z=0 None .text JPASetPointSize__FP18JPAEmitterWorkDataP15JPABaseParticle */ // 80276B18: 804552A8 (lit_2262) // 80276B38: 8035C8FC (GXSetPointSize) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPASetPointSize(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPASetPointSize__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 80276B4C-80276B90 0044+00 s=0 e=1 z=0 None .text JPASetLineWidth__FP18JPAEmitterWorkDataP15JPABaseParticle */ // 80276B5C: 804552A8 (lit_2262) // 80276B7C: 8035C8BC (GXSetLineWidth) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPASetLineWidth(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPASetLineWidth__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 80276B90-80276C2C 009C+00 s=0 e=1 z=0 None .text JPARegistPrm__FP18JPAEmitterWorkData */ // 80276C18: 8035F37C (GXSetTevColor) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm void JPARegistPrm(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPARegistPrm__FP18JPAEmitterWorkData.s" } #pragma pop /* 80276C2C-80276CB0 0084+00 s=0 e=1 z=0 None .text JPARegistEnv__FP18JPAEmitterWorkData */ // 80276C9C: 8035F37C (GXSetTevColor) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm void JPARegistEnv(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPARegistEnv__FP18JPAEmitterWorkData.s" } #pragma pop /* 80276CB0-80276DB0 0100+00 s=0 e=1 z=0 None .text JPARegistPrmEnv__FP18JPAEmitterWorkData */ // 80276D88: 8035F37C (GXSetTevColor) // 80276D9C: 8035F37C (GXSetTevColor) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm void JPARegistPrmEnv(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPARegistPrmEnv__FP18JPAEmitterWorkData.s" } #pragma pop /* 80276DB0-80276E60 00B0+00 s=0 e=1 z=0 None .text JPARegistAlpha__FP18JPAEmitterWorkDataP15JPABaseParticle */ // 80276E4C: 8035F37C (GXSetTevColor) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPARegistAlpha(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPARegistAlpha__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 80276E60-80276F10 00B0+00 s=0 e=1 z=0 None .text JPARegistPrmAlpha__FP18JPAEmitterWorkDataP15JPABaseParticle */ // 80276EFC: 8035F37C (GXSetTevColor) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPARegistPrmAlpha(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPARegistPrmAlpha__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 80276F10-80277024 0114+00 s=0 e=1 z=0 None .text JPARegistPrmAlphaEnv__FP18JPAEmitterWorkDataP15JPABaseParticle */ // 80276FFC: 8035F37C (GXSetTevColor) // 80277010: 8035F37C (GXSetTevColor) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPARegistPrmAlphaEnv(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPARegistPrmAlphaEnv__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 80277024-80277138 0114+00 s=0 e=1 z=0 None .text JPARegistAlphaEnv__FP18JPAEmitterWorkDataP15JPABaseParticle */ // 80277110: 8035F37C (GXSetTevColor) // 80277124: 8035F37C (GXSetTevColor) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPARegistAlphaEnv(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPARegistAlphaEnv__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 80277138-802771BC 0084+00 s=0 e=1 z=0 None .text JPARegistEnv__FP18JPAEmitterWorkDataP15JPABaseParticle */ // 802771A8: 8035F37C (GXSetTevColor) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPARegistEnv(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPARegistEnv__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 802771BC-802771E8 002C+00 s=0 e=1 z=0 None .text JPACalcClrIdxNormal__FP18JPAEmitterWorkData */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm void JPACalcClrIdxNormal(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPACalcClrIdxNormal__FP18JPAEmitterWorkData.s" } #pragma pop /* 802771E8-80277210 0028+00 s=0 e=1 z=0 None .text JPACalcClrIdxNormal__FP18JPAEmitterWorkDataP15JPABaseParticle */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPACalcClrIdxNormal(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPACalcClrIdxNormal__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 80277210-80277240 0030+00 s=0 e=1 z=0 None .text JPACalcClrIdxRepeat__FP18JPAEmitterWorkData */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm void JPACalcClrIdxRepeat(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPACalcClrIdxRepeat__FP18JPAEmitterWorkData.s" } #pragma pop /* 80277240-8027727C 003C+00 s=0 e=1 z=0 None .text JPACalcClrIdxRepeat__FP18JPAEmitterWorkDataP15JPABaseParticle */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPACalcClrIdxRepeat(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPACalcClrIdxRepeat__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 8027727C-802772BC 0040+00 s=0 e=1 z=0 None .text JPACalcClrIdxReverse__FP18JPAEmitterWorkData */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm void JPACalcClrIdxReverse(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPACalcClrIdxReverse__FP18JPAEmitterWorkData.s" } #pragma pop /* 802772BC-80277308 004C+00 s=0 e=1 z=0 None .text JPACalcClrIdxReverse__FP18JPAEmitterWorkDataP15JPABaseParticle */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPACalcClrIdxReverse(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPACalcClrIdxReverse__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 80277308-80277314 000C+00 s=0 e=1 z=0 None .text JPACalcClrIdxMerge__FP18JPAEmitterWorkData */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm void JPACalcClrIdxMerge(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPACalcClrIdxMerge__FP18JPAEmitterWorkData.s" } #pragma pop /* ############################################################################################## */ /* 804552B0-804552B8 0008+00 s=4 e=0 z=0 None .sdata2 @2623 */ SECTION_SDATA2 static f64 lit_2623 = 4503601774854144.0 /* cast s32 to float */; /* 80277314-80277384 0070+00 s=0 e=1 z=0 None .text JPACalcClrIdxMerge__FP18JPAEmitterWorkDataP15JPABaseParticle */ // 8027733C: 804552B0 (lit_2623) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPACalcClrIdxMerge(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPACalcClrIdxMerge__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 80277384-80277390 000C+00 s=0 e=1 z=0 None .text JPACalcClrIdxRandom__FP18JPAEmitterWorkData */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm void JPACalcClrIdxRandom(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPACalcClrIdxRandom__FP18JPAEmitterWorkData.s" } #pragma pop /* 80277390-802773C4 0034+00 s=0 e=1 z=0 None .text JPACalcClrIdxRandom__FP18JPAEmitterWorkDataP15JPABaseParticle */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPACalcClrIdxRandom(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPACalcClrIdxRandom__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 802773C4-80277404 0040+00 s=0 e=1 z=0 None .text JPACalcPrm__FP18JPAEmitterWorkData */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm void JPACalcPrm(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPACalcPrm__FP18JPAEmitterWorkData.s" } #pragma pop /* 80277404-80277440 003C+00 s=0 e=1 z=0 None .text JPACalcPrm__FP18JPAEmitterWorkDataP15JPABaseParticle */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPACalcPrm(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPACalcPrm__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 80277440-80277480 0040+00 s=0 e=1 z=0 None .text JPACalcEnv__FP18JPAEmitterWorkData */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm void JPACalcEnv(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPACalcEnv__FP18JPAEmitterWorkData.s" } #pragma pop /* 80277480-802774BC 003C+00 s=0 e=1 z=0 None .text JPACalcEnv__FP18JPAEmitterWorkDataP15JPABaseParticle */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPACalcEnv(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPACalcEnv__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 802774BC-80277504 0048+00 s=0 e=1 z=0 None .text JPACalcColorCopy__FP18JPAEmitterWorkDataP15JPABaseParticle */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPACalcColorCopy(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPACalcColorCopy__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 80277504-8027753C 0038+00 s=0 e=1 z=0 None .text JPAGenTexCrdMtxIdt__FP18JPAEmitterWorkData */ // 80277528: 8035BB7C (GXSetTexCoordGen2) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm void JPAGenTexCrdMtxIdt(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPAGenTexCrdMtxIdt__FP18JPAEmitterWorkData.s" } #pragma pop /* 8027753C-80277574 0038+00 s=0 e=1 z=0 None .text JPAGenTexCrdMtxAnm__FP18JPAEmitterWorkData */ // 80277560: 8035BB7C (GXSetTexCoordGen2) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm void JPAGenTexCrdMtxAnm(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPAGenTexCrdMtxAnm__FP18JPAEmitterWorkData.s" } #pragma pop /* 80277574-802775AC 0038+00 s=0 e=1 z=0 None .text JPAGenTexCrdMtxPrj__FP18JPAEmitterWorkData */ // 80277598: 8035BB7C (GXSetTexCoordGen2) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm void JPAGenTexCrdMtxPrj(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPAGenTexCrdMtxPrj__FP18JPAEmitterWorkData.s" } #pragma pop /* ############################################################################################## */ /* 804552B8-804552BC 0004+00 s=9 e=0 z=0 None .sdata2 @2740 */ SECTION_SDATA2 static f32 lit_2740 = 0.5f; /* 804552BC-804552C0 0004+00 s=14 e=0 z=0 None .sdata2 @2741 */ SECTION_SDATA2 static f32 lit_2741 = 1.0f; /* 804552C0-804552C8 0004+04 s=19 e=0 z=0 None .sdata2 @2742 */ SECTION_SDATA2 static f32 lit_2742[1 + 1 /* padding */] = { 0.0f, /* padding */ 0.0f, }; /* 804552C8-804552D0 0008+00 s=6 e=0 z=0 None .sdata2 @2744 */ SECTION_SDATA2 static f64 lit_2744 = 4503599627370496.0 /* cast u32 to float */; /* 802775AC-80277758 01AC+00 s=0 e=1 z=0 None .text JPAGenCalcTexCrdMtxAnm__FP18JPAEmitterWorkData */ // 802775C8: 804552C8 (lit_2744) // 802775E0: 804552B8 (lit_2740) // 802775E4: 804552BC (lit_2741) // 8027768C: 80439A20 (sincosTable___5JMath) // 80277690: 80439A20 (sincosTable___5JMath) // 802776B4: 804552C0 (lit_2742) // 80277728: 80360320 (GXLoadTexMtxImm) // 80277744: 8035BB7C (GXSetTexCoordGen2) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm void JPAGenCalcTexCrdMtxAnm(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPAGenCalcTexCrdMtxAnm__FP18JPAEmitterWorkData.s" } #pragma pop /* 80277758-802778EC 0194+00 s=0 e=1 z=0 None .text JPALoadCalcTexCrdMtxAnm__FP18JPAEmitterWorkDataP15JPABaseParticle */ // 80277770: 804552B0 (lit_2623) // 8027778C: 804552B8 (lit_2740) // 80277790: 804552BC (lit_2741) // 802777A0: 804552C8 (lit_2744) // 8027783C: 80439A20 (sincosTable___5JMath) // 80277840: 80439A20 (sincosTable___5JMath) // 80277864: 804552C0 (lit_2742) // 802778D8: 80360320 (GXLoadTexMtxImm) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPALoadCalcTexCrdMtxAnm(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPALoadCalcTexCrdMtxAnm__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 802778EC-80277940 0054+00 s=0 e=1 z=0 None .text JPALoadTex__FP18JPAEmitterWorkData */ // 8027792C: 802DE840 (load__10JUTTextureF11_GXTexMapID) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm void JPALoadTex(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPALoadTex__FP18JPAEmitterWorkData.s" } #pragma pop /* 80277940-80277990 0050+00 s=0 e=1 z=0 None .text JPALoadTexAnm__FP18JPAEmitterWorkData */ // 8027797C: 802DE840 (load__10JUTTextureF11_GXTexMapID) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm void JPALoadTexAnm(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPALoadTexAnm__FP18JPAEmitterWorkData.s" } #pragma pop /* 80277990-802779DC 004C+00 s=0 e=1 z=0 None .text JPALoadTexAnm__FP18JPAEmitterWorkDataP15JPABaseParticle */ // 802779C8: 802DE840 (load__10JUTTextureF11_GXTexMapID) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPALoadTexAnm(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPALoadTexAnm__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 802779DC-80277A18 003C+00 s=0 e=1 z=0 None .text JPACalcTexIdxNormal__FP18JPAEmitterWorkData */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm void JPACalcTexIdxNormal(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPACalcTexIdxNormal__FP18JPAEmitterWorkData.s" } #pragma pop /* 80277A18-80277A50 0038+00 s=0 e=1 z=0 None .text JPACalcTexIdxNormal__FP18JPAEmitterWorkDataP15JPABaseParticle */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPACalcTexIdxNormal(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPACalcTexIdxNormal__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 80277A50-80277A88 0038+00 s=0 e=1 z=0 None .text JPACalcTexIdxRepeat__FP18JPAEmitterWorkData */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm void JPACalcTexIdxRepeat(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPACalcTexIdxRepeat__FP18JPAEmitterWorkData.s" } #pragma pop /* 80277A88-80277ACC 0044+00 s=0 e=1 z=0 None .text JPACalcTexIdxRepeat__FP18JPAEmitterWorkDataP15JPABaseParticle */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPACalcTexIdxRepeat(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPACalcTexIdxRepeat__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 80277ACC-80277B1C 0050+00 s=0 e=1 z=0 None .text JPACalcTexIdxReverse__FP18JPAEmitterWorkData */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm void JPACalcTexIdxReverse(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPACalcTexIdxReverse__FP18JPAEmitterWorkData.s" } #pragma pop /* 80277B1C-80277B78 005C+00 s=0 e=1 z=0 None .text JPACalcTexIdxReverse__FP18JPAEmitterWorkDataP15JPABaseParticle */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPACalcTexIdxReverse(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPACalcTexIdxReverse__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 80277B78-80277B94 001C+00 s=0 e=1 z=0 None .text JPACalcTexIdxMerge__FP18JPAEmitterWorkData */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm void JPACalcTexIdxMerge(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPACalcTexIdxMerge__FP18JPAEmitterWorkData.s" } #pragma pop /* 80277B94-80277C0C 0078+00 s=0 e=1 z=0 None .text JPACalcTexIdxMerge__FP18JPAEmitterWorkDataP15JPABaseParticle */ // 80277BB8: 804552B0 (lit_2623) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPACalcTexIdxMerge(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPACalcTexIdxMerge__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 80277C0C-80277C28 001C+00 s=0 e=1 z=0 None .text JPACalcTexIdxRandom__FP18JPAEmitterWorkData */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm void JPACalcTexIdxRandom(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPACalcTexIdxRandom__FP18JPAEmitterWorkData.s" } #pragma pop /* 80277C28-80277C64 003C+00 s=0 e=1 z=0 None .text JPACalcTexIdxRandom__FP18JPAEmitterWorkDataP15JPABaseParticle */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPACalcTexIdxRandom(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPACalcTexIdxRandom__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 80277C64-80277C8C 0028+00 s=0 e=1 z=0 None .text JPALoadPosMtxCam__FP18JPAEmitterWorkData */ // 80277C78: 8036024C (GXLoadPosMtxImm) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm void JPALoadPosMtxCam(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPALoadPosMtxCam__FP18JPAEmitterWorkData.s" } #pragma pop /* 80277C8C-80277C90 0004+00 s=1 e=0 z=0 None .text noLoadPrj__FPC18JPAEmitterWorkDataPA4_Cf */ // True False // void False // JPAEmitterWorkData const* False // JPAEmitterWorkData const False // JPAEmitterWorkData False // f32 const (* )[4] False // f32 const False // f32 False // * False // False static void noLoadPrj(JPAEmitterWorkData const* param_0, f32 const (* param_1)[4]) { /* empty function */ } /* 80277C90-80277CC8 0038+00 s=1 e=0 z=0 None .text loadPrj__FPC18JPAEmitterWorkDataPA4_Cf */ // 80277CA4: 803464E4 (PSMTXConcat) // 80277CB4: 80360320 (GXLoadTexMtxImm) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // JPAEmitterWorkData const* False // JPAEmitterWorkData const False // JPAEmitterWorkData False // f32 const (* )[4] False // f32 const False // f32 False // * False // False asm static void loadPrj(JPAEmitterWorkData const* param_0, f32 const (* param_1)[4]) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/loadPrj__FPC18JPAEmitterWorkDataPA4_Cf.s" } #pragma pop /* 80277CC8-80277E88 01C0+00 s=1 e=0 z=0 None .text loadPrjAnm__FPC18JPAEmitterWorkDataPA4_Cf */ // 80277CF0: 804552C8 (lit_2744) // 80277D08: 804552B8 (lit_2740) // 80277D0C: 804552BC (lit_2741) // 80277DB4: 80439A20 (sincosTable___5JMath) // 80277DB8: 80439A20 (sincosTable___5JMath) // 80277DFC: 804552C0 (lit_2742) // 80277E50: 803464E4 (PSMTXConcat) // 80277E60: 803464E4 (PSMTXConcat) // 80277E70: 80360320 (GXLoadTexMtxImm) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // JPAEmitterWorkData const* False // JPAEmitterWorkData const False // JPAEmitterWorkData False // f32 const (* )[4] False // f32 const False // f32 False // * False // False asm static void loadPrjAnm(JPAEmitterWorkData const* param_0, f32 const (* param_1)[4]) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/loadPrjAnm__FPC18JPAEmitterWorkDataPA4_Cf.s" } #pragma pop /* ############################################################################################## */ /* 803C42E0-803C4300 0020+00 s=10 e=0 z=0 None .data jpa_dl */ SECTION_DATA static u8 jpa_dl[32] = { 0x80, 0x00, 0x04, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 803C4300-803C4320 0020+00 s=1 e=0 z=0 None .data jpa_dl_x */ SECTION_DATA static u8 jpa_dl_x[32] = { 0x80, 0x00, 0x08, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x48, 0x00, 0x49, 0x01, 0x4A, 0x02, 0x4B, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 803C4320-803C432C 000C+00 s=6 e=0 z=0 None .data p_prj */ SECTION_DATA static void* p_prj[3] = { (void*)noLoadPrj__FPC18JPAEmitterWorkDataPA4_Cf, (void*)loadPrj__FPC18JPAEmitterWorkDataPA4_Cf, (void*)loadPrjAnm__FPC18JPAEmitterWorkDataPA4_Cf, }; /* 80277E88-80277F70 00E8+00 s=0 e=1 z=0 None .text JPADrawBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle */ // 80277EB8: 80346D6C (PSMTXMultVec) // 80277EEC: 804552BC (lit_2741) // 80277EFC: 804552C0 (lit_2742) // 80277F20: 8036024C (GXLoadPosMtxImm) // 80277F34: 803C4320 (p_prj) // 80277F38: 803C4320 (p_prj) // 80277F48: 803C42E0 (jpa_dl) // 80277F4C: 803C42E0 (jpa_dl) // 80277F54: 8035FEF0 (GXCallDisplayList) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPADrawBillboard(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPADrawBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 80277F70-80278088 0118+00 s=0 e=1 z=0 None .text JPADrawRotBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle */ // 80277FA0: 80346D6C (PSMTXMultVec) // 80277FAC: 80439A20 (sincosTable___5JMath) // 80277FB0: 80439A20 (sincosTable___5JMath) // 8027800C: 804552BC (lit_2741) // 8027801C: 804552C0 (lit_2742) // 80278038: 8036024C (GXLoadPosMtxImm) // 8027804C: 803C4320 (p_prj) // 80278050: 803C4320 (p_prj) // 80278060: 803C42E0 (jpa_dl) // 80278064: 803C42E0 (jpa_dl) // 8027806C: 8035FEF0 (GXCallDisplayList) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPADrawRotBillboard(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPADrawRotBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 80278088-80278184 00FC+00 s=0 e=1 z=0 None .text JPADrawYBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle */ // 802780B8: 80346D6C (PSMTXMultVec) // 80278118: 804552C0 (lit_2742) // 80278134: 8036024C (GXLoadPosMtxImm) // 80278148: 803C4320 (p_prj) // 8027814C: 803C4320 (p_prj) // 8027815C: 803C42E0 (jpa_dl) // 80278160: 803C42E0 (jpa_dl) // 80278168: 8035FEF0 (GXCallDisplayList) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPADrawYBillboard(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPADrawYBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 80278184-802782B4 0130+00 s=0 e=1 z=0 None .text JPADrawRotYBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle */ // 802781B4: 80346D6C (PSMTXMultVec) // 802781C0: 80439A20 (sincosTable___5JMath) // 802781C4: 80439A20 (sincosTable___5JMath) // 80278210: 804552C0 (lit_2742) // 80278264: 8036024C (GXLoadPosMtxImm) // 80278278: 803C4320 (p_prj) // 8027827C: 803C4320 (p_prj) // 8027828C: 803C42E0 (jpa_dl) // 80278290: 803C42E0 (jpa_dl) // 80278298: 8035FEF0 (GXCallDisplayList) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPADrawRotYBillboard(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPADrawRotYBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 802782B4-802782D0 001C+00 s=1 e=0 z=0 None .text dirTypeVel__FPC18JPAEmitterWorkDataPC15JPABaseParticlePQ29JGeometry8TVec3 */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False True // JPAEmitterWorkData const* False // JPAEmitterWorkData const False // JPAEmitterWorkData False // JPABaseParticle const* False // JPABaseParticle const False // JPABaseParticle False // JGeometry::TVec3* False // JGeometry::TVec3 True // f32 False asm void dirTypeVel(JPAEmitterWorkData const* param_0, JPABaseParticle const* param_1, JGeometry::TVec3* param_2) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/func_802782B4.s" } #pragma pop /* 802782D0-802782EC 001C+00 s=1 e=0 z=0 None .text dirTypePos__FPC18JPAEmitterWorkDataPC15JPABaseParticlePQ29JGeometry8TVec3 */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False True // JPAEmitterWorkData const* False // JPAEmitterWorkData const False // JPAEmitterWorkData False // JPABaseParticle const* False // JPABaseParticle const False // JPABaseParticle False // JGeometry::TVec3* False // JGeometry::TVec3 True // f32 False asm void dirTypePos(JPAEmitterWorkData const* param_0, JPABaseParticle const* param_1, JGeometry::TVec3* param_2) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/func_802782D0.s" } #pragma pop /* 802782EC-80278320 0034+00 s=1 e=0 z=0 None .text dirTypePosInv__FPC18JPAEmitterWorkDataPC15JPABaseParticlePQ29JGeometry8TVec3 */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False True // JPAEmitterWorkData const* False // JPAEmitterWorkData const False // JPAEmitterWorkData False // JPABaseParticle const* False // JPABaseParticle const False // JPABaseParticle False // JGeometry::TVec3* False // JGeometry::TVec3 True // f32 False asm void dirTypePosInv(JPAEmitterWorkData const* param_0, JPABaseParticle const* param_1, JGeometry::TVec3* param_2) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/func_802782EC.s" } #pragma pop /* 80278320-8027833C 001C+00 s=1 e=0 z=0 None .text dirTypeEmtrDir__FPC18JPAEmitterWorkDataPC15JPABaseParticlePQ29JGeometry8TVec3 */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False True // JPAEmitterWorkData const* False // JPAEmitterWorkData const False // JPAEmitterWorkData False // JPABaseParticle const* False // JPABaseParticle const False // JPABaseParticle False // JGeometry::TVec3* False // JGeometry::TVec3 True // f32 False asm void dirTypeEmtrDir(JPAEmitterWorkData const* param_0, JPABaseParticle const* param_1, JGeometry::TVec3* param_2) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/func_80278320.s" } #pragma pop /* 8027833C-802783D4 0098+00 s=1 e=0 z=0 None .text dirTypePrevPtcl__FPC18JPAEmitterWorkDataPC15JPABaseParticlePQ29JGeometry8TVec3 */ // 8027839C: 8027EEB0 (func_8027EEB0) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False True // JPAEmitterWorkData const* False // JPAEmitterWorkData const False // JPAEmitterWorkData False // JPABaseParticle const* False // JPABaseParticle const False // JPABaseParticle False // JGeometry::TVec3* False // JGeometry::TVec3 True // f32 False asm void dirTypePrevPtcl(JPAEmitterWorkData const* param_0, JPABaseParticle const* param_1, JGeometry::TVec3* param_2) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/func_8027833C.s" } #pragma pop /* 802783D4-80278414 0040+00 s=1 e=0 z=0 None .text rotTypeY__FffRA3_A4_f */ // 802783D8: 804552C0 (lit_2742) // 802783F0: 804552BC (lit_2741) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // f32 False // f32 False // f32 (& )[3][4] False // f32 False // & False // False asm static void rotTypeY(f32 param_0, f32 param_1, f32 (& param_2)[3][4]) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/rotTypeY__FffRA3_A4_f.s" } #pragma pop /* 80278414-80278454 0040+00 s=1 e=0 z=0 None .text rotTypeX__FffRA3_A4_f */ // 80278414: 804552BC (lit_2741) // 8027841C: 804552C0 (lit_2742) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // f32 False // f32 False // f32 (& )[3][4] False // f32 False // & False // False asm static void rotTypeX(f32 param_0, f32 param_1, f32 (& param_2)[3][4]) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/rotTypeX__FffRA3_A4_f.s" } #pragma pop /* 80278454-80278494 0040+00 s=1 e=0 z=0 None .text rotTypeZ__FffRA3_A4_f */ // 80278460: 804552C0 (lit_2742) // 80278484: 804552BC (lit_2741) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // f32 False // f32 False // f32 (& )[3][4] False // f32 False // & False // False asm static void rotTypeZ(f32 param_0, f32 param_1, f32 (& param_2)[3][4]) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/rotTypeZ__FffRA3_A4_f.s" } #pragma pop /* ############################################################################################## */ /* 804552D0-804552D4 0004+00 s=1 e=0 z=0 None .sdata2 @3145 */ SECTION_SDATA2 static f32 lit_3145 = 0.33333298563957214f; /* 804552D4-804552D8 0004+00 s=1 e=0 z=0 None .sdata2 @3146 */ SECTION_SDATA2 static f32 lit_3146 = 0.5773500204086304f; /* 80278494-802784F0 005C+00 s=1 e=0 z=0 None .text rotTypeXYZ__FffRA3_A4_f */ // 80278494: 804552D0 (lit_3145) // 80278498: 804552BC (lit_2741) // 802784A4: 804552D4 (lit_3146) // 802784C4: 804552C0 (lit_2742) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // f32 False // f32 False // f32 (& )[3][4] False // f32 False // & False // False asm static void rotTypeXYZ(f32 param_0, f32 param_1, f32 (& param_2)[3][4]) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/rotTypeXYZ__FffRA3_A4_f.s" } #pragma pop /* 802784F0-8027853C 004C+00 s=1 e=0 z=0 None .text basePlaneTypeXY__FPA4_fff */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // f32 (* )[4] False // f32 False // * False // False // f32 False // f32 False asm static void basePlaneTypeXY(f32 (* param_0)[4], f32 param_1, f32 param_2) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/basePlaneTypeXY__FPA4_fff.s" } #pragma pop /* 8027853C-80278588 004C+00 s=1 e=0 z=0 None .text basePlaneTypeXZ__FPA4_fff */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // f32 (* )[4] False // f32 False // * False // False // f32 False // f32 False asm static void basePlaneTypeXZ(f32 (* param_0)[4], f32 param_1, f32 param_2) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/basePlaneTypeXZ__FPA4_fff.s" } #pragma pop /* 80278588-802785F8 0070+00 s=1 e=0 z=0 None .text basePlaneTypeX__FPA4_fff */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // f32 (* )[4] False // f32 False // * False // False // f32 False // f32 False asm static void basePlaneTypeX(f32 (* param_0)[4], f32 param_1, f32 param_2) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/basePlaneTypeX__FPA4_fff.s" } #pragma pop /* ############################################################################################## */ /* 804507A0-804507A8 0008+00 s=3 e=0 z=0 None .sdata p_dl */ SECTION_SDATA static void* p_dl[2] = { (void*)&jpa_dl, (void*)&jpa_dl_x, }; /* 804552D8-804552DC 0004+00 s=6 e=0 z=0 None .sdata2 @3281 */ SECTION_SDATA2 static f32 lit_3281 = 32.0f; /* 804552DC-804552E0 0004+00 s=6 e=0 z=0 None .sdata2 @3282 */ SECTION_SDATA2 static f32 lit_3282 = 3.0f; /* 802785F8-80278994 039C+00 s=0 e=1 z=0 None .text JPADrawDirection__FP18JPAEmitterWorkDataP15JPABaseParticle */ // 80278638: 803621DC (_savegpr_29) // 80278644: 803C42E0 (jpa_dl) // 80278648: 803C42E0 (jpa_dl) // 80278688: 804552D8 (lit_3281) // 8027868C: 80450AEC (__float_epsilon) // 80278690: 80450AEC (__float_epsilon) // 802786C0: 804552C0 (lit_2742) // 802786E0: 804552B8 (lit_2740) // 802786E8: 804552DC (lit_3282) // 80278724: 803471B4 (PSVECCrossProduct) // 8027873C: 804552D8 (lit_3281) // 80278740: 80450AEC (__float_epsilon) // 80278744: 80450AEC (__float_epsilon) // 80278774: 804552C0 (lit_2742) // 80278794: 804552B8 (lit_2740) // 8027879C: 804552DC (lit_3282) // 802787D8: 803471B4 (PSVECCrossProduct) // 802787F0: 804552D8 (lit_3281) // 802787F4: 80450AEC (__float_epsilon) // 802787F8: 80450AEC (__float_epsilon) // 8027880C: 804552C0 (lit_2742) // 8027882C: 804552B8 (lit_2740) // 80278834: 804552DC (lit_3282) // 80278904: 803464E4 (PSMTXConcat) // 80278910: 8036024C (GXLoadPosMtxImm) // 8027893C: 804507A0 (p_dl) // 80278948: 8035FEF0 (GXCallDisplayList) // 80278980: 80362228 (_restgpr_29) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPADrawDirection(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPADrawDirection__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 80278994-80278DA8 0414+00 s=0 e=1 z=0 None .text JPADrawRotDirection__FP18JPAEmitterWorkDataP15JPABaseParticle */ // 802789E4: 803621DC (_savegpr_29) // 802789F0: 803C42E0 (jpa_dl) // 802789F4: 803C42E0 (jpa_dl) // 80278A0C: 80439A20 (sincosTable___5JMath) // 80278A10: 80439A20 (sincosTable___5JMath) // 80278A50: 804552D8 (lit_3281) // 80278A54: 80450AEC (__float_epsilon) // 80278A58: 80450AEC (__float_epsilon) // 80278A88: 804552C0 (lit_2742) // 80278AA8: 804552B8 (lit_2740) // 80278AB0: 804552DC (lit_3282) // 80278AEC: 803471B4 (PSVECCrossProduct) // 80278B04: 804552D8 (lit_3281) // 80278B08: 80450AEC (__float_epsilon) // 80278B0C: 80450AEC (__float_epsilon) // 80278B3C: 804552C0 (lit_2742) // 80278B5C: 804552B8 (lit_2740) // 80278B64: 804552DC (lit_3282) // 80278BA0: 803471B4 (PSVECCrossProduct) // 80278BB8: 804552D8 (lit_3281) // 80278BBC: 80450AEC (__float_epsilon) // 80278BC0: 80450AEC (__float_epsilon) // 80278BD4: 804552C0 (lit_2742) // 80278BF4: 804552B8 (lit_2740) // 80278BFC: 804552DC (lit_3282) // 80278CF8: 803464E4 (PSMTXConcat) // 80278D08: 803464E4 (PSMTXConcat) // 80278D14: 8036024C (GXLoadPosMtxImm) // 80278D40: 804507A0 (p_dl) // 80278D4C: 8035FEF0 (GXCallDisplayList) // 80278D94: 80362228 (_restgpr_29) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPADrawRotDirection(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPADrawRotDirection__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 80278DA8-80278FC8 0220+00 s=0 e=1 z=0 None .text JPADrawDBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle */ // 80278DC8: 803621DC (_savegpr_29) // 80278DD4: 803C42E0 (jpa_dl) // 80278DD8: 803C42E0 (jpa_dl) // 80278E28: 803471B4 (PSVECCrossProduct) // 80278E40: 804552D8 (lit_3281) // 80278E44: 80450AEC (__float_epsilon) // 80278E48: 80450AEC (__float_epsilon) // 80278E78: 804552C0 (lit_2742) // 80278E98: 804552B8 (lit_2740) // 80278EA0: 804552DC (lit_3282) // 80278EDC: 80346E4C (PSMTXMultVecSR) // 80278EEC: 80346D6C (PSMTXMultVec) // 80278F44: 804552BC (lit_2741) // 80278F54: 804552C0 (lit_2742) // 80278F70: 8036024C (GXLoadPosMtxImm) // 80278F9C: 8035FEF0 (GXCallDisplayList) // 80278FB4: 80362228 (_restgpr_29) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPADrawDBillboard(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPADrawDBillboard__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 80278FC8-80279110 0148+00 s=0 e=1 z=0 None .text JPADrawRotation__FP18JPAEmitterWorkDataP15JPABaseParticle */ // 80278FE8: 803621DC (_savegpr_29) // 80278FF4: 803C42E0 (jpa_dl) // 80278FF8: 803C42E0 (jpa_dl) // 80279010: 80439A20 (sincosTable___5JMath) // 80279014: 80439A20 (sincosTable___5JMath) // 802790A0: 803464E4 (PSMTXConcat) // 802790AC: 8036024C (GXLoadPosMtxImm) // 802790D8: 804507A0 (p_dl) // 802790E4: 8035FEF0 (GXCallDisplayList) // 802790FC: 80362228 (_restgpr_29) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPADrawRotation(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPADrawRotation__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 80279110-802791B0 00A0+00 s=0 e=1 z=0 None .text JPADrawPoint__FP18JPAEmitterWorkDataP15JPABaseParticle */ // 80279138: 8035AEB8 (GXSetVtxDesc) // 80279144: 8035AEB8 (GXSetVtxDesc) // 80279154: 8035C764 (GXBegin) // 80279174: 804552C0 (lit_2742) // 8027917C: 804552C0 (lit_2742) // 8027918C: 8035AEB8 (GXSetVtxDesc) // 80279198: 8035AEB8 (GXSetVtxDesc) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPADrawPoint(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPADrawPoint__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 802791B0-80279364 01B4+00 s=0 e=1 z=0 None .text JPADrawLine__FP18JPAEmitterWorkDataP15JPABaseParticle */ // 80279200: 804552D8 (lit_3281) // 80279204: 80450AEC (__float_epsilon) // 80279208: 80450AEC (__float_epsilon) // 80279220: 804552A8 (lit_2262) // 8027924C: 804552C0 (lit_2742) // 80279268: 804552B8 (lit_2740) // 80279270: 804552DC (lit_3282) // 802792C8: 8035AEB8 (GXSetVtxDesc) // 802792D4: 8035AEB8 (GXSetVtxDesc) // 802792E4: 8035C764 (GXBegin) // 80279304: 804552C0 (lit_2742) // 8027930C: 804552C0 (lit_2742) // 8027932C: 804552C0 (lit_2742) // 80279334: 804552BC (lit_2741) // 80279344: 8035AEB8 (GXSetVtxDesc) // 80279350: 8035AEB8 (GXSetVtxDesc) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPADrawLine(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPADrawLine__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 80279364-8027936C 0008+00 s=2 e=0 z=0 None .text getNext__FP26JPANode<15JPABaseParticle> */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False True // JPANode* False // JPANode True // JPABaseParticle False asm void getNext(JPANode* param_0) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/func_80279364.s" } #pragma pop /* 8027936C-80279374 0008+00 s=2 e=0 z=0 None .text getPrev__FP26JPANode<15JPABaseParticle> */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False True // JPANode* False // JPANode True // JPABaseParticle False asm void getPrev(JPANode* param_0) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/func_8027936C.s" } #pragma pop /* ############################################################################################## */ /* 803C432C-803C4340 0014+00 s=2 e=0 z=0 None .data p_direction */ SECTION_DATA static void* p_direction[5] = { (void*)func_802782B4, (void*)func_802782D0, (void*)func_802782EC, (void*)func_80278320, (void*)func_8027833C, }; /* 80279374-8027996C 05F8+00 s=0 e=1 z=0 None .text JPADrawStripe__FP18JPAEmitterWorkData */ // 802793FC: 803621C8 (_savegpr_24) // 8027941C: 804552C0 (lit_2742) // 80279420: 804552BC (lit_2741) // 80279424: 804552C8 (lit_2744) // 8027944C: 804552A8 (lit_2262) // 80279478: 8027936C (func_8027936C) // 8027947C: 8027936C (func_8027936C) // 80279494: 80279364 (func_80279364) // 80279498: 80279364 (func_80279364) // 802794A8: 8036024C (GXLoadPosMtxImm) // 802794BC: 803C4320 (p_prj) // 802794C0: 803C4320 (p_prj) // 802794D8: 8035AEB8 (GXSetVtxDesc) // 802794E4: 8035AEB8 (GXSetVtxDesc) // 802794F4: 8035C764 (GXBegin) // 802794FC: 80439A20 (sincosTable___5JMath) // 80279500: 80439A20 (sincosTable___5JMath) // 80279504: 804552C0 (lit_2742) // 80279508: 803C432C (p_direction) // 8027950C: 803C432C (p_direction) // 80279510: 804552D8 (lit_3281) // 80279514: 80450AEC (__float_epsilon) // 80279518: 80450AEC (__float_epsilon) // 802795E4: 804552C0 (lit_2742) // 802795EC: 804552BC (lit_2741) // 8027960C: 80450AEC (__float_epsilon) // 80279610: 80450AEC (__float_epsilon) // 80279624: 804552C0 (lit_2742) // 80279644: 804552B8 (lit_2740) // 8027964C: 804552DC (lit_3282) // 80279688: 803471B4 (PSVECCrossProduct) // 802796B4: 804552BC (lit_2741) // 802796BC: 804552C0 (lit_2742) // 802796DC: 80450AEC (__float_epsilon) // 802796E0: 80450AEC (__float_epsilon) // 802796F4: 804552C0 (lit_2742) // 80279714: 804552B8 (lit_2740) // 8027971C: 804552DC (lit_3282) // 80279758: 803471B4 (PSVECCrossProduct) // 80279784: 804552C0 (lit_2742) // 802797A4: 804552B8 (lit_2740) // 802797AC: 804552DC (lit_3282) // 80279840: 80346EA0 (PSMTXMultVecArraySR) // 80279868: 804552C0 (lit_2742) // 80279898: 804552BC (lit_2741) // 802798CC: 8035AEB8 (GXSetVtxDesc) // 802798D8: 8035AEB8 (GXSetVtxDesc) // 80279958: 80362214 (_restgpr_24) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm void JPADrawStripe(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPADrawStripe__FP18JPAEmitterWorkData.s" } #pragma pop /* 8027996C-8027A3D8 0A6C+00 s=0 e=1 z=0 None .text JPADrawStripeX__FP18JPAEmitterWorkData */ // 80279A0C: 803621C0 (_savegpr_22) // 80279A2C: 804552C0 (lit_2742) // 80279A34: 804552BC (lit_2741) // 80279A38: 804552C8 (lit_2744) // 80279A60: 804552A8 (lit_2262) // 80279AB8: 8027936C (func_8027936C) // 80279ABC: 8027936C (func_8027936C) // 80279AD8: 80279364 (func_80279364) // 80279ADC: 80279364 (func_80279364) // 80279AEC: 8036024C (GXLoadPosMtxImm) // 80279B00: 803C4320 (p_prj) // 80279B04: 803C4320 (p_prj) // 80279B1C: 8035AEB8 (GXSetVtxDesc) // 80279B28: 8035AEB8 (GXSetVtxDesc) // 80279B3C: 8035C764 (GXBegin) // 80279B44: 80439A20 (sincosTable___5JMath) // 80279B48: 80439A20 (sincosTable___5JMath) // 80279B4C: 804552C0 (lit_2742) // 80279B50: 803C432C (p_direction) // 80279B54: 803C432C (p_direction) // 80279B58: 804552D8 (lit_3281) // 80279B5C: 80450AEC (__float_epsilon) // 80279B60: 80450AEC (__float_epsilon) // 80279C3C: 804552C0 (lit_2742) // 80279C44: 804552BC (lit_2741) // 80279C64: 80450AEC (__float_epsilon) // 80279C68: 80450AEC (__float_epsilon) // 80279C7C: 804552C0 (lit_2742) // 80279C9C: 804552B8 (lit_2740) // 80279CA4: 804552DC (lit_3282) // 80279CE0: 803471B4 (PSVECCrossProduct) // 80279D0C: 804552BC (lit_2741) // 80279D14: 804552C0 (lit_2742) // 80279D34: 80450AEC (__float_epsilon) // 80279D38: 80450AEC (__float_epsilon) // 80279D4C: 804552C0 (lit_2742) // 80279D6C: 804552B8 (lit_2740) // 80279D74: 804552DC (lit_3282) // 80279DB0: 803471B4 (PSVECCrossProduct) // 80279DDC: 804552C0 (lit_2742) // 80279DFC: 804552B8 (lit_2740) // 80279E04: 804552DC (lit_3282) // 80279E98: 80346EA0 (PSMTXMultVecArraySR) // 80279EC8: 804552C0 (lit_2742) // 80279F00: 804552BC (lit_2741) // 80279F3C: 8035C764 (GXBegin) // 80279F44: 80439A20 (sincosTable___5JMath) // 80279F48: 80439A20 (sincosTable___5JMath) // 80279F4C: 804552C0 (lit_2742) // 80279F50: 803C432C (p_direction) // 80279F54: 803C432C (p_direction) // 80279F58: 804552D8 (lit_3281) // 80279F5C: 80450AEC (__float_epsilon) // 80279F60: 80450AEC (__float_epsilon) // 8027A038: 804552C0 (lit_2742) // 8027A040: 804552BC (lit_2741) // 8027A060: 80450AEC (__float_epsilon) // 8027A064: 80450AEC (__float_epsilon) // 8027A078: 804552C0 (lit_2742) // 8027A098: 804552B8 (lit_2740) // 8027A0A0: 804552DC (lit_3282) // 8027A0DC: 803471B4 (PSVECCrossProduct) // 8027A108: 804552BC (lit_2741) // 8027A110: 804552C0 (lit_2742) // 8027A130: 80450AEC (__float_epsilon) // 8027A134: 80450AEC (__float_epsilon) // 8027A148: 804552C0 (lit_2742) // 8027A168: 804552B8 (lit_2740) // 8027A170: 804552DC (lit_3282) // 8027A1AC: 803471B4 (PSVECCrossProduct) // 8027A1D8: 804552C0 (lit_2742) // 8027A1F8: 804552B8 (lit_2740) // 8027A200: 804552DC (lit_3282) // 8027A294: 80346EA0 (PSMTXMultVecArraySR) // 8027A2BC: 804552C0 (lit_2742) // 8027A2EC: 804552BC (lit_2741) // 8027A320: 8035AEB8 (GXSetVtxDesc) // 8027A32C: 8035AEB8 (GXSetVtxDesc) // 8027A3C4: 8036220C (_restgpr_22) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm void JPADrawStripeX(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPADrawStripeX__FP18JPAEmitterWorkData.s" } #pragma pop /* 8027A3D8-8027A414 003C+00 s=0 e=1 z=0 None .text JPADrawEmitterCallBackB__FP18JPAEmitterWorkData */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm void JPADrawEmitterCallBackB(JPAEmitterWorkData* param_0) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPADrawEmitterCallBackB__FP18JPAEmitterWorkData.s" } #pragma pop /* 8027A414-8027A454 0040+00 s=0 e=1 z=0 None .text JPADrawParticleCallBack__FP18JPAEmitterWorkDataP15JPABaseParticle */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False // JPABaseParticle* False // JPABaseParticle False asm void JPADrawParticleCallBack(JPAEmitterWorkData* param_0, JPABaseParticle* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/JPADrawParticleCallBack__FP18JPAEmitterWorkDataP15JPABaseParticle.s" } #pragma pop /* 8027A454-8027A6DC 0288+00 s=1 e=0 z=0 None .text makeColorTable__FPP8_GXColorPC16JPAClrAnmKeyDataUcsP7JKRHeap */ // 8027A464: 803621D8 (_savegpr_28) // 8027A488: 802CE474 (alloc__7JKRHeapFUliP7JKRHeap) // 8027A48C: 804552C0 (lit_2742) // 8027A4A0: 804552C8 (lit_2744) // 8027A548: 804552C8 (lit_2744) // 8027A5A0: 804552BC (lit_2741) // 8027A5B4: 804552B0 (lit_2623) // 8027A644: 804552C0 (lit_2742) // 8027A6C8: 80362224 (_restgpr_28) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // _GXColor** False // _GXColor* False // _GXColor False // JPAClrAnmKeyData const* False // JPAClrAnmKeyData const False // JPAClrAnmKeyData False // u8 False // s16 False // JKRHeap* False // JKRHeap False asm static void makeColorTable(_GXColor** param_0, JPAClrAnmKeyData const* param_1, u8 param_2, s16 param_3, JKRHeap* param_4) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/makeColorTable__FPP8_GXColorPC16JPAClrAnmKeyDataUcsP7JKRHeap.s" } #pragma pop /* 8027A6DC-8027A7E8 010C+00 s=0 e=1 z=0 None .text __ct__12JPABaseShapeFPCUcP7JKRHeap */ // 8027A6EC: 803621DC (_savegpr_29) // 8027A784: 8027A454 (makeColorTable__FPP8_GXColorPC16JPAClrAnmKeyDataUcsP7JKRHeap) // 8027A7BC: 8027A454 (makeColorTable__FPP8_GXColorPC16JPAClrAnmKeyDataUcsP7JKRHeap) // 8027A7D4: 80362228 (_restgpr_29) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // u8 const* False // u8 const False // u8 False // JKRHeap* False // JKRHeap False asm JPABaseShape::JPABaseShape(u8 const* param_0, JKRHeap* param_1) { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/__ct__12JPABaseShapeFPCUcP7JKRHeap.s" } #pragma pop /* 8027A7E8-8027A918 0130+00 s=0 e=1 z=0 None .text setGX__12JPABaseShapeCFP18JPAEmitterWorkData */ // 8027A7F8: 803621D8 (_savegpr_28) // 8027A800: 803C42E0 (jpa_dl) // 8027A804: 803C42E0 (jpa_dl) // 8027A858: 8035FBF0 (GXSetBlendMode) // 8027A878: 8035FC9C (GXSetZMode) // 8027A8AC: 8035F624 (GXSetAlphaCompare) // 8027A8C4: 8035F224 (GXSetTevColorIn) // 8027A8DC: 8035F268 (GXSetTevAlphaIn) // 8027A8E4: 8035F0F8 (GXSetTevDirect) // 8027A8EC: 8035F0F8 (GXSetTevDirect) // 8027A8FC: 8035FCD0 (GXSetZCompLoc) // 8027A904: 80362224 (_restgpr_28) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // JPAEmitterWorkData* False // JPAEmitterWorkData False asm void JPABaseShape::setGX(JPAEmitterWorkData* param_0) const { nofralloc #include "asm/JSystem/JParticle/JPABaseShape/setGX__12JPABaseShapeCFP18JPAEmitterWorkData.s" } #pragma pop /* ############################################################################################## */ /* 803C4340-803C4354 0014+00 s=0 e=0 z=0 None .data p_rot */ SECTION_DATA void* p_rot[5] = { (void*)rotTypeY__FffRA3_A4_f, (void*)rotTypeX__FffRA3_A4_f, (void*)rotTypeZ__FffRA3_A4_f, (void*)rotTypeXYZ__FffRA3_A4_f, (void*)rotTypeY__FffRA3_A4_f, }; /* 803C4354-803C4360 000C+00 s=0 e=0 z=0 None .data p_plane */ SECTION_DATA void* p_plane[3] = { (void*)basePlaneTypeXY__FPA4_fff, (void*)basePlaneTypeXZ__FPA4_fff, (void*)basePlaneTypeX__FPA4_fff, }; /* 803C4360-803C436C 000C+00 s=0 e=0 z=0 None .data st_bm__12JPABaseShape */ SECTION_DATA u8 st_bm__12JPABaseShape[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, }; /* 803C436C-803C4394 0028+00 s=0 e=0 z=0 None .data st_bf__12JPABaseShape */ SECTION_DATA u8 st_bf__12JPABaseShape[40] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, }; /* 803C4394-803C43D4 0040+00 s=0 e=0 z=0 None .data st_lo__12JPABaseShape */ SECTION_DATA u8 st_lo__12JPABaseShape[64] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0D, }; /* 803C43D4-803C43F4 0020+00 s=0 e=0 z=0 None .data st_c__12JPABaseShape */ SECTION_DATA u8 st_c__12JPABaseShape[32] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, }; /* 803C43F4-803C4404 0010+00 s=0 e=0 z=0 None .data st_ao__12JPABaseShape */ SECTION_DATA u8 st_ao__12JPABaseShape[16] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, }; /* 803C4404-803C4464 0060+00 s=0 e=0 z=0 None .data st_ca__12JPABaseShape */ SECTION_DATA u8 st_ca__12JPABaseShape[96] = { 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x02, }; /* 803C4464-803C4488 0020+04 s=0 e=0 z=0 None .data st_aa__12JPABaseShape */ SECTION_DATA u8 st_aa__12JPABaseShape[32 + 4 /* padding */] = { 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, /* padding */ 0x00, 0x00, 0x00, 0x00, };