diff options
| author | Jcw87 <Jcw87@users.noreply.github.com> | 2023-09-04 06:41:08 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-09-04 16:41:08 +0300 |
| commit | d98444fe4e3694fb7d4670a37a2d5b9f1af52e28 (patch) | |
| tree | cfcc7714688a38ec0b468117c508f163f6345cf3 /include/JSystem | |
| parent | a6d49a9901b1da5d9880b8c73889110638203a0c (diff) | |
J2DWindow (#1910)
Diffstat (limited to 'include/JSystem')
| -rw-r--r-- | include/JSystem/J2DGraph/J2DPane.h | 5 | ||||
| -rw-r--r-- | include/JSystem/J2DGraph/J2DPicture.h | 2 | ||||
| -rw-r--r-- | include/JSystem/J2DGraph/J2DScreen.h | 2 | ||||
| -rw-r--r-- | include/JSystem/J2DGraph/J2DTextBox.h | 2 | ||||
| -rw-r--r-- | include/JSystem/J2DGraph/J2DWindow.h | 38 | ||||
| -rw-r--r-- | include/JSystem/J2DGraph/J2DWindowEx.h | 24 | ||||
| -rw-r--r-- | include/JSystem/JSupport/JSUInputStream.h | 6 | ||||
| -rw-r--r-- | include/JSystem/JUtility/JUTTexture.h | 18 |
8 files changed, 69 insertions, 28 deletions
diff --git a/include/JSystem/J2DGraph/J2DPane.h b/include/JSystem/J2DGraph/J2DPane.h index ad2f238b8c..26b6bb6c19 100644 --- a/include/JSystem/J2DGraph/J2DPane.h +++ b/include/JSystem/J2DGraph/J2DPane.h @@ -72,7 +72,7 @@ public: virtual ~J2DPane(); - /* vt 0x0C */ virtual s32 getTypeID() const { return 16; } + /* vt 0x0C */ virtual u16 getTypeID() const { return 16; } /* vt 0x10 */ virtual void move(f32 x, f32 y); /* vt 0x14 */ virtual void add(f32 x, f32 y); /* vt 0x18 */ virtual void resize(f32 x, f32 y); @@ -110,6 +110,7 @@ public: f32 getHeight() const { return mBounds.getHeight(); } f32 getWidth() const { return mBounds.getWidth(); } JSUTree<J2DPane>* getFirstChild() { return mPaneTree.getFirstChild(); } + JSUTree<J2DPane>* getEndChild() { return mPaneTree.getEndChild(); } const JSUTree<J2DPane>* getPaneTree() { return &mPaneTree; } u8 getAlpha() const { return mAlpha; } @@ -150,6 +151,8 @@ public: void show() { mVisible = true; } void hide() { mVisible = false; } + bool isConnectParent() const { return mConnected; } + void setUserInfo(u64 info) { mUserInfoTag = info; } const Mtx* getMtx() const { return &mPositionMtx; } diff --git a/include/JSystem/J2DGraph/J2DPicture.h b/include/JSystem/J2DGraph/J2DPicture.h index 2a5e34fbd6..64747f1078 100644 --- a/include/JSystem/J2DGraph/J2DPicture.h +++ b/include/JSystem/J2DGraph/J2DPicture.h @@ -36,7 +36,7 @@ struct J2DScrnBlockPictureParameter { class J2DPicture : public J2DPane { public: /* 802FCFF0 */ virtual ~J2DPicture(); - /* 802FF2E8 */ virtual s32 getTypeID() const; + /* 802FF2E8 */ virtual u16 getTypeID() const; /* 802FDB28 */ virtual void drawSelf(f32, f32); /* 802FDB90 */ virtual void drawSelf(f32, f32, Mtx*); /* 802FF09C */ virtual bool isUsed(ResTIMG const*); diff --git a/include/JSystem/J2DGraph/J2DScreen.h b/include/JSystem/J2DGraph/J2DScreen.h index 597cf4f8cd..1dfb74ccb3 100644 --- a/include/JSystem/J2DGraph/J2DScreen.h +++ b/include/JSystem/J2DGraph/J2DScreen.h @@ -32,7 +32,7 @@ struct J2DScrnBlockHeader { class J2DScreen : public J2DPane { public: /* 802F8540 */ virtual ~J2DScreen(); - /* 802F9A18 */ virtual s32 getTypeID() const; + /* 802F9A18 */ virtual u16 getTypeID() const; /* 802F9A20 */ virtual void calcMtx(); /* 802F9120 */ virtual void drawSelf(f32, f32, Mtx*); /* 802F90A0 */ virtual J2DPane* search(u64); diff --git a/include/JSystem/J2DGraph/J2DTextBox.h b/include/JSystem/J2DGraph/J2DTextBox.h index 1057f635aa..057809adb9 100644 --- a/include/JSystem/J2DGraph/J2DTextBox.h +++ b/include/JSystem/J2DGraph/J2DTextBox.h @@ -50,7 +50,7 @@ public: }; /* 803001E0 */ virtual ~J2DTextBox(); - /* 80300C68 */ virtual s32 getTypeID() const; + /* 80300C68 */ virtual u16 getTypeID() const; /* 80300AF8 */ virtual void resize(f32, f32); /* 80300870 */ virtual bool setConnectParent(bool); /* 80300950 */ virtual void drawSelf(f32, f32, Mtx*); diff --git a/include/JSystem/J2DGraph/J2DWindow.h b/include/JSystem/J2DGraph/J2DWindow.h index b335cf70d3..90fb5776c0 100644 --- a/include/JSystem/J2DGraph/J2DWindow.h +++ b/include/JSystem/J2DGraph/J2DWindow.h @@ -10,11 +10,11 @@ class JUTTexture; class J2DWindow : public J2DPane { public: struct TMaterial { - /* 0x00 */ JUTTexture* field_0x0; - /* 0x04 */ JUTTexture* field_0x4; - /* 0x08 */ JUTTexture* field_0x8; - /* 0x0C */ JUTTexture* field_0xc; - /* 0x10 */ JUTTexture* field_0x10; + /* 0x00 */ J2DMaterial* field_0x0; + /* 0x04 */ J2DMaterial* field_0x4; + /* 0x08 */ J2DMaterial* field_0x8; + /* 0x0C */ J2DMaterial* field_0xc; + /* 0x10 */ J2DMaterial* field_0x10; }; // Size: 0x14 struct TContentsColor { @@ -39,10 +39,10 @@ public: /* 802FBB90 */ void setTevMode(JUTTexture*, JUtility::TColor, JUtility::TColor); /* 802FA880 */ virtual ~J2DWindow(); - /* 802FBF98 */ virtual s32 getTypeID() const; + /* 802FBF98 */ virtual u16 getTypeID() const; /* 802FB000 */ virtual void resize(f32, f32); /* 802FB1D8 */ virtual void drawSelf(f32, f32); - /* 802FB240 */ virtual void drawSelf(f32, f32, f32 (*)[3][4]); + /* 802FB240 */ virtual void drawSelf(f32, f32, Mtx*); /* 802FBEDC */ virtual bool isUsed(ResTIMG const*); /* 802FC02C */ virtual bool isUsed(ResFONT const*); /* 802FC04C */ virtual void rewriteAlpha(); @@ -54,15 +54,29 @@ public: /* 80254568 */ virtual bool setBlackWhite(JUtility::TColor, JUtility::TColor); /* 80254000 */ virtual JUtility::TColor getBlack() const; /* 8025400C */ virtual JUtility::TColor getWhite() const; - /* 802FBE60 */ virtual void getFrameTexture(u8, u8) const; - /* 802FBFE8 */ virtual void getContentsTexture(u8) const; + /* 802FBE60 */ virtual JUTTexture* getFrameTexture(u8, u8) const; + /* 802FBFE8 */ virtual JUTTexture* getContentsTexture(u8) const; /* 802FC000 */ virtual void getMaterial(J2DWindow::TMaterial&) const; - /* 802FC01C */ virtual bool getFrameMaterial(u8) const; - /* 802FC024 */ virtual bool getContentsMaterial() const; + /* 802FC01C */ virtual J2DMaterial* getFrameMaterial(u8) const; + /* 802FC024 */ virtual J2DMaterial* getContentsMaterial() const; /* 802FB338 */ virtual void drawContents(JGeometry::TBox2<f32> const&); + void getContentsColor(TContentsColor& param_0) const { + param_0.field_0x0 = field_0x128; + param_0.field_0x4 = field_0x12C; + param_0.field_0x8 = field_0x130; + param_0.field_0xc = field_0x134; + } + void setContentsColor(JUtility::TColor param_0) { + setContentsColor(param_0, param_0, param_0, param_0); + } + private: - /* 0x100 */ TMaterial mMaterial; + /* 0x100 */ JUTTexture* field_0x100; + /* 0x104 */ JUTTexture* field_0x104; + /* 0x108 */ JUTTexture* field_0x108; + /* 0x10C */ JUTTexture* field_0x10c; + /* 0x110 */ JUTTexture* field_0x110; /* 0x114 */ JGeometry::TBox2<f32> field_0x114; /* 0x124 */ JUTPalette* mPalette; /* 0x128 */ JUtility::TColor field_0x128; diff --git a/include/JSystem/J2DGraph/J2DWindowEx.h b/include/JSystem/J2DGraph/J2DWindowEx.h index ded9472984..848b21016b 100644 --- a/include/JSystem/J2DGraph/J2DWindowEx.h +++ b/include/JSystem/J2DGraph/J2DWindowEx.h @@ -25,8 +25,8 @@ public: /* 80302D98 */ virtual void setCullBack(_GXCullMode); /* 80302D48 */ virtual void setAlpha(u8); /* 8030122C */ virtual void drawSelf(f32, f32, f32 (*)[3][4]); - /* 80302EDC */ virtual void isUsed(ResTIMG const*); - /* 803035FC */ virtual void isUsed(ResFONT const*); + /* 80302EDC */ virtual bool isUsed(ResTIMG const*); + /* 803035FC */ virtual bool isUsed(ResFONT const*); /* 80302DF4 */ virtual void rewriteAlpha(); /* 8030361C */ virtual void setAnimation(J2DAnmBase*); /* 80256084 */ virtual void setAnimation(J2DAnmTransform*); @@ -36,20 +36,20 @@ public: /* 80303194 */ virtual void setAnimation(J2DAnmTevRegKey*); /* 80303274 */ virtual void setAnimation(J2DAnmVisibilityFull*); /* 8030327C */ virtual void setAnimation(J2DAnmVtxColor*); - /* 80303370 */ virtual void animationPane(J2DAnmTransform const*); + /* 80303370 */ virtual J2DAnmTransform* animationPane(J2DAnmTransform const*); /* 80301FC8 */ virtual void draw(JGeometry::TBox2<f32> const&); /* 80302164 */ virtual void draw(JGeometry::TBox2<f32> const&, JGeometry::TBox2<f32> const&); /* 80303568 */ virtual void draw(f32, f32, f32, f32); - /* 80302764 */ virtual void setBlack(JUtility::TColor); - /* 803027EC */ virtual void setWhite(JUtility::TColor); - /* 80302874 */ virtual void setBlackWhite(JUtility::TColor, JUtility::TColor); - /* 80302C88 */ virtual void getBlack() const; - /* 80302CE8 */ virtual void getWhite() const; - /* 80302E0C */ virtual void getFrameTexture(u8, u8) const; - /* 80302E74 */ virtual void getContentsTexture(u8) const; + /* 80302764 */ virtual bool setBlack(JUtility::TColor); + /* 803027EC */ virtual bool setWhite(JUtility::TColor); + /* 80302874 */ virtual bool setBlackWhite(JUtility::TColor, JUtility::TColor); + /* 80302C88 */ virtual JUtility::TColor getBlack() const; + /* 80302CE8 */ virtual JUtility::TColor getWhite() const; + /* 80302E0C */ virtual JUTTexture* getFrameTexture(u8, u8) const; + /* 80302E74 */ virtual JUTTexture* getContentsTexture(u8) const; /* 8030353C */ virtual void getMaterial(J2DWindow::TMaterial&) const; - /* 80303510 */ virtual void getFrameMaterial(u8) const; - /* 80303534 */ virtual void getContentsMaterial() const; + /* 80303510 */ virtual J2DMaterial* getFrameMaterial(u8) const; + /* 80303534 */ virtual J2DMaterial* getContentsMaterial() const; /* 80301994 */ virtual void drawContents(JGeometry::TBox2<f32> const&); private: diff --git a/include/JSystem/JSupport/JSUInputStream.h b/include/JSystem/JSupport/JSUInputStream.h index 56cc8eda28..d0aa9ce5cf 100644 --- a/include/JSystem/JSupport/JSUInputStream.h +++ b/include/JSystem/JSupport/JSUInputStream.h @@ -18,6 +18,12 @@ public: /* vt[4] */ virtual s32 skip(s32); /* vt[5] */ virtual u32 readData(void*, s32) = 0; + u32 readU32() { + u32 val; + this->read(&val, sizeof(val)); + return val; + } + u32 read32b() { u32 val; this->read(&val, sizeof(val)); diff --git a/include/JSystem/JUtility/JUTTexture.h b/include/JSystem/JUtility/JUTTexture.h index c59a94c24b..f55f3217c1 100644 --- a/include/JSystem/JUtility/JUTTexture.h +++ b/include/JSystem/JUtility/JUTTexture.h @@ -61,11 +61,29 @@ public: void load(_GXTexMapID); const ResTIMG* getTexInfo() const { return mTexInfo; } + u8 getFormat() const { return mTexInfo->format; } + s32 getTransparency() { return mTexInfo->alphaEnabled; } + s32 getWidth() const { return mTexInfo->width; } + s32 getHeight() const { return mTexInfo->height; } void setCaptureFlag(bool flag) { mFlags &= 2 | flag; } u8 getCaptureFlag() const { return mFlags & 1; } u8 getEmbPaletteDelFlag() const { return mFlags & 2; } void setEmbPaletteDelFlag(bool flag) { mFlags = (mFlags & 1) | (flag << 1);} u8 getTlutName() const { return mTlutName; } + bool operator==(const JUTTexture& other) { + return mTexInfo == other.mTexInfo + && field_0x2c == other.field_0x2c + && mWrapS == other.mWrapS + && mWrapT == other.mWrapT + && mMinFilter == other.mMinFilter + && mMagFilter == other.mMagFilter + && mMinLOD == other.mMinLOD + && mMinLOD == other.mMinLOD + && mLODBias == other.mLODBias; + } + bool operator!=(const JUTTexture& other) { + return !operator==(other); + } private: /* 0x00 */ GXTexObj mTexObj; |
