more J3DDrawBuffer

This commit is contained in:
Jasper St. Pierre 2022-12-31 14:17:26 -08:00
parent b95aed1512
commit 6557ac8cd7
11 changed files with 80 additions and 204 deletions

View File

@ -1,53 +0,0 @@
lbl_803251E4:
/* 803251E4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803251E8 7C 08 02 A6 */ mflr r0
/* 803251EC 90 01 00 14 */ stw r0, 0x14(r1)
/* 803251F0 81 04 00 3C */ lwz r8, 0x3c(r4)
/* 803251F4 80 A3 00 04 */ lwz r5, 4(r3)
/* 803251F8 38 05 FF FF */ addi r0, r5, -1
/* 803251FC 7D 06 00 38 */ and r6, r8, r0
/* 80325200 28 08 00 00 */ cmplwi r8, 0
/* 80325204 40 82 00 0C */ bne lbl_80325210
/* 80325208 4B FF FE 95 */ bl entryMatSort__13J3DDrawBufferFP12J3DMatPacket
/* 8032520C 48 00 00 80 */ b lbl_8032528C
lbl_80325210:
/* 80325210 38 00 00 00 */ li r0, 0
/* 80325214 90 04 00 04 */ stw r0, 4(r4)
/* 80325218 90 04 00 08 */ stw r0, 8(r4)
/* 8032521C 80 A4 00 2C */ lwz r5, 0x2c(r4)
/* 80325220 90 05 00 04 */ stw r0, 4(r5)
/* 80325224 90 05 00 08 */ stw r0, 8(r5)
/* 80325228 80 A3 00 00 */ lwz r5, 0(r3)
/* 8032522C 54 C7 10 3A */ slwi r7, r6, 2
/* 80325230 7C C5 38 2E */ lwzx r6, r5, r7
/* 80325234 28 06 00 00 */ cmplwi r6, 0
/* 80325238 40 82 00 10 */ bne lbl_80325248
/* 8032523C 7C 85 39 2E */ stwx r4, r5, r7
/* 80325240 38 60 00 01 */ li r3, 1
/* 80325244 48 00 00 48 */ b lbl_8032528C
lbl_80325248:
/* 80325248 7C C5 33 78 */ mr r5, r6
/* 8032524C 48 00 00 28 */ b lbl_80325274
lbl_80325250:
/* 80325250 80 05 00 3C */ lwz r0, 0x3c(r5)
/* 80325254 7C 00 40 40 */ cmplw r0, r8
/* 80325258 40 82 00 18 */ bne lbl_80325270
/* 8032525C 7C A3 2B 78 */ mr r3, r5
/* 80325260 80 84 00 2C */ lwz r4, 0x2c(r4)
/* 80325264 4B FE D7 A1 */ bl addShapePacket__12J3DMatPacketFP14J3DShapePacket
/* 80325268 38 60 00 00 */ li r3, 0
/* 8032526C 48 00 00 20 */ b lbl_8032528C
lbl_80325270:
/* 80325270 80 A5 00 04 */ lwz r5, 4(r5)
lbl_80325274:
/* 80325274 28 05 00 00 */ cmplwi r5, 0
/* 80325278 40 82 FF D8 */ bne lbl_80325250
/* 8032527C 90 C4 00 04 */ stw r6, 4(r4)
/* 80325280 80 63 00 00 */ lwz r3, 0(r3)
/* 80325284 7C 83 39 2E */ stwx r4, r3, r7
/* 80325288 38 60 00 01 */ li r3, 1
lbl_8032528C:
/* 8032528C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80325290 7C 08 03 A6 */ mtlr r0
/* 80325294 38 21 00 10 */ addi r1, r1, 0x10
/* 80325298 4E 80 00 20 */ blr

View File

