diff options
| author | hatal175 <hatal175@users.noreply.github.com> | 2024-11-10 11:53:09 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-10 04:53:09 -0500 |
| commit | d9201174e34d7a26199482546705b9ca16765dfd (patch) | |
| tree | 2d8d57ce6ed6f0f3988ef8181b93b9af3c709986 /include/JSystem/J2DGraph | |
| parent | bec20e3dd462bd9cba86979e471856356c223261 (diff) | |
j2d/j3d work (#2241)
Diffstat (limited to 'include/JSystem/J2DGraph')
| -rw-r--r-- | include/JSystem/J2DGraph/J2DAnimation.h | 5 | ||||
| -rw-r--r-- | include/JSystem/J2DGraph/J2DMatBlock.h | 82 | ||||
| -rw-r--r-- | include/JSystem/J2DGraph/J2DMaterial.h | 18 | ||||
| -rw-r--r-- | include/JSystem/J2DGraph/J2DTevs.h | 14 |
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); } |
