summaryrefslogtreecommitdiff
path: root/include/JSystem/J2DGraph
diff options
context:
space:
mode:
authorhatal175 <hatal175@users.noreply.github.com>2024-11-10 11:53:09 +0200
committerGitHub <noreply@github.com>2024-11-10 04:53:09 -0500
commitd9201174e34d7a26199482546705b9ca16765dfd (patch)
tree2d8d57ce6ed6f0f3988ef8181b93b9af3c709986 /include/JSystem/J2DGraph
parentbec20e3dd462bd9cba86979e471856356c223261 (diff)
j2d/j3d work (#2241)
Diffstat (limited to 'include/JSystem/J2DGraph')
-rw-r--r--include/JSystem/J2DGraph/J2DAnimation.h5
-rw-r--r--include/JSystem/J2DGraph/J2DMatBlock.h82
-rw-r--r--include/JSystem/J2DGraph/J2DMaterial.h18
-rw-r--r--include/JSystem/J2DGraph/J2DTevs.h14
4 files changed, 63 insertions, 56 deletions
diff --git a/include/JSystem/J2DGraph/J2DAnimation.h b/include/JSystem/J2DGraph/J2DAnimation.h
index fe36766b7a..cba04c924f 100644
--- a/include/JSystem/J2DGraph/J2DAnimation.h
+++ b/include/JSystem/J2DGraph/J2DAnimation.h
@@ -230,6 +230,9 @@ public:
u16 getUpdateMaterialNum() const { return mUpdateMaterialNum / 3; }
u16 getUpdateMaterialID(u16 i) const { return mUpdateMaterialID[i]; }
u8 getUpdateTexMtxID(u16 i) const { return mUpdateTexMtxID[i]; }
+ void getTransform(u16 param_1, J3DTextureSRTInfo* param_2) {
+ calcTransform(mFrame, param_1, param_2);
+ }
/* 0x10 */ int field_0x10;
/* 0x14 */ J3DAnmTransformKeyTable* mInfoTable;
@@ -388,7 +391,7 @@ public:
}
/* 801842FC */ virtual ~J2DAnmColor() {}
/* 8030AF24 */ virtual void searchUpdateMaterialID(J2DScreen*);
- /* 802EB390 */ virtual void getColor(u16, _GXColor*) const;
+ /* 802EB390 */ virtual void getColor(u16, _GXColor*) const {}
u16 getUpdateMaterialNum() const { return mUpdateMaterialNum; }
u16 getUpdateMaterialID(u16 i) const { return mUpdateMaterialID[i]; }
diff --git a/include/JSystem/J2DGraph/J2DMatBlock.h b/include/JSystem/J2DGraph/J2DMatBlock.h
index 770986d5bc..0756ca5e24 100644
--- a/include/JSystem/J2DGraph/J2DMatBlock.h
+++ b/include/JSystem/J2DGraph/J2DMatBlock.h
@@ -31,13 +31,13 @@ struct J2DGXColorS10 : public GXColorS10 {
a = other.a;
}
- // J2DGXColorS10& operator=(const GXColorS10& other) {
- // r = other.r;
- // g = other.g;
- // b = other.b;
- // a = other.a;
- // return *this;
- // }
+ J2DGXColorS10& operator=(const GXColorS10& other) {
+ r = other.r;
+ g = other.g;
+ b = other.b;
+ a = other.a;
+ return *this;
+ }
};
struct J2DTevSwapModeInfo;
@@ -49,33 +49,33 @@ struct J2DTevSwapModeInfo;
class J2DTevBlock {
public:
/* 802F2A40 */ virtual void initialize();
- /* 802EB1D0 */ virtual void setGX();
+ /* 802EB1D0 */ virtual void setGX() {}
/* 802F2A44 */ virtual void loadTexture(_GXTexMapID, u32);
virtual u32 getType() = 0;
virtual u8 getMaxStage() = 0;
- /* 802EB1DC */ virtual void setTexNo(u32, u16);
- /* 802EA170 */ virtual u32 getTexNo(u32) const;
+ /* 802EB1DC */ virtual void setTexNo(u32, u16) {}
+ /* 802EA170 */ virtual u32 getTexNo(u32) const { return 0xFFFF; }
/* 802F2A48 */ virtual void setFontNo(u16);
- /* 802EA164 */ virtual u16 getFontNo() const;
+ /* 802EA164 */ virtual u16 getFontNo() const { return 0xFFFF; }
/* 802F2A4C */ virtual void setTevOrder(u32, J2DTevOrder);
- /* 802EA144 */ virtual J2DTevOrder* getTevOrder(u32);
- /* 802EB1D8 */ virtual void setTevColor(u32, J2DGXColorS10);
- /* 802EA13C */ virtual J2DGXColorS10* getTevColor(u32);
- /* 802EB1D4 */ virtual void setTevKColor(u32, JUtility::TColor);
- /* 802EA15C */ virtual JUtility::TColor* getTevKColor(u32);
+ /* 802EA144 */ virtual J2DTevOrder* getTevOrder(u32) { return NULL; }
+ /* 802EB1D8 */ virtual void setTevColor(u32, J2DGXColorS10) {}
+ /* 802EA13C */ virtual J2DGXColorS10* getTevColor(u32) { return NULL; }
+ /* 802EB1D4 */ virtual void setTevKColor(u32, JUtility::TColor) {}
+ /* 802EA15C */ virtual JUtility::TColor* getTevKColor(u32) { return NULL; }
/* 802F2A50 */ virtual void setTevKColorSel(u32, u8);
- /* 802EA154 */ virtual u8 getTevKColorSel(u32);
+ /* 802EA154 */ virtual u8 getTevKColorSel(u32) { return 0; }
/* 802F2A54 */ virtual void setTevKAlphaSel(u32, u8);
- /* 802EA14C */ virtual u8 getTevKAlphaSel(u32);
+ /* 802EA14C */ virtual u8 getTevKAlphaSel(u32) { return 0; }
/* 802F2A58 */ virtual void setTevStageNum(u8);
- /* 802EA17C */ virtual u8 getTevStageNum() const;
+ /* 802EA17C */ virtual u8 getTevStageNum() const { return 1; }
/* 802F2A5C */ virtual void setTevStage(u32, J2DTevStage);
- /* 802EA134 */ virtual J2DTevStage* getTevStage(u32);
+ /* 802EA134 */ virtual J2DTevStage* getTevStage(u32) { return NULL; }
/* 802F2A60 */ virtual void setTevSwapModeInfo(u32, J2DTevSwapModeInfo);
/* 802F2A64 */ virtual void setTevSwapModeTable(u32, J2DTevSwapModeTable);
- /* 802EA12C */ virtual J2DTevSwapModeTable* getTevSwapModeTable(u32);
+ /* 802EA12C */ virtual J2DTevSwapModeTable* getTevSwapModeTable(u32) { return NULL; }
/* 802F2A68 */ virtual void setIndTevStage(u32, J2DIndTevStage);
- /* 802EA184 */ virtual J2DIndTevStage* getIndTevStage(u32);
+ /* 802EA184 */ virtual J2DIndTevStage* getIndTevStage(u32) { return NULL; }
/* 802F2A7C */ virtual bool insertTexture(u32, ResTIMG const*);
/* 802F2A74 */ virtual bool insertTexture(u32, ResTIMG const*, JUTPalette*);
/* 802F2A6C */ virtual bool insertTexture(u32, JUTTexture*);
@@ -235,7 +235,7 @@ private:
/* 0x05C */ J2DIndTevStage mIndTevStage[2];
/* 0x064 */ JUTTexture* mTexture[2];
/* 0x06C */ JUTPalette* mPalette[2];
- /* 0x064 */ JUTFont* mFont;
+ /* 0x074 */ JUTFont* mFont;
/* 0x078 */ u8 mUndeleteFlag;
}; // Size: 0x7C
@@ -567,17 +567,17 @@ private:
*/
class J2DIndBlock {
public:
- /* 802EB24C */ virtual void initialize();
- /* 802EB1CC */ virtual void setGX();
+ /* 802EB24C */ virtual void initialize() {}
+ /* 802EB1CC */ virtual void setGX() {}
virtual u32 getType() = 0;
- /* 802EB250 */ virtual void setIndTexStageNum(u8);
- /* 802EA1A4 */ virtual u8 getIndTexStageNum() const;
- /* 802EB254 */ virtual void setIndTexOrder(u32, J2DIndTexOrder);
- /* 802EA19C */ virtual J2DIndTexOrder* getIndTexOrder(u32);
- /* 802EB258 */ virtual void setIndTexMtx(u32, J2DIndTexMtx);
- /* 802EA194 */ virtual J2DIndTexMtx* getIndTexMtx(u32);
- /* 802EB25C */ virtual void setIndTexCoordScale(u32, J2DIndTexCoordScale);
- /* 802EA18C */ virtual J2DIndTexCoordScale* getIndTexCoordScale(u32);
+ /* 802EB250 */ virtual void setIndTexStageNum(u8) {}
+ /* 802EA1A4 */ virtual u8 getIndTexStageNum() const { return 0; }
+ /* 802EB254 */ virtual void setIndTexOrder(u32, J2DIndTexOrder) {}
+ /* 802EA19C */ virtual J2DIndTexOrder* getIndTexOrder(u32) { return NULL; }
+ /* 802EB258 */ virtual void setIndTexMtx(u32, J2DIndTexMtx) {}
+ /* 802EA194 */ virtual J2DIndTexMtx* getIndTexMtx(u32) { return NULL; }
+ /* 802EB25C */ virtual void setIndTexCoordScale(u32, J2DIndTexCoordScale) {}
+ /* 802EA18C */ virtual J2DIndTexCoordScale* getIndTexCoordScale(u32) { return NULL; }
/* 802EB13C */ virtual ~J2DIndBlock() {}
};
@@ -617,9 +617,9 @@ class J2DIndBlockNull : public J2DIndBlock {
public:
J2DIndBlockNull() {}
- /* 802EB1E0 */ virtual void setGX();
- /* 802EB1E4 */ virtual u32 getType();
- /* 802EB1F0 */ virtual ~J2DIndBlockNull();
+ /* 802EB1E0 */ virtual void setGX() {}
+ /* 802EB1E4 */ virtual u32 getType() { return 'IBLN'; }
+ /* 802EB1F0 */ virtual ~J2DIndBlockNull() {}
};
/**
@@ -644,6 +644,7 @@ public:
void setTexGenNum(u32 num) { mTexGenNum = num; }
void setTexCoord(u32 i, J2DTexCoord coord) { mTexGenCoord[i] = coord; }
void setTexMtx(u32 i, J2DTexMtx* mtx) { mTexMtx[i] = mtx; }
+ J2DTexCoord& getTexCoord(u32 i) { return mTexGenCoord[i]; }
/* 802EB620 */ virtual ~J2DTexGenBlock();
}; // Size: 0x48
@@ -659,7 +660,7 @@ struct J2DColorChanInfo {
/* 0x0 */ u8 field_0x3;
};
-inline u8 J2DCalcColorChanID(u8 param_1) { return param_1; }
+inline u8 J2DCalcColorChanID(const J2DColorChanInfo& info) { return info.field_0x1; }
extern const J2DColorChanInfo j2dDefaultColorChanInfo;
/**
@@ -672,12 +673,13 @@ public:
setColorChanInfo(j2dDefaultColorChanInfo);
}
J2DColorChan(const J2DColorChanInfo& info) {
- mColorChan = J2DCalcColorChanID(info.field_0x1);
+ mColorChan = J2DCalcColorChanID(info);
}
void setColorChanInfo(const J2DColorChanInfo& info) {
- mColorChan = J2DCalcColorChanID(info.field_0x1);
+ mColorChan = J2DCalcColorChanID(info);
}
+
u16 getMatSrc() const { return mColorChan & 1; }
private:
@@ -701,7 +703,7 @@ public:
/* 802EB394 */ void initialize();
/* 802EB424 */ void setGX();
- /* 802EB0F4 */ virtual ~J2DColorBlock();
+ /* 802EB0F4 */ virtual ~J2DColorBlock() {}
JUtility::TColor* getMatColor(u32 i) { return &mMatColor[i]; }
J2DColorChan* getColorChan(u32 i) { return &mColorChan[i]; }
diff --git a/include/JSystem/J2DGraph/J2DMaterial.h b/include/JSystem/J2DGraph/J2DMaterial.h
index 4e1e812cd2..584b3f4c9b 100644
--- a/include/JSystem/J2DGraph/J2DMaterial.h
+++ b/include/JSystem/J2DGraph/J2DMaterial.h
@@ -13,15 +13,15 @@ public:
struct J2DMaterialAnmPointer {
/* 802EA79C */ J2DMaterialAnmPointer();
- /* 0x00 */ J2DAnmBase* field_0x0;
- /* 0x04 */ J2DAnmBase* field_0x4;
- /* 0x08 */ J2DAnmBase* field_0x8;
- /* 0x0C */ J2DAnmBase* field_0xc;
- /* 0x10 */ u16 field_0x10;
- /* 0x12 */ u16 field_0x12[8];
- /* 0x22 */ u16 field_0x22[8];
- /* 0x32 */ u16 field_0x32[4];
- /* 0x3A */ u16 field_0x3a[4];
+ /* 0x00 */ J2DAnmColor* mColorAnm;
+ /* 0x04 */ J2DAnmTextureSRTKey* mSRTAnm;
+ /* 0x08 */ J2DAnmTexPattern* mPatternAnm;
+ /* 0x0C */ J2DAnmTevRegKey* mTevAnm;
+ /* 0x10 */ u16 mColorIds;
+ /* 0x12 */ u16 mSRTIds[8];
+ /* 0x22 */ u16 mPatternIds[8];
+ /* 0x32 */ u16 mTevCRegIds[4];
+ /* 0x3A */ u16 mTevKRegIds[4];
}; // Size: 0x44
/* 802EA1AC */ J2DMaterial();
diff --git a/include/JSystem/J2DGraph/J2DTevs.h b/include/JSystem/J2DGraph/J2DTevs.h
index 214d91fc3f..2052c7a049 100644
--- a/include/JSystem/J2DGraph/J2DTevs.h
+++ b/include/JSystem/J2DGraph/J2DTevs.h
@@ -9,11 +9,11 @@
*
*/
struct J2DTextureSRTInfo {
- /* 0x00 */ f32 field_0x0;
- /* 0x04 */ f32 field_0x4;
- /* 0x08 */ f32 field_0x8;
- /* 0x0C */ f32 field_0xc;
- /* 0x10 */ f32 field_0x10;
+ /* 0x00 */ f32 mScaleX;
+ /* 0x04 */ f32 mScaleY;
+ /* 0x08 */ f32 mRotationDeg;
+ /* 0x0C */ f32 mTranslationX;
+ /* 0x10 */ f32 mTranslationY;
}; // Size: 0x14
/**
@@ -274,6 +274,7 @@ public:
*(J2DTexCoordInfo*)this = info;
}
void setTexCoordInfo(const J2DTexCoordInfo& info) { mTexCoordInfo = info; }
+ void setTexGenMtx(u8 texGenMtx) { mTexCoordInfo.mTexGenMtx = texGenMtx; }
s32 getTexGenType() { return mTexCoordInfo.mTexGenType; }
s32 getTexGenSrc() { return mTexCoordInfo.mTexGenSrc; }
s32 getTexGenMtx() { return mTexCoordInfo.mTexGenMtx; }
@@ -513,6 +514,7 @@ inline u8 J2DCalcTevSwapTable(u8 param_0, u8 param_1, u8 param_2, u8 param_3) {
}
extern const J2DTevSwapModeTableInfo j2dDefaultTevSwapModeTable;
+extern const u8 data_804561AC;
/**
* @ingroup jsystem-j2d
@@ -520,7 +522,7 @@ extern const J2DTevSwapModeTableInfo j2dDefaultTevSwapModeTable;
*/
class J2DTevSwapModeTable {
public:
- /* 802F1934 */ J2DTevSwapModeTable();
+ /* 802F1934 */ J2DTevSwapModeTable() { field_0x0 = data_804561AC; }
J2DTevSwapModeTable(const J2DTevSwapModeTableInfo& info) {
field_0x0 = J2DCalcTevSwapTable(info.field_0x0, info.field_0x1, info.field_0x2, info.field_0x3);
}