@ -1,91 +0,0 @@
lbl_8032509C:
/* 8032509C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803250A0 7C 08 02 A6 */ mflr r0
/* 803250A4 90 01 00 24 */ stw r0, 0x24(r1)
/* 803250A8 39 61 00 20 */ addi r11, r1, 0x20
/* 803250AC 48 03 D1 2D */ bl _savegpr_28
/* 803250B0 7C 7E 1B 78 */ mr r30, r3
/* 803250B4 7C 9F 23 78 */ mr r31, r4
/* 803250B8 38 00 00 00 */ li r0, 0
/* 803250BC 90 04 00 04 */ stw r0, 4(r4)
/* 803250C0 90 04 00 08 */ stw r0, 8(r4)
/* 803250C4 80 64 00 2C */ lwz r3, 0x2c(r4)
/* 803250C8 90 03 00 04 */ stw r0, 4(r3)
/* 803250CC 90 03 00 08 */ stw r0, 8(r3)
/* 803250D0 80 04 00 34 */ lwz r0, 0x34(r4)
/* 803250D4 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0
/* 803250D8 41 82 00 20 */ beq lbl_803250F8
/* 803250DC 80 7E 00 00 */ lwz r3, 0(r30)
/* 803250E0 80 03 00 00 */ lwz r0, 0(r3)
/* 803250E4 90 1F 00 04 */ stw r0, 4(r31)
/* 803250E8 80 7E 00 00 */ lwz r3, 0(r30)
/* 803250EC 93 E3 00 00 */ stw r31, 0(r3)
/* 803250F0 38 60 00 01 */ li r3, 1
/* 803250F4 48 00 00 D8 */ b lbl_803251CC
lbl_803250F8:
/* 803250F8 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */
/* 803250FC 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */
/* 80325100 83 A3 00 58 */ lwz r29, 0x58(r3)
/* 80325104 80 7F 00 30 */ lwz r3, 0x30(r31)
/* 80325108 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 8032510C 38 80 00 00 */ li r4, 0
/* 80325110 81 83 00 00 */ lwz r12, 0(r3)
/* 80325114 81 8C 00 50 */ lwz r12, 0x50(r12)
/* 80325118 7D 89 03 A6 */ mtctr r12
/* 8032511C 4E 80 04 21 */ bctrl
/* 80325120 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 80325124 28 00 FF FF */ cmplwi r0, 0xffff
/* 80325128 40 82 00 0C */ bne lbl_80325134
/* 8032512C 38 80 00 00 */ li r4, 0
/* 80325130 48 00 00 1C */ b lbl_8032514C
lbl_80325134:
/* 80325134 80 9D 00 04 */ lwz r4, 4(r29)
/* 80325138 54 60 2A F4 */ rlwinm r0, r3, 5, 0xb, 0x1a
/* 8032513C 7C 64 02 14 */ add r3, r4, r0
/* 80325140 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 80325144 7C 03 02 14 */ add r0, r3, r0
/* 80325148 54 04 D9 7E */ srwi r4, r0, 5
lbl_8032514C:
/* 8032514C 80 7E 00 04 */ lwz r3, 4(r30)
/* 80325150 38 03 FF FF */ addi r0, r3, -1
/* 80325154 7C 80 00 38 */ and r0, r4, r0
/* 80325158 80 7E 00 00 */ lwz r3, 0(r30)
/* 8032515C 54 1D 10 3A */ slwi r29, r0, 2
/* 80325160 7C 03 E8 2E */ lwzx r0, r3, r29
/* 80325164 28 00 00 00 */ cmplwi r0, 0
/* 80325168 40 82 00 10 */ bne lbl_80325178
/* 8032516C 7F E3 E9 2E */ stwx r31, r3, r29
/* 80325170 38 60 00 01 */ li r3, 1
/* 80325174 48 00 00 58 */ b lbl_803251CC
lbl_80325178:
/* 80325178 7C 1C 03 78 */ mr r28, r0
/* 8032517C 48 00 00 30 */ b lbl_803251AC
lbl_80325180:
/* 80325180 7F 83 E3 78 */ mr r3, r28
/* 80325184 7F E4 FB 78 */ mr r4, r31
/* 80325188 4B FE D8 ED */ bl isSame__12J3DMatPacketCFP12J3DMatPacket
/* 8032518C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80325190 41 82 00 18 */ beq lbl_803251A8
/* 80325194 7F 83 E3 78 */ mr r3, r28
/* 80325198 80 9F 00 2C */ lwz r4, 0x2c(r31)
/* 8032519C 4B FE D8 69 */ bl addShapePacket__12J3DMatPacketFP14J3DShapePacket
/* 803251A0 38 60 00 00 */ li r3, 0
/* 803251A4 48 00 00 28 */ b lbl_803251CC
lbl_803251A8:
/* 803251A8 83 9C 00 04 */ lwz r28, 4(r28)
lbl_803251AC:
/* 803251AC 28 1C 00 00 */ cmplwi r28, 0
/* 803251B0 40 82 FF D0 */ bne lbl_80325180
/* 803251B4 80 7E 00 00 */ lwz r3, 0(r30)
/* 803251B8 7C 03 E8 2E */ lwzx r0, r3, r29
/* 803251BC 90 1F 00 04 */ stw r0, 4(r31)
/* 803251C0 80 7E 00 00 */ lwz r3, 0(r30)
/* 803251C4 7F E3 E9 2E */ stwx r31, r3, r29
/* 803251C8 38 60 00 01 */ li r3, 1
lbl_803251CC:
/* 803251CC 39 61 00 20 */ addi r11, r1, 0x20
/* 803251D0 48 03 D0 55 */ bl _restgpr_28
/* 803251D4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803251D8 7C 08 03 A6 */ mtlr r0
/* 803251DC 38 21 00 20 */ addi r1, r1, 0x20
/* 803251E0 4E 80 00 20 */ blr

