mirror of
https://github.com/zeldaret/tww.git
synced 2026-07-10 06:16:52 -04:00
Match mknjd::draw and mknjd::setMaterial
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -1354,6 +1354,7 @@ inline void dComIfGd_setListP1() {
|
||||
|
||||
inline void dComIfGd_setListBG() {
|
||||
g_dComIfG_gameInfo.drawlist.setOpaListBG();
|
||||
g_dComIfG_gameInfo.drawlist.setXluListBG();
|
||||
}
|
||||
|
||||
inline void dComIfGd_setXluListBG() {
|
||||
|
||||
@@ -214,8 +214,8 @@ public:
|
||||
|
||||
void setXluDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, XLU_BUFFER); }
|
||||
void setOpaDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, OPA_BUFFER); }
|
||||
void setOpaList() { setOpaDrawList(mpBufInvisibleModelOpa); }
|
||||
void setXluList() { setXluDrawList(mpBufInvisibleModelXlu); }
|
||||
void setOpaList() { setOpaDrawList(mpBufWorldOpa); }
|
||||
void setXluList() { setXluDrawList(mpBufWorldXlu); }
|
||||
void setOpaListMaskOff() { setOpaDrawList(mpBufInvisibleModelMaskOffOpa); }
|
||||
void setXluListMaskOff() { setXluDrawList(mpBufInvisibleModelMaskOffXlu); }
|
||||
void setOpaListSky() { setOpaDrawList(mpBufSkyOpa); }
|
||||
@@ -224,8 +224,8 @@ public:
|
||||
void setXluListP0() { setXluDrawList(mpLinkBuf); }
|
||||
void setOpaListP1() { setOpaDrawList(field_0x0000c); }
|
||||
void setXluListP1() { setXluDrawList(field_0x00010); }
|
||||
void setOpaListBG() { setOpaDrawList(mpBufWorldOpa); }
|
||||
void setXluListBG() { setXluDrawList(mpBufWorldXlu); }
|
||||
void setOpaListBG() { setOpaDrawList(mpBufInvisibleModelOpa); }
|
||||
void setXluListBG() { setXluDrawList(mpBufInvisibleModelXlu); }
|
||||
void setOpaListFilter() { setOpaDrawList(mpWetherFxBuffer); }
|
||||
void setXluListFilter() { setXluDrawList(mpWetherFxBuffer); }
|
||||
void setOpaList2D() { setOpaDrawList(field_0x00038); }
|
||||
|
||||
Reference in New Issue
Block a user