summaryrefslogtreecommitdiff
path: root/include/JSystem
diff options
context:
space:
mode:
Diffstat (limited to 'include/JSystem')
-rw-r--r--include/JSystem/J3DGraphBase/J3DMatBlock.h35
-rw-r--r--include/JSystem/J3DGraphBase/J3DStruct.h2
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