J3D setup (#155)

* setup j3d classes

* remove asm

* fixes

* fix newDifferedDisplayList
This commit is contained in:
TakaRikka
2021-10-11 09:38:53 -07:00
committed by GitHub
parent f51c495cf4
commit f51935c034
134 changed files with 3399 additions and 4786 deletions
+30 -83
View File
@@ -1,93 +1,40 @@
//
// Generated By: dol2asm
// Translation Unit: J3DShapeTable
//
#include "JSystem/J3DGraphAnimator/J3DShapeTable.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct J3DVertexData {};
struct J3DDrawMtxData {};
struct J3DShapeTable {
/* 803258A0 */ void hide();
/* 803258D8 */ void show();
/* 80325910 */ void initShapeNodes(J3DDrawMtxData*, J3DVertexData*);
/* 8032597C */ void sortVcdVatCmd();
};
struct J3DShape {
/* 80314F5C */ void isSameVcdVatCmd(J3DShape*);
/* 80315260 */ void makeVcdVatCmd();
};
//
// Forward References:
//
extern "C" void hide__13J3DShapeTableFv();
extern "C" void show__13J3DShapeTableFv();
extern "C" void initShapeNodes__13J3DShapeTableFP14J3DDrawMtxDataP13J3DVertexData();
extern "C" void sortVcdVatCmd__13J3DShapeTableFv();
//
// External References:
//
extern "C" void isSameVcdVatCmd__8J3DShapeFP8J3DShape();
extern "C" void makeVcdVatCmd__8J3DShapeFv();
extern "C" void _savegpr_25();
extern "C" void _savegpr_27();
extern "C" void _restgpr_25();
extern "C" void _restgpr_27();
//
// Declarations:
//
/* 803258A0-803258D8 3201E0 0038+00 0/0 0/0 6/6 .text hide__13J3DShapeTableFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DShapeTable::hide() {
nofralloc
#include "asm/JSystem/J3DGraphAnimator/J3DShapeTable/hide__13J3DShapeTableFv.s"
void J3DShapeTable::hide() {
u16 shapeNum = mShapeNum;
for (u16 i = 0; i < shapeNum; i++) {
mShapeNodePointer[i]->onFlag(1);
}
}
#pragma pop
/* 803258D8-80325910 320218 0038+00 0/0 0/0 6/6 .text show__13J3DShapeTableFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DShapeTable::show() {
nofralloc
#include "asm/JSystem/J3DGraphAnimator/J3DShapeTable/show__13J3DShapeTableFv.s"
void J3DShapeTable::show() {
u16 shapeNum = mShapeNum;
for (u16 i = 0; i < shapeNum; i++) {
mShapeNodePointer[i]->offFlag(1);
}
}
#pragma pop
/* 80325910-8032597C 320250 006C+00 0/0 2/2 0/0 .text
* initShapeNodes__13J3DShapeTableFP14J3DDrawMtxDataP13J3DVertexData */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DShapeTable::initShapeNodes(J3DDrawMtxData* param_0, J3DVertexData* param_1) {
nofralloc
#include "asm/JSystem/J3DGraphAnimator/J3DShapeTable/initShapeNodes__13J3DShapeTableFP14J3DDrawMtxDataP13J3DVertexData.s"
}
#pragma pop
void J3DShapeTable::initShapeNodes(J3DDrawMtxData* pMtxData, J3DVertexData* pVtxData) {
u16 shapeNum = mShapeNum;
for (u16 i = 0; i < shapeNum; i++) {
J3DShape* shapeNode = mShapeNodePointer[i];
/* 8032597C-80325A18 3202BC 009C+00 0/0 2/2 0/0 .text sortVcdVatCmd__13J3DShapeTableFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DShapeTable::sortVcdVatCmd() {
nofralloc
#include "asm/JSystem/J3DGraphAnimator/J3DShapeTable/sortVcdVatCmd__13J3DShapeTableFv.s"
shapeNode->setDrawMtxDataPointer(pMtxData);
shapeNode->setVertexDataPointer(pVtxData);
shapeNode->makeVcdVatCmd();
}
}
void J3DShapeTable::sortVcdVatCmd() {
u16 shapeNum = mShapeNum;
for (u16 next = 0; next < shapeNum; next++) {
for (u16 prev = 0; prev < next; prev++) {
if (mShapeNodePointer[next]->isSameVcdVatCmd(mShapeNodePointer[prev])) {
void* nodeVatCmd = mShapeNodePointer[prev]->getVcdVatCmd();
mShapeNodePointer[next]->setVcdVatCmd(nodeVatCmd);
}
}
}
}
#pragma pop