copy dolsdk2004 to tp / b_bh + e_mb done (#2299)

* move dolsdk2004 over

* cleanup some temp work

* finish and cleanup gf

* b_bh done

* d_a_e_mb done
This commit is contained in:
TakaRikka
2025-02-10 11:20:42 -08:00
committed by GitHub
parent a38e2bfeee
commit eda175afc8
540 changed files with 68042 additions and 22075 deletions
+24 -24
View File
@@ -119,7 +119,7 @@ u32 J3DShape::countBumpMtxNum() const {
/* 80314E98-80314EB0 30F7D8 0018+00 1/1 0/0 0/0 .text J3DLoadCPCmd__FUcUl */
void J3DLoadCPCmd(u8 cmd, u32 param) {
GXWGFifo.u8 = GX_CMD_LOAD_CP_REG;
GXWGFifo.u8 = GX_LOAD_CP_REG;
GXWGFifo.u8 = cmd;
GXWGFifo.u32 = param;
}
@@ -160,31 +160,31 @@ void J3DShape::makeVtxArrayCmd() {
array[i] = 0;
}
for (; vtxAttr->mAttrib != GX_VA_NULL; vtxAttr++) {
switch (vtxAttr->mAttrib) {
for (; vtxAttr->attr != GX_VA_NULL; vtxAttr++) {
switch (vtxAttr->attr) {
case GX_VA_POS: {
if (vtxAttr->mCompType == GX_F32)
stride[vtxAttr->mAttrib - GX_VA_POS] = 0x0C;
if (vtxAttr->type == GX_F32)
stride[vtxAttr->attr - GX_VA_POS] = 0x0C;
else
stride[vtxAttr->mAttrib - GX_VA_POS] = 0x06;
array[vtxAttr->mAttrib - GX_VA_POS] = mVertexData->getVtxPosArray();
mVertexData->setVtxPosFrac(vtxAttr->mCompShift);
mVertexData->setVtxPosType((GXCompType)vtxAttr->mCompType);
stride[vtxAttr->attr - GX_VA_POS] = 0x06;
array[vtxAttr->attr - GX_VA_POS] = mVertexData->getVtxPosArray();
mVertexData->setVtxPosFrac(vtxAttr->frac);
mVertexData->setVtxPosType((GXCompType)vtxAttr->type);
} break;
case GX_VA_NRM: {
if (vtxAttr->mCompType == GX_F32)
stride[vtxAttr->mAttrib - GX_VA_POS] = 0x0C;
if (vtxAttr->type == GX_F32)
stride[vtxAttr->attr - GX_VA_POS] = 0x0C;
else
stride[vtxAttr->mAttrib - GX_VA_POS] = 0x06;
array[vtxAttr->mAttrib - GX_VA_POS] = mVertexData->getVtxNrmArray();
mVertexData->setVtxNrmFrac(vtxAttr->mCompShift);
mVertexData->setVtxNrmType((GXCompType)vtxAttr->mCompType);
stride[vtxAttr->attr - GX_VA_POS] = 0x06;
array[vtxAttr->attr - GX_VA_POS] = mVertexData->getVtxNrmArray();
mVertexData->setVtxNrmFrac(vtxAttr->frac);
mVertexData->setVtxNrmType((GXCompType)vtxAttr->type);
} break;
case GX_VA_CLR0:
case GX_VA_CLR1: {
stride[vtxAttr->mAttrib - GX_VA_POS] = 0x04;
array[vtxAttr->mAttrib - GX_VA_POS] =
mVertexData->getVtxColorArray(vtxAttr->mAttrib - GX_VA_CLR0);
stride[vtxAttr->attr - GX_VA_POS] = 0x04;
array[vtxAttr->attr - GX_VA_POS] =
mVertexData->getVtxColorArray(vtxAttr->attr - GX_VA_CLR0);
} break;
case GX_VA_TEX0:
case GX_VA_TEX1:
@@ -194,12 +194,12 @@ void J3DShape::makeVtxArrayCmd() {
case GX_VA_TEX5:
case GX_VA_TEX6:
case GX_VA_TEX7: {
if (vtxAttr->mCompType == GX_F32)
stride[vtxAttr->mAttrib - GX_VA_POS] = 0x08;
if (vtxAttr->type == GX_F32)
stride[vtxAttr->attr - GX_VA_POS] = 0x08;
else
stride[vtxAttr->mAttrib - GX_VA_POS] = 0x04;
array[vtxAttr->mAttrib - GX_VA_POS] =
mVertexData->getVtxTexCoordArray(vtxAttr->mAttrib - GX_VA_TEX0);
stride[vtxAttr->attr - GX_VA_POS] = 0x04;
array[vtxAttr->attr - GX_VA_POS] =
mVertexData->getVtxTexCoordArray(vtxAttr->attr - GX_VA_TEX0);
} break;
default:
break;
@@ -351,4 +351,4 @@ void J3DShape::simpleDrawCache() const {
for (u16 n = getMtxGroupNum(), i = 0; i < n; i++)
if (getShapeDraw(i) != NULL)
getShapeDraw(i)->draw();
}
}