summaryrefslogtreecommitdiff
path: root/include/JSystem
diff options
context:
space:
mode:
authorDylan Ascencio <empressglatia@gmail.com>2023-09-28 22:38:16 -0400
committerDylan Ascencio <empressglatia@gmail.com>2023-09-28 22:38:16 -0400
commitf2d748da3e446bfd306561018eb17059e40eeeb3 (patch)
tree0fd22eb586d6dcf20a260f73ce54f65a3842951d /include/JSystem
parent2001db31bc9de174210730112707e809d62900c5 (diff)
Match mknjd::draw and mknjd::setMaterial
Diffstat (limited to 'include/JSystem')
-rw-r--r--include/JSystem/J3DGraphBase/J3DMatBlock.h24
-rw-r--r--include/JSystem/J3DGraphBase/J3DMaterial.h1
2 files changed, 24 insertions, 1 deletions
diff --git a/include/JSystem/J3DGraphBase/J3DMatBlock.h b/include/JSystem/J3DGraphBase/J3DMatBlock.h
index 940108e0..886b82a7 100644
--- a/include/JSystem/J3DGraphBase/J3DMatBlock.h
+++ b/include/JSystem/J3DGraphBase/J3DMatBlock.h
@@ -528,7 +528,7 @@ private:
extern const u16 j3dDefaultZModeID;
inline u16 calcZModeID(u8 param_0, u8 param_1, u8 param_2) {
- return ((param_1 * 2) & 0x1FE) + (param_0 * 0x10) + param_2;
+ return (param_1 * 2) + (param_0 * 0x10) + param_2;
}
struct J3DZModeInfo {
@@ -537,6 +537,8 @@ struct J3DZModeInfo {
/* 0x2 */ u8 field_0x2;
};
+extern J3DZModeInfo j3dZModeTable[2];
+
struct J3DZMode {
J3DZMode() {
mZModeID = j3dDefaultZModeID;
@@ -546,6 +548,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].field_0x1, j3dZModeTable[mZModeID].field_0x2);
+ }
+
+ void setUpdateEnable(u8 i_enable) {
+ mZModeID = calcZModeID(j3dZModeTable[mZModeID].field_0x0, j3dZModeTable[mZModeID].field_0x1, i_enable);
+ }
+
/* 0x0 */ u16 mZModeID;
};
@@ -562,6 +572,18 @@ struct J3DBlend : public J3DBlendInfo {
J3DBlend() {
*(J3DBlendInfo*)this = j3dDefaultBlendInfo;
}
+
+ void setType(u8 i_type) {
+ mType = i_type;
+ }
+
+ void setSrcFactor(u8 i_src) {
+ mSrcFactor = i_src;
+ }
+
+ void setDstFactor(u8 i_dst) {
+ mDstFactor = i_dst;
+ }
};
extern const J3DFogInfo j3dDefaultFogInfo;
diff --git a/include/JSystem/J3DGraphBase/J3DMaterial.h b/include/JSystem/J3DGraphBase/J3DMaterial.h
index 9dc13072..bedcac04 100644
--- a/include/JSystem/J3DGraphBase/J3DMaterial.h
+++ b/include/JSystem/J3DGraphBase/J3DMaterial.h
@@ -74,6 +74,7 @@ public:
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 setMaterialMode(u32 i_mode) { mMaterialMode = i_mode; }
public:
/* 0x04 */ J3DMaterial* mNext;