summaryrefslogtreecommitdiff
path: root/include/JSystem/J3DGraphBase
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2024-05-24 19:47:15 -0700
committerGitHub <noreply@github.com>2024-05-24 20:47:15 -0600
commit411a832fbb90e6c61a6b5d982b9380533683c301 (patch)
tree6ebb09457b03e4ff4d04a2af4b7113d9bdb3fe71 /include/JSystem/J3DGraphBase
parent38ac3e9227f05b3b59d1e5bfd3e4df8d2fa48a19 (diff)
d_a_e_vt mostly done (#2158)
Diffstat (limited to 'include/JSystem/J3DGraphBase')
-rw-r--r--include/JSystem/J3DGraphBase/J3DMatBlock.h18
-rw-r--r--include/JSystem/J3DGraphBase/J3DMaterial.h4
2 files changed, 19 insertions, 3 deletions
diff --git a/include/JSystem/J3DGraphBase/J3DMatBlock.h b/include/JSystem/J3DGraphBase/J3DMatBlock.h
index 9634fb3b09..c2b125c2ac 100644
--- a/include/JSystem/J3DGraphBase/J3DMatBlock.h
+++ b/include/JSystem/J3DGraphBase/J3DMatBlock.h
@@ -617,6 +617,8 @@ struct J3DZModeInfo {
/* 0x3 */ u8 pad;
};
+extern u8 j3dZModeTable[96];
+
/**
* @ingroup jsystem-j3d
*
@@ -629,6 +631,14 @@ struct J3DZMode {
mZModeID = calcZModeID(info.field_0x0, info.field_0x1, info.field_0x2);
}
+ void setCompareEnable(u8 i_compare) {
+ mZModeID = calcZModeID(i_compare, j3dZModeTable[mZModeID * 3 + 1], j3dZModeTable[mZModeID * 3 + 2]);
+ }
+
+ void setUpdateEnable(u8 i_enable) {
+ mZModeID = calcZModeID(j3dZModeTable[mZModeID * 3], j3dZModeTable[mZModeID * 3 + 1], i_enable);
+ }
+
/* 0x0 */ u16 mZModeID;
};
@@ -655,6 +665,8 @@ extern const J3DBlendInfo j3dDefaultBlendInfo;
struct J3DBlend : public J3DBlendInfo {
J3DBlend() : J3DBlendInfo(j3dDefaultBlendInfo) {}
J3DBlend(J3DBlendInfo const& info) : J3DBlendInfo(info) {}
+
+ void setDstFactor(u8 i_factor) { mDstFactor = i_factor; }
};
extern const J3DFogInfo j3dDefaultFogInfo;
@@ -746,7 +758,7 @@ public:
/* 8000DF54 */ virtual J3DAlphaComp* getAlphaComp();
/* 80317370 */ virtual void setBlend(J3DBlend const*);
/* 8000E018 */ virtual void setBlend(J3DBlend const&);
- /* 8000DF4C */ virtual bool getBlend();
+ /* 8000DF4C */ virtual J3DBlend* getBlend();
/* 80317374 */ virtual void setZMode(J3DZMode const*);
/* 8000E014 */ virtual void setZMode(J3DZMode);
/* 8000DF44 */ virtual J3DZMode* getZMode();
@@ -834,7 +846,7 @@ public:
/* 803219E0 */ virtual J3DAlphaComp* getAlphaComp();
/* 803219F4 */ virtual void setBlend(J3DBlend const*);
/* 803219E8 */ virtual void setBlend(J3DBlend const&);
- /* 80321A00 */ virtual bool getBlend();
+ /* 80321A00 */ virtual J3DBlend* getBlend();
/* 80321A14 */ virtual void setZMode(J3DZMode const*);
/* 80321A08 */ virtual void setZMode(J3DZMode);
/* 80321A20 */ virtual J3DZMode* getZMode();
@@ -879,7 +891,7 @@ public:
/* 80321B44 */ virtual J3DAlphaComp* getAlphaComp();
/* 80321B58 */ virtual void setBlend(J3DBlend const*);
/* 80321B4C */ virtual void setBlend(J3DBlend const&);
- /* 80321B64 */ virtual bool getBlend();
+ /* 80321B64 */ virtual J3DBlend* getBlend();
/* 80321B78 */ virtual void setZMode(J3DZMode const*);
/* 80321B6C */ virtual void setZMode(J3DZMode);
/* 80321B84 */ virtual J3DZMode* getZMode();
diff --git a/include/JSystem/J3DGraphBase/J3DMaterial.h b/include/JSystem/J3DGraphBase/J3DMaterial.h
index 79545e01e8..94a4ee3fec 100644
--- a/include/JSystem/J3DGraphBase/J3DMaterial.h
+++ b/include/JSystem/J3DGraphBase/J3DMaterial.h
@@ -76,12 +76,16 @@ public:
u32 getTexGenNum() const { return mTexGenBlock->getTexGenNum(); }
u8 getTevStageNum() const { return mTevBlock->getTevStageNum(); }
J3DTexCoord* getTexCoord(u32 idx) { return mTexGenBlock->getTexCoord(idx); }
+ J3DZMode* getZMode() { return mPEBlock->getZMode(); }
+ J3DBlend* getBlend() { return mPEBlock->getBlend(); }
void setTevColor(u32 i, const J3DGXColorS10* i_color) { mTevBlock->setTevColor(i, i_color); }
void setTevKColor(u32 i, const J3DGXColor* i_color) { mTevBlock->setTevKColor(i, i_color); }
void setMaterialAnm(J3DMaterialAnm* i_anm) { mMaterialAnm = i_anm; }
void setCullMode(u8 i_mode) { mColorBlock->setCullMode(i_mode); }
void setTexMtx(u32 idx, J3DTexMtx* mtx) { mTexGenBlock->setTexMtx(idx, mtx); }
+ void setZCompLoc(u8 i_comploc) { mPEBlock->setZCompLoc(i_comploc); }
+ void setMaterialMode(u32 i_mode) { mMaterialMode = i_mode; }
public:
/* 0x04 */ J3DMaterial* mNext;