// // Generated By: dol2asm // Translation Unit: J3DJointTree // #include "dol2asm.h" #include "dolphin/types.h" #include "JSystem/J3DGraphAnimator/J3DJointTree.h" // // Types: // struct Vec { }; struct J3DShapeTable { }; struct J3DMtxBuffer { }; struct J3DMtxCalc { /* 80325D1C */ // True False // J3DMtxBuffer* False // J3DMtxBuffer False void setMtxBuffer(J3DMtxBuffer*); }; struct J3DModelHierarchy { }; struct J3DMaterialTable { }; struct J3DJoint { /* 8032F13C */ // False False // J3DJoint* False // J3DJoint False void appendChild(J3DJoint*); /* 8032F3F8 */ // False False void recursiveCalc(); }; struct J3DJointTree { /* 80325A18 */ // False False J3DJointTree(); /* 80325A9C */ // False False // J3DJoint* False // J3DJoint False // J3DModelHierarchy const** False // J3DModelHierarchy const* False // J3DModelHierarchy const False // J3DModelHierarchy False // J3DMaterialTable* False // J3DMaterialTable False // J3DShapeTable* False // J3DShapeTable False void makeHierarchy(J3DJoint*, J3DModelHierarchy const**, J3DMaterialTable*, J3DShapeTable*); /* 80325C00 */ // False False void findImportantMtxIndex(); /* 80325CAC */ // True False // J3DMtxBuffer* False // J3DMtxBuffer False // Vec const& False // Vec const False // Vec False // f32 const (& )[3][4] False // f32 const False // f32 False // & False // False void calc(J3DMtxBuffer*, Vec const&, f32 const (& )[3][4]); /* 80325D24 */ // True False ~J3DJointTree(); }; struct J3DDrawMtxData { /* 803115E0 */ // False False J3DDrawMtxData(); /* 803115F4 */ // False False ~J3DDrawMtxData(); }; // // Forward References: // // False False extern "C" void __ct__12J3DJointTreeFv(); // False False // J3DJoint* False // J3DJoint False // J3DModelHierarchy const** False // J3DModelHierarchy const* False // J3DModelHierarchy const False // J3DModelHierarchy False // J3DMaterialTable* False // J3DMaterialTable False // J3DShapeTable* False // J3DShapeTable False extern "C" void makeHierarchy__12J3DJointTreeFP8J3DJointPPC17J3DModelHierarchyP16J3DMaterialTableP13J3DShapeTable(); // False False extern "C" void findImportantMtxIndex__12J3DJointTreeFv(); // True False // J3DMtxBuffer* False // J3DMtxBuffer False // Vec const& False // Vec const False // Vec False // f32 const (& )[3][4] False // f32 const False // f32 False // & False // False extern "C" void calc__12J3DJointTreeFP12J3DMtxBufferRC3VecRA3_A4_Cf(); // True False // J3DMtxBuffer* False // J3DMtxBuffer False extern "C" void setMtxBuffer__10J3DMtxCalcFP12J3DMtxBuffer(); // True False extern "C" void __dt__12J3DJointTreeFv(); extern "C" extern void* __vt__12J3DJointTree[4 + 1 /* padding */]; // // External References: // // False False // void False // void* False // void False void operator delete(void*); // False False // void False // void* False // void False extern "C" void __dl__FPv(); // False False extern "C" void __ct__14J3DDrawMtxDataFv(); // False False extern "C" void __dt__14J3DDrawMtxDataFv(); // False False // J3DJoint* False // J3DJoint False extern "C" void appendChild__8J3DJointFP8J3DJoint(); // False False extern "C" void recursiveCalc__8J3DJointFv(); // False False extern "C" void _savegpr_23(); // False False extern "C" void _restgpr_23(); extern "C" extern u8 mMtxBuffer__10J3DMtxCalc[4]; extern "C" extern u8 mCurrentMtxCalc__8J3DJoint[4 + 4 /* padding */]; // // Declarations: // /* ############################################################################################## */ /* 803CECA8-803CECF4 004C+00 s=1 e=0 z=0 None .data @871 */ SECTION_DATA static void* lit_871[19] = { (void*)(((char*)makeHierarchy__12J3DJointTreeFP8J3DJointPPC17J3DModelHierarchyP16J3DMaterialTableP13J3DShapeTable)+0x90), (void*)(((char*)makeHierarchy__12J3DJointTreeFP8J3DJointPPC17J3DModelHierarchyP16J3DMaterialTableP13J3DShapeTable)+0x60), (void*)(((char*)makeHierarchy__12J3DJointTreeFP8J3DJointPPC17J3DModelHierarchyP16J3DMaterialTableP13J3DShapeTable)+0x84), (void*)(((char*)makeHierarchy__12J3DJointTreeFP8J3DJointPPC17J3DModelHierarchyP16J3DMaterialTableP13J3DShapeTable)+0xE4), (void*)(((char*)makeHierarchy__12J3DJointTreeFP8J3DJointPPC17J3DModelHierarchyP16J3DMaterialTableP13J3DShapeTable)+0xE4), (void*)(((char*)makeHierarchy__12J3DJointTreeFP8J3DJointPPC17J3DModelHierarchyP16J3DMaterialTableP13J3DShapeTable)+0xE4), (void*)(((char*)makeHierarchy__12J3DJointTreeFP8J3DJointPPC17J3DModelHierarchyP16J3DMaterialTableP13J3DShapeTable)+0xE4), (void*)(((char*)makeHierarchy__12J3DJointTreeFP8J3DJointPPC17J3DModelHierarchyP16J3DMaterialTableP13J3DShapeTable)+0xE4), (void*)(((char*)makeHierarchy__12J3DJointTreeFP8J3DJointPPC17J3DModelHierarchyP16J3DMaterialTableP13J3DShapeTable)+0xE4), (void*)(((char*)makeHierarchy__12J3DJointTreeFP8J3DJointPPC17J3DModelHierarchyP16J3DMaterialTableP13J3DShapeTable)+0xE4), (void*)(((char*)makeHierarchy__12J3DJointTreeFP8J3DJointPPC17J3DModelHierarchyP16J3DMaterialTableP13J3DShapeTable)+0xE4), (void*)(((char*)makeHierarchy__12J3DJointTreeFP8J3DJointPPC17J3DModelHierarchyP16J3DMaterialTableP13J3DShapeTable)+0xE4), (void*)(((char*)makeHierarchy__12J3DJointTreeFP8J3DJointPPC17J3DModelHierarchyP16J3DMaterialTableP13J3DShapeTable)+0xE4), (void*)(((char*)makeHierarchy__12J3DJointTreeFP8J3DJointPPC17J3DModelHierarchyP16J3DMaterialTableP13J3DShapeTable)+0xE4), (void*)(((char*)makeHierarchy__12J3DJointTreeFP8J3DJointPPC17J3DModelHierarchyP16J3DMaterialTableP13J3DShapeTable)+0xE4), (void*)(((char*)makeHierarchy__12J3DJointTreeFP8J3DJointPPC17J3DModelHierarchyP16J3DMaterialTableP13J3DShapeTable)+0xE4), (void*)(((char*)makeHierarchy__12J3DJointTreeFP8J3DJointPPC17J3DModelHierarchyP16J3DMaterialTableP13J3DShapeTable)+0x94), (void*)(((char*)makeHierarchy__12J3DJointTreeFP8J3DJointPPC17J3DModelHierarchyP16J3DMaterialTableP13J3DShapeTable)+0xB0), (void*)(((char*)makeHierarchy__12J3DJointTreeFP8J3DJointPPC17J3DModelHierarchyP16J3DMaterialTableP13J3DShapeTable)+0xCC), }; /* 803CECF4-803CED08 0010+04 s=2 e=1 z=0 None .data __vt__12J3DJointTree */ SECTION_DATA void* __vt__12J3DJointTree[4 + 1 /* padding */] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)calc__12J3DJointTreeFP12J3DMtxBufferRC3VecRA3_A4_Cf, (void*)__dt__12J3DJointTreeFv, /* padding */ NULL, }; /* 80325A18-80325A9C 0084+00 s=0 e=1 z=0 None .text __ct__12J3DJointTreeFv */ // 80325A2C: 803CECF4 (__vt__12J3DJointTree) // 80325A30: 803CECF4 (__vt__12J3DJointTree) // 80325A74: 803115E0 (__ct__14J3DDrawMtxDataFv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm J3DJointTree::J3DJointTree() { nofralloc #include "asm/JSystem/J3DGraphAnimator/J3DJointTree/__ct__12J3DJointTreeFv.s" } #pragma pop /* 80325A9C-80325C00 0164+00 s=1 e=2 z=0 None .text makeHierarchy__12J3DJointTreeFP8J3DJointPPC17J3DModelHierarchyP16J3DMaterialTableP13J3DShapeTable */ // 80325AAC: 803621C4 (_savegpr_23) // 80325AE4: 803CECA8 (lit_871) // 80325AE8: 803CECA8 (lit_871) // 80325BA4: 8032F13C (appendChild__8J3DJointFP8J3DJoint) // 80325BEC: 80362210 (_restgpr_23) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // J3DJoint* False // J3DJoint False // J3DModelHierarchy const** False // J3DModelHierarchy const* False // J3DModelHierarchy const False // J3DModelHierarchy False // J3DMaterialTable* False // J3DMaterialTable False // J3DShapeTable* False // J3DShapeTable False asm void J3DJointTree::makeHierarchy(J3DJoint* param_0, J3DModelHierarchy const** param_1, J3DMaterialTable* param_2, J3DShapeTable* param_3) { nofralloc #include "asm/JSystem/J3DGraphAnimator/J3DJointTree/func_80325A9C.s" } #pragma pop /* ############################################################################################## */ /* 80456418-80456420 0004+04 s=1 e=0 z=0 None .sdata2 @903 */ SECTION_SDATA2 static f32 lit_903[1 + 1 /* padding */] = { -1.0f / 10.0f, /* padding */ 0.0f, }; /* 80325C00-80325CAC 00AC+00 s=0 e=2 z=0 None .text findImportantMtxIndex__12J3DJointTreeFv */ // 80325C5C: 80456418 (lit_903) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void J3DJointTree::findImportantMtxIndex() { nofralloc #include "asm/JSystem/J3DGraphAnimator/J3DJointTree/findImportantMtxIndex__12J3DJointTreeFv.s" } #pragma pop /* 80325CAC-80325D1C 0070+00 s=1 e=0 z=0 None .text calc__12J3DJointTreeFP12J3DMtxBufferRC3VecRA3_A4_Cf */ // 80325CE8: 80325D1C (setMtxBuffer__10J3DMtxCalcFP12J3DMtxBuffer) // 80325CFC: 804515F8 (mCurrentMtxCalc__8J3DJoint) // 80325D00: 8032F3F8 (recursiveCalc__8J3DJointFv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // J3DMtxBuffer* False // J3DMtxBuffer False // Vec const& False // Vec const False // Vec False // f32 const (& )[3][4] False // f32 const False // f32 False // & False // False asm void J3DJointTree::calc(J3DMtxBuffer* param_0, Vec const& param_1, f32 const (& param_2)[3][4]) { nofralloc #include "asm/JSystem/J3DGraphAnimator/J3DJointTree/calc__12J3DJointTreeFP12J3DMtxBufferRC3VecRA3_A4_Cf.s" } #pragma pop /* 80325D1C-80325D24 0008+00 s=1 e=0 z=0 None .text setMtxBuffer__10J3DMtxCalcFP12J3DMtxBuffer */ // 80325D1C: 804515F0 (mMtxBuffer__10J3DMtxCalc) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // J3DMtxBuffer* False // J3DMtxBuffer False asm void J3DMtxCalc::setMtxBuffer(J3DMtxBuffer* param_0) { nofralloc #include "asm/JSystem/J3DGraphAnimator/J3DJointTree/setMtxBuffer__10J3DMtxCalcFP12J3DMtxBuffer.s" } #pragma pop /* 80325D24-80325D88 0064+00 s=1 e=0 z=0 None .text __dt__12J3DJointTreeFv */ // 80325D44: 803CECF4 (__vt__12J3DJointTree) // 80325D48: 803CECF4 (__vt__12J3DJointTree) // 80325D58: 803115F4 (__dt__14J3DDrawMtxDataFv) // 80325D68: 802CED3C (__dl__FPv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm J3DJointTree::~J3DJointTree() { nofralloc #include "asm/JSystem/J3DGraphAnimator/J3DJointTree/__dt__12J3DJointTreeFv.s" } #pragma pop