View File

@ -1,16 +0,0 @@
lbl_80325068:
/* 80325068 80 A3 00 04 */ lwz r5, 4(r3)
/* 8032506C 38 80 00 00 */ li r4, 0
/* 80325070 7C 80 23 78 */ mr r0, r4
/* 80325074 7C A9 03 A6 */ mtctr r5
/* 80325078 28 05 00 00 */ cmplwi r5, 0
/* 8032507C 40 81 00 14 */ ble lbl_80325090
lbl_80325080:
/* 80325080 80 A3 00 00 */ lwz r5, 0(r3)
/* 80325084 7C 05 21 2E */ stwx r0, r5, r4
/* 80325088 38 84 00 04 */ addi r4, r4, 4
/* 8032508C 42 00 FF F4 */ bdnz lbl_80325080
lbl_80325090:
/* 80325090 38 00 00 00 */ li r0, 0
/* 80325094 90 03 00 20 */ stw r0, 0x20(r3)
/* 80325098 4E 80 00 20 */ blr

View File

@ -65,7 +65,7 @@ public:
void offFlag(u32 flag) { mFlags &= ~flag; }
bool checkFlag(u32 flag) const { return (mFlags & flag) ? true : false; }
bool isCpuSkinningOn() const { return (mFlags & 4) && (mFlags & 8); }
bool isCpuSkinningOn() const { return (mFlags & J3DMdlFlag_SkinPosCpu) && (mFlags & J3DMdlFlag_SkinNrmCpu); }
Mtx& getBaseTRMtx() { return mBaseTransformMtx; }
void i_setBaseTRMtx(Mtx m) { PSMTXCopy(m, mBaseTransformMtx); }

View File

