From 294b15cab01f2771a9362e1807cc5de67c94c82d Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Sun, 1 Oct 2023 16:38:33 -0700 Subject: [PATCH] J3DMaterial all fn match now just need to adjust vtable order --- include/JSystem/J3DGraphBase/J3DMatBlock.h | 52 +++++++++++----------- include/JSystem/J3DGraphBase/J3DShape.h | 7 ++- include/JSystem/J3DGraphBase/J3DTexture.h | 2 +- src/JSystem/J3DGraphBase/J3DMaterial.cpp | 1 - 4 files changed, 30 insertions(+), 32 deletions(-) diff --git a/include/JSystem/J3DGraphBase/J3DMatBlock.h b/include/JSystem/J3DGraphBase/J3DMatBlock.h index 1f7a9b59c..06a4fbac7 100644 --- a/include/JSystem/J3DGraphBase/J3DMatBlock.h +++ b/include/JSystem/J3DGraphBase/J3DMatBlock.h @@ -630,32 +630,32 @@ struct J3DAlphaComp { class J3DPEBlock { public: virtual void reset(J3DPEBlock*); - virtual void load() = 0; - virtual void patch() = 0; - virtual void diff(u32) = 0; - virtual void diffFog() = 0; - virtual void diffBlend() = 0; - virtual s32 countDLSize() = 0; - virtual u32 getType() = 0; - virtual void setFog(J3DFog*) = 0; - virtual J3DFog* getFog() = 0; - virtual void setAlphaComp(J3DAlphaComp const*) = 0; - virtual void setAlphaComp(J3DAlphaComp) = 0; - virtual J3DAlphaComp* getAlphaComp() = 0; - virtual void setBlend(J3DBlend const*) = 0; - virtual void setBlend(J3DBlend) = 0; - virtual J3DBlend* getBlend() = 0; - virtual void setZMode(J3DZMode const*) = 0; - virtual void setZMode(J3DZMode) = 0; - virtual J3DZMode* getZMode() = 0; - virtual void setZCompLoc(u8 const*) = 0; - virtual void setZCompLoc(u8) = 0; - virtual u8 getZCompLoc() const = 0; - virtual void setDither(u8 const*) = 0; - virtual void setDither(u8) = 0; - virtual u8 getDither() const = 0; - virtual u32 getFogOffset() const = 0; - virtual void setFogOffset(u32) = 0; + virtual void load(); + virtual void patch(); + virtual void diff(u32); + virtual void diffFog(); + virtual void diffBlend(); + virtual s32 countDLSize(); + virtual u32 getType(); + virtual void setFog(J3DFog*); + virtual J3DFog* getFog(); + virtual void setAlphaComp(J3DAlphaComp const*); + virtual void setAlphaComp(J3DAlphaComp); + virtual J3DAlphaComp* getAlphaComp(); + virtual void setBlend(J3DBlend const*); + virtual void setBlend(J3DBlend); + virtual J3DBlend* getBlend(); + virtual void setZMode(J3DZMode const*); + virtual void setZMode(J3DZMode); + virtual J3DZMode* getZMode(); + virtual void setZCompLoc(u8 const*); + virtual void setZCompLoc(u8); + virtual u8 getZCompLoc() const; + virtual void setDither(u8 const*); + virtual void setDither(u8); + virtual u8 getDither() const; + virtual u32 getFogOffset() const; + virtual void setFogOffset(u32); virtual ~J3DPEBlock() {} }; diff --git a/include/JSystem/J3DGraphBase/J3DShape.h b/include/JSystem/J3DGraphBase/J3DShape.h index a4a95716d..1346f0ae1 100644 --- a/include/JSystem/J3DGraphBase/J3DShape.h +++ b/include/JSystem/J3DGraphBase/J3DShape.h @@ -42,10 +42,9 @@ public: GFX_FIFO(u32) = getMtxIdxRegB(); } - void setCurrentTexMtx(u8 param_1, u8 param_2, u8 param_3, u8 param_4, - u8 param_5, u8 param_6, u8 param_7, u8 param_8) { - mMtxIdxRegA = ((param_1 & 0xff) << 6) | (param_2 << 0xc)| (param_3 << 0x12) | (param_4 << 0x18); - mMtxIdxRegB = (param_5) | param_6 << 6 | param_7 << 0xc | param_8 << 0x12; + void setCurrentTexMtx(u8 t0, u8 t1, u8 t2, u8 t3, u8 t4, u8 t5, u8 t6, u8 t7) { + mMtxIdxRegA = t0 << 6 | t1 << 12 | t2 << 18 | t3 << 24; + mMtxIdxRegB = t4 << 0 | t5 << 6 | t6 << 12 | t7 << 18; } }; diff --git a/include/JSystem/J3DGraphBase/J3DTexture.h b/include/JSystem/J3DGraphBase/J3DTexture.h index a8a3eaa5e..2a5e77088 100644 --- a/include/JSystem/J3DGraphBase/J3DTexture.h +++ b/include/JSystem/J3DGraphBase/J3DTexture.h @@ -82,7 +82,7 @@ struct J3DTexCoord : public J3DTexCoordInfo { u8 getTexGenType() { return mTexGenType; } u8 getTexGenSrc() { return mTexGenSrc; } - u8 getTexGenMtx() { return mTexGenMtx & 0xff; } + u32 getTexGenMtx() { return mTexGenMtx & 0xFF; } void setTexGenMtx(u8 v) { mTexGenMtx = v; } }; // Size: 0x4 diff --git a/src/JSystem/J3DGraphBase/J3DMaterial.cpp b/src/JSystem/J3DGraphBase/J3DMaterial.cpp index 2feb943f7..21b8dff94 100644 --- a/src/JSystem/J3DGraphBase/J3DMaterial.cpp +++ b/src/JSystem/J3DGraphBase/J3DMaterial.cpp @@ -270,7 +270,6 @@ void J3DMaterial::setCurrentMtx() { /* 802DEEA0-802DEFF0 .text calcCurrentMtx__11J3DMaterialFv */ void J3DMaterial::calcCurrentMtx() { - /* Nonmatching */ mCurrentMtx.setCurrentTexMtx( mTexGenBlock->getTexCoord(0)->getTexGenMtx(), mTexGenBlock->getTexCoord(1)->getTexGenMtx(),