summaryrefslogtreecommitdiff
path: root/include/JSystem
diff options
context:
space:
mode:
authorJcw87 <Jcw87@users.noreply.github.com>2023-09-04 06:41:08 -0700
committerGitHub <noreply@github.com>2023-09-04 16:41:08 +0300
commitd98444fe4e3694fb7d4670a37a2d5b9f1af52e28 (patch)
treecfcc7714688a38ec0b468117c508f163f6345cf3 /include/JSystem
parenta6d49a9901b1da5d9880b8c73889110638203a0c (diff)
J2DWindow (#1910)
Diffstat (limited to 'include/JSystem')
-rw-r--r--include/JSystem/J2DGraph/J2DPane.h5
-rw-r--r--include/JSystem/J2DGraph/J2DPicture.h2
-rw-r--r--include/JSystem/J2DGraph/J2DScreen.h2
-rw-r--r--include/JSystem/J2DGraph/J2DTextBox.h2
-rw-r--r--include/JSystem/J2DGraph/J2DWindow.h38
-rw-r--r--include/JSystem/J2DGraph/J2DWindowEx.h24
-rw-r--r--include/JSystem/JSupport/JSUInputStream.h6
-rw-r--r--include/JSystem/JUtility/JUTTexture.h18
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;