diff options
| author | hatal175 <hatal175@users.noreply.github.com> | 2023-08-02 18:46:40 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-08-02 18:46:40 +0300 |
| commit | f3f944c7975ce6750db8a2c8121d0a0c0cdf4def (patch) | |
| tree | 2f9a149ac17d9b87eb6c7e45fd4977b04e926f0c /include/JSystem/J3DGraphBase | |
| parent | 24161e34d27f70ab54d584769b1d9f71262d02e9 (diff) | |
| parent | 392f6101ca8d9187768d9764b14f8dce6bb7be59 (diff) | |
Merge pull request #396 from TakaRikka/swprop
d_a_obj_swpropeller OK, work on d_kankyo / kytag08
Diffstat (limited to 'include/JSystem/J3DGraphBase')
| -rw-r--r-- | include/JSystem/J3DGraphBase/J3DMatBlock.h | 35 | ||||
| -rw-r--r-- | include/JSystem/J3DGraphBase/J3DStruct.h | 2 |
2 files changed, 28 insertions, 9 deletions
diff --git a/include/JSystem/J3DGraphBase/J3DMatBlock.h b/include/JSystem/J3DGraphBase/J3DMatBlock.h index 377746bb9d..d86ade35cc 100644 --- a/include/JSystem/J3DGraphBase/J3DMatBlock.h +++ b/include/JSystem/J3DGraphBase/J3DMatBlock.h @@ -9,14 +9,12 @@ #include "dolphin/types.h" #include "m_Do/m_Do_lib.h" -struct J3DGXColorS10 { - /* 8000E460 */ J3DGXColorS10(); - - _GXColorS10 mColor; +struct J3DGXColorS10 : public GXColorS10 { + /* 8000E460 */ J3DGXColorS10() {} }; -struct J3DGXColor : public _GXColor { - /* 8000E538 */ J3DGXColor(); +struct J3DGXColor : public GXColor { + /* 8000E538 */ J3DGXColor() {} }; struct J3DNBTScaleInfo { @@ -542,10 +540,25 @@ 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; +} + +struct J3DZModeInfo { + /* 0x0 */ u8 field_0x0; + /* 0x1 */ u8 field_0x1; + /* 0x2 */ u8 field_0x2; +}; + struct J3DZMode { J3DZMode() { mZModeID = j3dDefaultZModeID; } + + void setZModeInfo(const J3DZModeInfo& info) { + mZModeID = calcZModeID(info.field_0x0, info.field_0x1, info.field_0x2); + } + /* 0x0 */ u16 mZModeID; }; @@ -618,6 +631,10 @@ struct J3DAlphaComp { mRef1 = param_1.field_0x4; u32 p1_mref1 = param_1.mRef1; field_0x0 = calcAlphaCmpID(param_1.field_0x0, param_1.mRef0, p1_mref1); + + // this matches for `dKy_bg_MAxx_proc` but causes `addWarpMaterial` to fail, + // while the above matches for `addWarpMaterial` but causes `dKy_bg_MAxx_proc` to fail? + // field_0x0 = calcAlphaCmpID(param_1.field_0x0, param_1.mRef0, param_1.mRef1); } /* 0x00 */ u16 field_0x0; @@ -646,7 +663,7 @@ public: /* 8000DF4C */ virtual bool getBlend(); /* 80317374 */ virtual void setZMode(J3DZMode const*); /* 8000E014 */ virtual void setZMode(J3DZMode); - /* 8000DF44 */ virtual bool getZMode(); + /* 8000DF44 */ virtual J3DZMode* getZMode(); /* 80317378 */ virtual void setZCompLoc(u8 const*); /* 8000E010 */ virtual void setZCompLoc(u8); /* 8000DF3C */ virtual bool getZCompLoc() const; @@ -708,7 +725,7 @@ public: /* 80321A00 */ virtual bool getBlend(); /* 80321A14 */ virtual void setZMode(J3DZMode const*); /* 80321A08 */ virtual void setZMode(J3DZMode); - /* 80321A20 */ virtual bool getZMode(); + /* 80321A20 */ virtual J3DZMode* getZMode(); /* 80321A30 */ virtual void setZCompLoc(u8 const*); /* 80321A28 */ virtual void setZCompLoc(u8); /* 80321A3C */ virtual bool getZCompLoc() const; @@ -750,7 +767,7 @@ public: /* 80321B64 */ virtual bool getBlend(); /* 80321B78 */ virtual void setZMode(J3DZMode const*); /* 80321B6C */ virtual void setZMode(J3DZMode); - /* 80321B84 */ virtual bool getZMode(); + /* 80321B84 */ virtual J3DZMode* getZMode(); /* 80321B94 */ virtual void setZCompLoc(u8 const*); /* 80321B8C */ virtual void setZCompLoc(u8); /* 80321BA0 */ virtual bool getZCompLoc() const; diff --git a/include/JSystem/J3DGraphBase/J3DStruct.h b/include/JSystem/J3DGraphBase/J3DStruct.h index cb98164d03..5fa9a87af1 100644 --- a/include/JSystem/J3DGraphBase/J3DStruct.h +++ b/include/JSystem/J3DGraphBase/J3DStruct.h @@ -23,6 +23,8 @@ class J3DLightObj { public: /* 80018C0C */ J3DLightObj() : mInfo(j3dDefaultLightInfo) {} + J3DLightInfo& getLightInfo() { return mInfo; } + /* 0x00 */ J3DLightInfo mInfo; /* 0x34 */ u8 field_0x34[64]; }; // Size = 0x74 |
