mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-10 20:28:19 -04:00
J3D setup (#155)
* setup j3d classes * remove asm * fixes * fix newDifferedDisplayList
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user