// // Generated By: dol2asm // Translation Unit: J3DJoint // #include "dol2asm.h" #include "dolphin/types.h" #include "JSystem/J3DGraphAnimator/J3DJoint.h" // // Types: // struct Vec { }; struct J3DTransformInfo { }; struct J3DMtxCalcJ3DSysInitMaya { /* 8032ECAC */ // False False // Vec const& False // Vec const False // Vec False // f32 const (& )[3][4] False // f32 const False // f32 False // & False // False void init(Vec const&, f32 const (& )[3][4]); }; struct J3DMtxCalcJ3DSysInitBasic { /* 8032EC28 */ // False False // Vec const& False // Vec const False // Vec False // f32 const (& )[3][4] False // f32 const False // f32 False // & False // False void init(Vec const&, f32 const (& )[3][4]); }; struct J3DMtxCalcCalcTransformSoftimage { /* 8032EE50 */ // False False // J3DTransformInfo const& False // J3DTransformInfo const False // J3DTransformInfo False void calcTransform(J3DTransformInfo const&); }; struct J3DMtxCalcCalcTransformMaya { /* 8032EFBC */ // False False // J3DTransformInfo const& False // J3DTransformInfo const False // J3DTransformInfo False void calcTransform(J3DTransformInfo const&); }; struct J3DMtxCalcCalcTransformBasic { /* 8032ED30 */ // False False // J3DTransformInfo const& False // J3DTransformInfo const False // J3DTransformInfo False void calcTransform(J3DTransformInfo const&); }; struct J3DMaterial { /* 80316AB0 */ // False False void setCurrentMtx(); }; struct J3DJoint { /* 8032F13C */ // False False // J3DJoint* False // J3DJoint False void appendChild(J3DJoint*); /* 8032F170 */ // False False J3DJoint(); /* 8032F254 */ // False False void entryIn(); /* 8032F3F8 */ // False False void recursiveCalc(); }; // // Forward References: // // False False // Vec const& False // Vec const False // Vec False // f32 const (& )[3][4] False // f32 const False // f32 False // & False // False extern "C" void init__25J3DMtxCalcJ3DSysInitBasicFRC3VecRA3_A4_Cf(); // False False // Vec const& False // Vec const False // Vec False // f32 const (& )[3][4] False // f32 const False // f32 False // & False // False extern "C" void init__24J3DMtxCalcJ3DSysInitMayaFRC3VecRA3_A4_Cf(); // False False // J3DTransformInfo const& False // J3DTransformInfo const False // J3DTransformInfo False extern "C" void calcTransform__28J3DMtxCalcCalcTransformBasicFRC16J3DTransformInfo(); // False False // J3DTransformInfo const& False // J3DTransformInfo const False // J3DTransformInfo False extern "C" void calcTransform__32J3DMtxCalcCalcTransformSoftimageFRC16J3DTransformInfo(); // False False // J3DTransformInfo const& False // J3DTransformInfo const False // J3DTransformInfo False extern "C" void calcTransform__27J3DMtxCalcCalcTransformMayaFRC16J3DTransformInfo(); // False False // J3DJoint* False // J3DJoint False extern "C" void appendChild__8J3DJointFP8J3DJoint(); // False False extern "C" void __ct__8J3DJointFv(); // False False extern "C" void entryIn__8J3DJointFv(); // False False extern "C" void recursiveCalc__8J3DJointFv(); extern "C" extern u8 mMtxBuffer__10J3DMtxCalc[4]; extern "C" extern u8 mJoint__10J3DMtxCalc[4]; extern "C" extern u8 mCurrentMtxCalc__8J3DJoint[4 + 4 /* padding */]; // // External References: // // False False // J3DTransformInfo const& False // J3DTransformInfo const False // J3DTransformInfo False // f32 (* )[4] False // f32 False // * False // False void J3DGetTranslateRotateMtx(J3DTransformInfo const&, f32 (* )[4]); // False False // s16 False // s16 False // s16 False // f32 False // f32 False // f32 False // f32 (* )[4] False // f32 False // * False // False void J3DGetTranslateRotateMtx(s16, s16, s16, f32, f32, f32, f32 (* )[4]); // False False // f32 const (* )[4] False // f32 const False // f32 False // * False // False // f32 (* )[4] False // f32 False // * False // False // f32 False // f32 False // f32 False void JMAMTXApplyScale(f32 const (* )[4], f32 (* )[4], f32, f32, f32); // False False // J3DTransformInfo const& False // J3DTransformInfo const False // J3DTransformInfo False // f32 (* )[4] False // f32 False // * False // False extern "C" void J3DGetTranslateRotateMtx__FRC16J3DTransformInfoPA4_f(); // False False // s16 False // s16 False // s16 False // f32 False // f32 False // f32 False // f32 (* )[4] False // f32 False // * False // False extern "C" void J3DGetTranslateRotateMtx__FsssfffPA4_f(); // False False extern "C" void setCurrentMtx__11J3DMaterialFv(); // False False // f32 const (* )[4] False // f32 const False // f32 False // * False // False // f32 (* )[4] False // f32 False // * False // False // f32 False // f32 False // f32 False extern "C" void JMAMTXApplyScale__FPA4_CfPA4_ffff(); // False False extern "C" void PSMTXCopy(); // False False extern "C" void PSMTXConcat(); // False False extern "C" void _savegpr_27(); // False False extern "C" void _restgpr_27(); extern "C" extern u8 const j3dDefaultTransformInfo[32]; extern "C" extern u8 j3dSys[284]; extern "C" extern u8 mCurrentMtx__6J3DSys[48]; extern "C" extern u8 mCurrentS__6J3DSys[12]; extern "C" extern u8 mParentS__6J3DSys[12]; extern "C" extern u8 entryNum__13J3DDrawBuffer[4 + 4 /* padding */]; // // Declarations: // /* ############################################################################################## */ /* 803A2068-803A2074 000C+00 s=1 e=0 z=0 None .rodata @882 */ SECTION_RODATA static u8 const lit_882[12] = { 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, }; /* 8032EC28-8032ECAC 0084+00 s=0 e=1 z=0 None .text init__25J3DMtxCalcJ3DSysInitBasicFRC3VecRA3_A4_Cf */ // 8032EC38: 80434C14 (mCurrentS__6J3DSys) // 8032EC3C: 80434C14 (mCurrentS__6J3DSys) // 8032EC50: 803A2068 (lit_882) // 8032EC54: 803A2068 (lit_882) // 8032EC74: 80434C20 (mParentS__6J3DSys) // 8032EC78: 80434C20 (mParentS__6J3DSys) // 8032EC90: 80434BE4 (mCurrentMtx__6J3DSys) // 8032EC94: 80434BE4 (mCurrentMtx__6J3DSys) // 8032EC98: 80339A84 (JMAMTXApplyScale__FPA4_CfPA4_ffff) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // Vec const& False // Vec const False // Vec False // f32 const (& )[3][4] False // f32 const False // f32 False // & False // False asm void J3DMtxCalcJ3DSysInitBasic::init(Vec const& param_0, f32 const (& param_1)[3][4]) { nofralloc #include "asm/JSystem/J3DGraphAnimator/J3DJoint/init__25J3DMtxCalcJ3DSysInitBasicFRC3VecRA3_A4_Cf.s" } #pragma pop /* ############################################################################################## */ /* 803A2074-803A2080 000C+00 s=1 e=0 z=0 None .rodata @893 */ SECTION_RODATA static u8 const lit_893[12] = { 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, }; /* 8032ECAC-8032ED30 0084+00 s=0 e=2 z=2 None .text init__24J3DMtxCalcJ3DSysInitMayaFRC3VecRA3_A4_Cf */ // 8032ECB8: 803A2074 (lit_893) // 8032ECBC: 803A2074 (lit_893) // 8032ECDC: 80434C20 (mParentS__6J3DSys) // 8032ECE0: 80434C20 (mParentS__6J3DSys) // 8032ECF8: 80434C14 (mCurrentS__6J3DSys) // 8032ECFC: 80434C14 (mCurrentS__6J3DSys) // 8032ED14: 80434BE4 (mCurrentMtx__6J3DSys) // 8032ED18: 80434BE4 (mCurrentMtx__6J3DSys) // 8032ED1C: 80339A84 (JMAMTXApplyScale__FPA4_CfPA4_ffff) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // Vec const& False // Vec const False // Vec False // f32 const (& )[3][4] False // f32 const False // f32 False // & False // False asm void J3DMtxCalcJ3DSysInitMaya::init(Vec const& param_0, f32 const (& param_1)[3][4]) { nofralloc #include "asm/JSystem/J3DGraphAnimator/J3DJoint/init__24J3DMtxCalcJ3DSysInitMayaFRC3VecRA3_A4_Cf.s" } #pragma pop /* ############################################################################################## */ /* 804515F0-804515F4 0004+00 s=3 e=1 z=0 None .sbss mMtxBuffer__10J3DMtxCalc */ u8 mMtxBuffer__10J3DMtxCalc[4]; /* 804515F4-804515F8 0004+00 s=4 e=9 z=2 None .sbss mJoint__10J3DMtxCalc */ u8 mJoint__10J3DMtxCalc[4]; /* 804564A0-804564A4 0004+00 s=3 e=0 z=0 None .sdata2 @922 */ SECTION_SDATA2 static f32 lit_922 = 1.0f; /* 8032ED30-8032EE50 0120+00 s=0 e=1 z=0 None .text calcTransform__28J3DMtxCalcCalcTransformBasicFRC16J3DTransformInfo */ // 8032ED40: 803621D4 (_savegpr_27) // 8032ED48: 804515F0 (mMtxBuffer__10J3DMtxCalc) // 8032ED4C: 804515F4 (mJoint__10J3DMtxCalc) // 8032ED60: 80434C14 (mCurrentS__6J3DSys) // 8032ED64: 80434C14 (mCurrentS__6J3DSys) // 8032ED9C: 80311964 (J3DGetTranslateRotateMtx__FRC16J3DTransformInfoPA4_f) // 8032EDA0: 804564A0 (lit_922) // 8032EDA4: 80434C14 (mCurrentS__6J3DSys) // 8032EDA8: 80434C14 (mCurrentS__6J3DSys) // 8032EE00: 80339A84 (JMAMTXApplyScale__FPA4_CfPA4_ffff) // 8032EE14: 80434BE4 (mCurrentMtx__6J3DSys) // 8032EE18: 80434BE4 (mCurrentMtx__6J3DSys) // 8032EE24: 803464E4 (PSMTXConcat) // 8032EE28: 80434BE4 (mCurrentMtx__6J3DSys) // 8032EE2C: 80434BE4 (mCurrentMtx__6J3DSys) // 8032EE34: 803464B0 (PSMTXCopy) // 8032EE3C: 80362220 (_restgpr_27) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // J3DTransformInfo const& False // J3DTransformInfo const False // J3DTransformInfo False asm void J3DMtxCalcCalcTransformBasic::calcTransform(J3DTransformInfo const& param_0) { nofralloc #include "asm/JSystem/J3DGraphAnimator/J3DJoint/calcTransform__28J3DMtxCalcCalcTransformBasicFRC16J3DTransformInfo.s" } #pragma pop /* 8032EE50-8032EFBC 016C+00 s=0 e=1 z=0 None .text calcTransform__32J3DMtxCalcCalcTransformSoftimageFRC16J3DTransformInfo */ // 8032EE60: 803621D4 (_savegpr_27) // 8032EE68: 804515F0 (mMtxBuffer__10J3DMtxCalc) // 8032EE6C: 804515F4 (mJoint__10J3DMtxCalc) // 8032EE90: 80434C14 (mCurrentS__6J3DSys) // 8032EE94: 80434C14 (mCurrentS__6J3DSys) // 8032EEBC: 80311A24 (J3DGetTranslateRotateMtx__FsssfffPA4_f) // 8032EEC0: 80434BE4 (mCurrentMtx__6J3DSys) // 8032EEC4: 80434BE4 (mCurrentMtx__6J3DSys) // 8032EED0: 803464E4 (PSMTXConcat) // 8032EED4: 80434C14 (mCurrentS__6J3DSys) // 8032EED8: 80434C14 (mCurrentS__6J3DSys) // 8032EF08: 804564A0 (lit_922) // 8032EF44: 80434BE4 (mCurrentMtx__6J3DSys) // 8032EF48: 80434BE4 (mCurrentMtx__6J3DSys) // 8032EF50: 80434C14 (mCurrentS__6J3DSys) // 8032EF54: 80434C14 (mCurrentS__6J3DSys) // 8032EF60: 80339A84 (JMAMTXApplyScale__FPA4_CfPA4_ffff) // 8032EF64: 80434BE4 (mCurrentMtx__6J3DSys) // 8032EF68: 80434BE4 (mCurrentMtx__6J3DSys) // 8032EF94: 80434BE4 (mCurrentMtx__6J3DSys) // 8032EF98: 80434BE4 (mCurrentMtx__6J3DSys) // 8032EFA0: 803464B0 (PSMTXCopy) // 8032EFA8: 80362220 (_restgpr_27) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // J3DTransformInfo const& False // J3DTransformInfo const False // J3DTransformInfo False asm void J3DMtxCalcCalcTransformSoftimage::calcTransform(J3DTransformInfo const& param_0) { nofralloc #include "asm/JSystem/J3DGraphAnimator/J3DJoint/calcTransform__32J3DMtxCalcCalcTransformSoftimageFRC16J3DTransformInfo.s" } #pragma pop /* 8032EFBC-8032F13C 0180+00 s=0 e=6 z=2 None .text calcTransform__27J3DMtxCalcCalcTransformMayaFRC16J3DTransformInfo */ // 8032EFCC: 803621D4 (_savegpr_27) // 8032EFD4: 804515F4 (mJoint__10J3DMtxCalc) // 8032EFD8: 804515F0 (mMtxBuffer__10J3DMtxCalc) // 8032EFF0: 80311964 (J3DGetTranslateRotateMtx__FRC16J3DTransformInfoPA4_f) // 8032EFF4: 804564A0 (lit_922) // 8032F04C: 80339A84 (JMAMTXApplyScale__FPA4_CfPA4_ffff) // 8032F05C: 80434C20 (mParentS__6J3DSys) // 8032F060: 80434C20 (mParentS__6J3DSys) // 8032F0E4: 80434BE4 (mCurrentMtx__6J3DSys) // 8032F0E8: 80434BE4 (mCurrentMtx__6J3DSys) // 8032F0F4: 803464E4 (PSMTXConcat) // 8032F0F8: 80434BE4 (mCurrentMtx__6J3DSys) // 8032F0FC: 80434BE4 (mCurrentMtx__6J3DSys) // 8032F104: 803464B0 (PSMTXCopy) // 8032F10C: 80434C20 (mParentS__6J3DSys) // 8032F110: 80434C20 (mParentS__6J3DSys) // 8032F128: 80362220 (_restgpr_27) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // J3DTransformInfo const& False // J3DTransformInfo const False // J3DTransformInfo False asm void J3DMtxCalcCalcTransformMaya::calcTransform(J3DTransformInfo const& param_0) { nofralloc #include "asm/JSystem/J3DGraphAnimator/J3DJoint/calcTransform__27J3DMtxCalcCalcTransformMayaFRC16J3DTransformInfo.s" } #pragma pop /* 8032F13C-8032F170 0034+00 s=0 e=1 z=0 None .text appendChild__8J3DJointFP8J3DJoint */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // J3DJoint* False // J3DJoint False asm void J3DJoint::appendChild(J3DJoint* param_0) { nofralloc #include "asm/JSystem/J3DGraphAnimator/J3DJoint/appendChild__8J3DJointFP8J3DJoint.s" } #pragma pop /* ############################################################################################## */ /* 803A2080-803A208C 000C+00 s=1 e=0 z=0 None .rodata @1257 */ SECTION_RODATA static u8 const lit_1257[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 803A208C-803A2098 000C+00 s=1 e=0 z=0 None .rodata @1259 */ SECTION_RODATA static u8 const lit_1259[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 804564A4-804564A8 0004+00 s=1 e=0 z=0 None .sdata2 @1220 */ SECTION_SDATA2 static u8 lit_1220[4] = { 0x00, 0x00, 0x00, 0x00, }; /* 8032F170-8032F254 00E4+00 s=0 e=1 z=0 None .text __ct__8J3DJointFv */ // 8032F1A0: 803A1E30 (j3dDefaultTransformInfo) // 8032F1A4: 803A1E30 (j3dDefaultTransformInfo) // 8032F1C8: 804564A4 (lit_1220) // 8032F1DC: 803A2080 (lit_1257) // 8032F1E0: 803A2080 (lit_1257) // 8032F214: 803A208C (lit_1259) // 8032F218: 803A208C (lit_1259) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm J3DJoint::J3DJoint() { nofralloc #include "asm/JSystem/J3DGraphAnimator/J3DJoint/__ct__8J3DJointFv.s" } #pragma pop /* 8032F254-8032F3F8 01A4+00 s=0 e=1 z=0 None .text entryIn__8J3DJointFv */ // 8032F264: 803621D4 (_savegpr_27) // 8032F268: 80434AC8 (j3dSys) // 8032F26C: 80434AC8 (j3dSys) // 8032F350: 80316AB0 (setCurrentMtx__11J3DMaterialFv) // 8032F384: 80434AC8 (j3dSys) // 8032F388: 80434AC8 (j3dSys) // 8032F3B4: 804515E0 (entryNum__13J3DDrawBuffer) // 8032F3BC: 804515E0 (entryNum__13J3DDrawBuffer) // 8032F3E4: 80362220 (_restgpr_27) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void J3DJoint::entryIn() { nofralloc #include "asm/JSystem/J3DGraphAnimator/J3DJoint/entryIn__8J3DJointFv.s" } #pragma pop /* ############################################################################################## */ /* 804515F8-80451600 0004+04 s=1 e=1 z=0 None .sbss mCurrentMtxCalc__8J3DJoint */ u8 mCurrentMtxCalc__8J3DJoint[4 + 4 /* padding */]; /* 8032F3F8-8032F5A8 01B0+00 s=0 e=1 z=0 None .text recursiveCalc__8J3DJointFv */ // 8032F438: 803621D4 (_savegpr_27) // 8032F444: 80434BE4 (mCurrentMtx__6J3DSys) // 8032F448: 80434BE4 (mCurrentMtx__6J3DSys) // 8032F450: 803464B0 (PSMTXCopy) // 8032F454: 80434C14 (mCurrentS__6J3DSys) // 8032F458: 80434C14 (mCurrentS__6J3DSys) // 8032F468: 80434C20 (mParentS__6J3DSys) // 8032F46C: 80434C20 (mParentS__6J3DSys) // 8032F488: 804515F8 (mCurrentMtxCalc__8J3DJoint) // 8032F48C: 804515F8 (mCurrentMtxCalc__8J3DJoint) // 8032F490: 804515F4 (mJoint__10J3DMtxCalc) // 8032F4A8: 804515F8 (mCurrentMtxCalc__8J3DJoint) // 8032F4B4: 804515F4 (mJoint__10J3DMtxCalc) // 8032F4FC: 80434BE4 (mCurrentMtx__6J3DSys) // 8032F500: 80434BE4 (mCurrentMtx__6J3DSys) // 8032F504: 803464B0 (PSMTXCopy) // 8032F508: 80434C14 (mCurrentS__6J3DSys) // 8032F50C: 80434C14 (mCurrentS__6J3DSys) // 8032F518: 80434C20 (mParentS__6J3DSys) // 8032F51C: 80434C20 (mParentS__6J3DSys) // 8032F530: 804515F8 (mCurrentMtxCalc__8J3DJoint) // 8032F594: 80362220 (_restgpr_27) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void J3DJoint::recursiveCalc() { nofralloc #include "asm/JSystem/J3DGraphAnimator/J3DJoint/recursiveCalc__8J3DJointFv.s" } #pragma pop