J3DMaterial all fn match

now just need to adjust vtable order
This commit is contained in:
Jasper St. Pierre
2023-10-01 16:38:33 -07:00
parent b6d5325291
commit 294b15cab0
4 changed files with 30 additions and 32 deletions
+26 -26
View File
@@ -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() {}
};
+3 -4
View File
@@ -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;
}
};
+1 -1
View File
@@ -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
-1
View File
@@ -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(),