mirror of https://github.com/zeldaret/tp.git
162 lines
6.4 KiB
C++
162 lines
6.4 KiB
C++
//
|
|
// Generated By: dol2asm
|
|
// Translation Unit: J3DJointTree
|
|
//
|
|
|
|
#include "JSystem/J3DGraphAnimator/J3DJointTree.h"
|
|
#include "dol2asm.h"
|
|
#include "dolphin/types.h"
|
|
|
|
//
|
|
// Forward References:
|
|
//
|
|
|
|
extern "C" void __ct__12J3DJointTreeFv();
|
|
extern "C" void
|
|
makeHierarchy__12J3DJointTreeFP8J3DJointPPC17J3DModelHierarchyP16J3DMaterialTableP13J3DShapeTable();
|
|
extern "C" void findImportantMtxIndex__12J3DJointTreeFv();
|
|
extern "C" void calc__12J3DJointTreeFP12J3DMtxBufferRC3VecRA3_A4_Cf();
|
|
extern "C" void setMtxBuffer__10J3DMtxCalcFP12J3DMtxBuffer();
|
|
extern "C" void __dt__12J3DJointTreeFv();
|
|
|
|
//
|
|
// External References:
|
|
//
|
|
|
|
extern "C" void __dl__FPv();
|
|
extern "C" void __ct__14J3DDrawMtxDataFv();
|
|
extern "C" void __dt__14J3DDrawMtxDataFv();
|
|
extern "C" void appendChild__8J3DJointFP8J3DJoint();
|
|
extern "C" void recursiveCalc__8J3DJointFv();
|
|
extern "C" void _savegpr_23();
|
|
extern "C" void _restgpr_23();
|
|
extern "C" u8 mMtxBuffer__10J3DMtxCalc[4];
|
|
extern "C" u8 mCurrentMtxCalc__8J3DJoint[4 + 4 /* padding */];
|
|
|
|
//
|
|
// Declarations:
|
|
//
|
|
|
|
/* ############################################################################################## */
|
|
/* 803CECA8-803CECF4 -00001 004C+00 1/1 0/0 0/0 .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),
|
|
};
|
|
|
|
/* 80325A18-80325A9C 320358 0084+00 0/0 1/1 0/0 .text __ct__12J3DJointTreeFv */
|
|
J3DJointTree::J3DJointTree()
|
|
: mHierarchy(NULL), mFlags(0), mModelDataType(0), mRootNode(NULL), mBasicMtxCalc(NULL),
|
|
mJointNodePointer(NULL), mJointNum(0), mWEvlpMtxNum(0), mWEvlpMixMtxNum(0), mWEvlpMixIndex(0),
|
|
mWEvlpMixWeight(0), mInvJointMtx(NULL), mWEvlpImportantMtxIdx(0), field_0x40(0),
|
|
mJointName(NULL) {}
|
|
|
|
/* 80325A9C-80325C00 3203DC 0164+00 1/0 2/2 0/0 .text
|
|
* makeHierarchy__12J3DJointTreeFP8J3DJointPPC17J3DModelHierarchyP16J3DMaterialTableP13J3DShapeTable
|
|
*/
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
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 004A18 0004+04 1/1 0/0 0/0 .sdata2 @903 */
|
|
SECTION_SDATA2 static f32 lit_903[1 + 1 /* padding */] = {
|
|
-1.0f / 10.0f,
|
|
/* padding */
|
|
0.0f,
|
|
};
|
|
|
|
/* 80325C00-80325CAC 320540 00AC+00 0/0 2/2 0/0 .text findImportantMtxIndex__12J3DJointTreeFv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void J3DJointTree::findImportantMtxIndex() {
|
|
nofralloc
|
|
#include "asm/JSystem/J3DGraphAnimator/J3DJointTree/findImportantMtxIndex__12J3DJointTreeFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 80325CAC-80325D1C 3205EC 0070+00 1/0 0/0 0/0 .text
|
|
* calc__12J3DJointTreeFP12J3DMtxBufferRC3VecRA3_A4_Cf */
|
|
void J3DJointTree::calc(J3DMtxBuffer* pMtxBuffer, Vec const& scale, f32 const (&mtx)[3][4]) {
|
|
getBasicMtxCalc()->init(scale, (Mtx*)mtx);
|
|
J3DMtxCalc::setMtxBuffer(pMtxBuffer);
|
|
J3DJoint* root = getRootNode();
|
|
|
|
if (root == NULL)
|
|
return;
|
|
|
|
root->setCurrentMtxCalc(getBasicMtxCalc());
|
|
root->recursiveCalc();
|
|
}
|
|
|
|
/* 80325D1C-80325D24 32065C 0008+00 1/1 0/0 0/0 .text setMtxBuffer__10J3DMtxCalcFP12J3DMtxBuffer
|
|
*/
|
|
void J3DMtxCalc::setMtxBuffer(J3DMtxBuffer* mtxBuffer) {
|
|
J3DMtxCalc::mMtxBuffer = mtxBuffer;
|
|
}
|
|
|
|
/* 80325D24-80325D88 320664 0064+00 1/0 0/0 0/0 .text __dt__12J3DJointTreeFv */
|
|
J3DJointTree::~J3DJointTree() {}
|