@ -148,7 +148,7 @@ public:
/* 8031730C */ virtual bool countDLSize();
/* 80323544 */ virtual void setTexNo(u32, u16 const*);
/* 8000E0AC */ virtual void setTexNo(u32, u16);
/* 8000DF94 */ virtual void getTexNo(u32) const;
/* 8000DF94 */ virtual u32 getTexNo(u32) const;
/* 80323548 */ virtual void setTevOrder(u32, J3DTevOrder const*);
/* 8000E0BC */ virtual void setTevOrder(u32, J3DTevOrder);
/* 8000DFB8 */ virtual bool getTevOrder(u32);
@ -211,7 +211,7 @@ public:
/* 80317BB4 */ virtual s32 countDLSize();
/* 803229D0 */ virtual void setTexNo(u32, u16 const*);
/* 803229C0 */ virtual void setTexNo(u32, u16);
/* 803229E4 */ virtual void getTexNo(u32) const;
/* 803229E4 */ virtual u32 getTexNo(u32) const;
/* 80322A08 */ virtual void setTevOrder(u32, J3DTevOrder const*);
/* 803229F4 */ virtual void setTevOrder(u32, J3DTevOrder);
/* 80322A1C */ virtual void getTevOrder(u32);
@ -275,7 +275,7 @@ public:
/* 80317BCC */ virtual s32 countDLSize();
/* 8032202C */ virtual void setTexNo(u32, u16 const*);
/* 8032201C */ virtual void setTexNo(u32, u16);
/* 80322040 */ virtual void getTexNo(u32) const;
/* 80322040 */ virtual u32 getTexNo(u32) const;
/* 80322064 */ virtual void setTevOrder(u32, J3DTevOrder const*);
/* 80322050 */ virtual void setTevOrder(u32, J3DTevOrder);
/* 80322078 */ virtual void getTevOrder(u32);
@ -345,7 +345,7 @@ public:
/* 80317BC4 */ virtual s32 countDLSize();
/* 803223F0 */ virtual void setTexNo(u32, u16 const*);
/* 803223E0 */ virtual void setTexNo(u32, u16);
/* 80322404 */ virtual void getTexNo(u32) const;
/* 80322404 */ virtual u32 getTexNo(u32) const;
/* 80322428 */ virtual void setTevOrder(u32, J3DTevOrder const*);
/* 80322414 */ virtual void setTevOrder(u32, J3DTevOrder);
/* 8032243C */ virtual void getTevOrder(u32);
@ -415,7 +415,7 @@ public:
/* 80317BD4 */ virtual s32 countDLSize();
/* 80321C60 */ virtual void setTexNo(u32, u16 const*);
/* 80321C50 */ virtual void setTexNo(u32, u16);
/* 80321C74 */ virtual void getTexNo(u32) const;
/* 80321C74 */ virtual u32 getTexNo(u32) const;
/* 80321C98 */ virtual void setTevOrder(u32, J3DTevOrder const*);
/* 80321C84 */ virtual void setTevOrder(u32, J3DTevOrder);
/* 80321CAC */ virtual void getTevOrder(u32);
@ -485,7 +485,7 @@ public:
/* 80317BBC */ virtual s32 countDLSize();
/* 803227B4 */ virtual void setTexNo(u32, u16 const*);
/* 803227A4 */ virtual void setTexNo(u32, u16);
/* 803227C8 */ virtual void getTexNo(u32) const;
/* 803227C8 */ virtual u32 getTexNo(u32) const;
/* 803227EC */ virtual void setTevOrder(u32, J3DTevOrder const*);
/* 803227D8 */ virtual void setTevOrder(u32, J3DTevOrder);
/* 80322800 */ virtual void getTevOrder(u32);

View File

@ -60,6 +60,7 @@ public:
}
}
J3DNBTScale* getNBTScale() const { return mTexGenBlock->getNBTScale(); }
u32 getTexNo(u32 idx) const { return mTevBlock->getTexNo(idx); }
void setTevColor(u32 i, const J3DGXColorS10* i_color) { mTevBlock->setTevColor(i, i_color); }

View File

@ -150,7 +150,7 @@ public:
J3DShapePacket* getShapePacket() const { return mpShapePacket; }
void setShapePacket(J3DShapePacket* packet) { mpShapePacket = packet; }
void setInitShapePacket(J3DShapePacket* packet) { mpInitShapePacket = packet; }
bool isChanged() const { return mDiffFlag < 0; }
bool isChanged() const { return mDiffFlag & 0x80000000; }
virtual ~J3DMatPacket();
virtual int entry(J3DDrawBuffer*);

View File

@ -623,13 +623,13 @@ void J3DModel::viewCalc() {
if (getMtxCalcMode() == 2) {
J3DCalcViewBaseMtx(j3dSys.getViewMtx(), mBaseScale, mBaseTransformMtx, (MtxP)&mInternalView);
}
} else if (checkFlag(4)) {
} else if (checkFlag(J3DMdlFlag_SkinPosCpu)) {
mMtxBuffer->calcDrawMtx(getMtxCalcMode(), mBaseScale, mBaseTransformMtx);
calcNrmMtx();
calcBumpMtx();
DCStoreRangeNoSync(getDrawMtxPtr(), mModelData->getDrawMtxNum() * sizeof(Mtx));
DCStoreRange(getNrmMtxPtr(), mModelData->getDrawMtxNum() * sizeof(Mtx33));
} else if (checkFlag(8)) {
} else if (checkFlag(J3DMdlFlag_SkinNrmCpu)) {
mMtxBuffer->calcDrawMtx(getMtxCalcMode(), mBaseScale, mBaseTransformMtx);
calcBBoardMtx();
DCStoreRange(getDrawMtxPtr(), mModelData->getDrawMtxNum() * sizeof(Mtx));

View File

@ -8,6 +8,7 @@
#include "dol2asm.h"
#include "dolphin/types.h"
#include "JSystem/J3DGraphBase/J3DPacket.h"
#include "JSystem/J3DGraphBase/J3DMaterial.h"
//
// Forward References:
@ -90,48 +91,82 @@ J3DDrawBuffer::~J3DDrawBuffer() {
mpBuf = NULL;
}
#ifdef NONMATCHING
/* 80325068-8032509C 31F9A8 0034+00 2/2 1/1 0/0 .text frameInit__13J3DDrawBufferFv */
void J3DDrawBuffer::frameInit() {
// can't make mwcc not generate "mtctr" for this loop
for (int i = 0; i < mBufSize; i++)
u32 bufSize = mBufSize;
for (u32 i = 0; i < bufSize; i++)
mpBuf[i] = NULL;
mpCallBackPacket = NULL;
}
#else
/* 80325068-8032509C 31F9A8 0034+00 2/2 1/1 0/0 .text frameInit__13J3DDrawBufferFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DDrawBuffer::frameInit() {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DDrawBuffer/frameInit__13J3DDrawBufferFv.s"
}
#pragma pop
#endif
/* 8032509C-803251E4 31F9DC 0148+00 2/1 0/0 0/0 .text
* entryMatSort__13J3DDrawBufferFP12J3DMatPacket */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int J3DDrawBuffer::entryMatSort(J3DMatPacket* param_0) {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DDrawBuffer/entryMatSort__13J3DDrawBufferFP12J3DMatPacket.s"
int J3DDrawBuffer::entryMatSort(J3DMatPacket* pMatPacket) {
pMatPacket->drawClear();
pMatPacket->getShapePacket()->drawClear();
if (pMatPacket->isChanged()) {
pMatPacket->setNextPacket(mpBuf[0]);
mpBuf[0] = pMatPacket;
return 1;
}
J3DTexture* texture = j3dSys.getTexture();
u32 hash;
u32 texNo = pMatPacket->getMaterial()->getTexNo(0);
if ((u16)texNo == 0xFFFF) {
hash = 0;
} else {
hash = ((u32)texture->getResTIMG(texNo) + texture->getResTIMG(texNo)->imageOffset) >> 5;
}
u32 slot = hash & (mBufSize - 1);
if (mpBuf[slot] == NULL) {
mpBuf[slot] = pMatPacket;
return 1;
} else {
for (J3DMatPacket* pkt = (J3DMatPacket*)mpBuf[slot]; pkt != NULL; pkt = (J3DMatPacket*)pkt->getNextPacket()) {
if (pkt->isSame(pMatPacket)) {
pkt->addShapePacket(pMatPacket->getShapePacket());
return 0;
}
}
pMatPacket->setNextPacket(mpBuf[slot]);
mpBuf[slot] = pMatPacket;
return 1;
}
}
#pragma pop
/* 803251E4-8032529C 31FB24 00B8+00 1/0 0/0 0/0 .text
* entryMatAnmSort__13J3DDrawBufferFP12J3DMatPacket */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int J3DDrawBuffer::entryMatAnmSort(J3DMatPacket* param_0) {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DDrawBuffer/entryMatAnmSort__13J3DDrawBufferFP12J3DMatPacket.s"
int J3DDrawBuffer::entryMatAnmSort(J3DMatPacket* pMatPacket) {
J3DMaterialAnm* pMaterialAnm = pMatPacket->mpMaterialAnm;
u32 slot = (u32)pMaterialAnm & (mBufSize - 1);
if (pMaterialAnm == NULL) {
return entryMatSort(pMatPacket);
} else {
pMatPacket->drawClear();
pMatPacket->getShapePacket()->drawClear();
if (mpBuf[slot] == NULL) {
mpBuf[slot] = pMatPacket;
return 1;
} else {
for (J3DMatPacket* pkt = (J3DMatPacket*)mpBuf[slot]; pkt != NULL; pkt = (J3DMatPacket*)pkt->getNextPacket()) {
if (pkt->mpMaterialAnm == pMaterialAnm) {
pkt->addShapePacket(pMatPacket->getShapePacket());
return 0;
}
}
pMatPacket->setNextPacket(mpBuf[slot]);
mpBuf[slot] = pMatPacket;
return 1;
}
}
}
#pragma pop
inline f32 J3DCalcZValue(register MtxP m, register Vec v) {
register f32 out;

View File

@ -2586,7 +2586,7 @@ asm void J3DTevBlock16::setTexNo(u32 param_0, u16 const* param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DTevBlock16::getTexNo(u32 param_0) const {
asm u32 J3DTevBlock16::getTexNo(u32 param_0) const {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DMatBlock/getTexNo__13J3DTevBlock16CFUl.s"
}
@ -3639,7 +3639,7 @@ asm void J3DTevBlock4::setTexNo(u32 param_0, u16 const* param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DTevBlock4::getTexNo(u32 param_0) const {
asm u32 J3DTevBlock4::getTexNo(u32 param_0) const {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DMatBlock/getTexNo__12J3DTevBlock4CFUl.s"
}
@ -4032,7 +4032,7 @@ asm void J3DTevBlock2::setTexNo(u32 param_0, u16 const* param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DTevBlock2::getTexNo(u32 param_0) const {
asm u32 J3DTevBlock2::getTexNo(u32 param_0) const {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DMatBlock/getTexNo__12J3DTevBlock2CFUl.s"
}
@ -4425,7 +4425,7 @@ asm void J3DTevBlock1::setTexNo(u32 param_0, u16 const* param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DTevBlock1::getTexNo(u32 param_0) const {
asm u32 J3DTevBlock1::getTexNo(u32 param_0) const {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DMatBlock/getTexNo__12J3DTevBlock1CFUl.s"
}
@ -4679,7 +4679,7 @@ asm void J3DTevBlockPatched::setTexNo(u32 param_0, u16 const* param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DTevBlockPatched::getTexNo(u32 param_0) const {
asm u32 J3DTevBlockPatched::getTexNo(u32 param_0) const {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DMatBlock/getTexNo__18J3DTevBlockPatchedCFUl.s"
}

View File

@ -1657,7 +1657,7 @@ bool J3DTevBlock::getTevStage(u32 param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J3DTevBlock::getTexNo(u32 param_0) const {
asm u32 J3DTevBlock::getTexNo(u32 param_0) const {
nofralloc
#include "asm/m_Do/m_Do_ext/getTexNo__11J3DTevBlockCFUl.s"
}