summaryrefslogtreecommitdiff
path: root/include/JSystem/J2DGraph
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2022-08-30 14:22:17 -0700
committerGitHub <noreply@github.com>2022-08-30 15:22:17 -0600
commitf8979749e3ef8e8cacf2ea8f474c7f23fc5cb6b3 (patch)
tree69659df2105266e9b26a4d50b9a2d610b3e437a2 /include/JSystem/J2DGraph
parentbc30d007e11458a198c5725626a10bb06a5da536 (diff)
j2d / map_path work, d_drawlist / d_attention cleanup (#208)
* work on fop actor / actor mng, daalink, d_a_obj_item * d_a_title mostly decompiled * daalink / d_event / JMessage / dmsg_out_font work * msg_scrn_base / msg_scrn_boss * some work on mDo machine, d_menu_save, d_tresure, and various * remove asm * progress * finish d_menu_save / d_pane_class_alpha / d_pane_class / rename some data * rename more data * remove asm / progress * match all of d_pane_class * fixes / some dKankyo doc * bunch of j2d work. d_drawlist / d_attention cleanup * progress / asm * cleanup wip * decompile JStage * setup some more JStudio structs * set up d_demo classes * some d_demo work * cleanup dolphin os stuff * some initial dEvent documentation * some At collision documentation * match JUTConsole::doDraw * dbgs work / split up some of d_a_alink into .inc files * d_a_alink_spinner work
Diffstat (limited to 'include/JSystem/J2DGraph')
-rw-r--r--include/JSystem/J2DGraph/J2DAnmLoader.h3
-rw-r--r--include/JSystem/J2DGraph/J2DMatBlock.h194
-rw-r--r--include/JSystem/J2DGraph/J2DMaterial.h6
-rw-r--r--include/JSystem/J2DGraph/J2DPane.h132
-rw-r--r--include/JSystem/J2DGraph/J2DPicture.h16
-rw-r--r--include/JSystem/J2DGraph/J2DPrint.h18
-rw-r--r--include/JSystem/J2DGraph/J2DTevs.h60
-rw-r--r--include/JSystem/J2DGraph/J2DTextBox.h54
-rw-r--r--include/JSystem/J2DGraph/J2DTextBoxEx.h32
9 files changed, 324 insertions, 191 deletions
diff --git a/include/JSystem/J2DGraph/J2DAnmLoader.h b/include/JSystem/J2DGraph/J2DAnmLoader.h
index 398623d9c8..cb4501ce58 100644
--- a/include/JSystem/J2DGraph/J2DAnmLoader.h
+++ b/include/JSystem/J2DGraph/J2DAnmLoader.h
@@ -14,7 +14,8 @@ public:
virtual void* load(void const*) = 0;
virtual void setResource(J2DAnmBase*, void const*) = 0;
/* 8030A410 */ virtual ~J2DAnmLoader() {}
- void* _4;
+
+ void* mpResource;
};
struct J3DAnmTransformKeyData {
diff --git a/include/JSystem/J2DGraph/J2DMatBlock.h b/include/JSystem/J2DGraph/J2DMatBlock.h
index f2e20854d8..d9ed9f94b8 100644
--- a/include/JSystem/J2DGraph/J2DMatBlock.h
+++ b/include/JSystem/J2DGraph/J2DMatBlock.h
@@ -18,31 +18,31 @@ public:
/* 802F2A40 */ virtual void initialize();
/* 802EB1D0 */ virtual void setGX();
/* 802F2A44 */ virtual void loadTexture(_GXTexMapID, u32);
- virtual void getType() = 0;
+ virtual u32 getType() = 0;
virtual s32 getMaxStage() = 0;
/* 802EB1DC */ virtual void setTexNo(u32, u16);
/* 802EA170 */ virtual u32 getTexNo(u32) const;
/* 802F2A48 */ virtual void setFontNo(u16);
/* 802EA164 */ virtual u32 getFontNo() const;
/* 802F2A4C */ virtual void setTevOrder(u32, J2DTevOrder);
- /* 802EA144 */ virtual bool getTevOrder(u32);
+ /* 802EA144 */ virtual J2DTevOrder* getTevOrder(u32);
/* 802EB1D8 */ virtual void setTevColor(u32, J2DGXColorS10);
- /* 802EA13C */ virtual bool getTevColor(u32);
+ /* 802EA13C */ virtual J2DGXColorS10* getTevColor(u32);
/* 802EB1D4 */ virtual void setTevKColor(u32, JUtility::TColor);
- /* 802EA15C */ virtual bool getTevKColor(u32);
+ /* 802EA15C */ virtual JUtility::TColor* getTevKColor(u32);
/* 802F2A50 */ virtual void setTevKColorSel(u32, u8);
- /* 802EA154 */ virtual bool getTevKColorSel(u32);
+ /* 802EA154 */ virtual u8 getTevKColorSel(u32);
/* 802F2A54 */ virtual void setTevKAlphaSel(u32, u8);
- /* 802EA14C */ virtual bool getTevKAlphaSel(u32);
+ /* 802EA14C */ virtual u8 getTevKAlphaSel(u32);
/* 802F2A58 */ virtual void setTevStageNum(u8);
- /* 802EA17C */ virtual bool getTevStageNum() const;
+ /* 802EA17C */ virtual u8 getTevStageNum() const;
/* 802F2A5C */ virtual void setTevStage(u32, J2DTevStage);
- /* 802EA134 */ virtual bool getTevStage(u32);
+ /* 802EA134 */ virtual J2DTevStage* getTevStage(u32);
/* 802F2A60 */ virtual void setTevSwapModeInfo(u32, J2DTevSwapModeInfo);
/* 802F2A64 */ virtual void setTevSwapModeTable(u32, J2DTevSwapModeTable);
- /* 802EA12C */ virtual bool getTevSwapModeTable(u32);
+ /* 802EA12C */ virtual J2DTevSwapModeTable* getTevSwapModeTable(u32);
/* 802F2A68 */ virtual void setIndTevStage(u32, J2DIndTevStage);
- /* 802EA184 */ virtual bool getIndTevStage(u32);
+ /* 802EA184 */ virtual J2DIndTevStage* getIndTevStage(u32);
/* 802F2A7C */ virtual bool insertTexture(u32, ResTIMG const*);
/* 802F2A74 */ virtual bool insertTexture(u32, ResTIMG const*, JUTPalette*);
/* 802F2A6C */ virtual bool insertTexture(u32, JUTTexture*);
@@ -53,13 +53,13 @@ public:
/* 802F2A9C */ virtual bool setFont(JUTFont*);
/* 802F2AAC */ virtual bool setPalette(u32, ResTLUT const*);
/* 802F2AB4 */ virtual bool prepareTexture(u8);
- /* 802EB87C */ virtual bool getTexture(u32);
- /* 802EB884 */ virtual bool getPalette(u32);
- /* 802F2ABC */ virtual bool getFont();
+ /* 802EB87C */ virtual JUTTexture* getTexture(u32);
+ /* 802EB884 */ virtual JUTPalette* getPalette(u32);
+ /* 802F2ABC */ virtual JUTFont* getFont();
/* 802F2AC4 */ virtual void shiftDeleteFlag(u8, bool);
/* 802F2AC8 */ virtual void setUndeleteFlag(u8);
/* 802F2ACC */ virtual void setFontUndeleteFlag();
- /* 802EB184 */ virtual ~J2DTevBlock();
+ /* 802EB184 */ virtual ~J2DTevBlock() {}
};
class J2DTevBlock1 : public J2DTevBlock {
@@ -69,31 +69,31 @@ public:
/* 802EBA50 */ virtual void initialize();
/* 802EC328 */ virtual void setGX();
/* 802EC570 */ virtual void loadTexture(_GXTexMapID, u32);
- /* 802F27A0 */ virtual void getType();
+ /* 802F27A0 */ virtual u32 getType();
/* 802F27AC */ virtual s32 getMaxStage();
/* 802F27B4 */ virtual void setTexNo(u32, u16);
/* 802F27C4 */ virtual u32 getTexNo(u32) const;
/* 802F27D4 */ virtual void setFontNo(u16);
/* 802F27DC */ virtual u32 getFontNo() const;
/* 802F27E4 */ virtual void setTevOrder(u32, J2DTevOrder);
- /* 802F2808 */ virtual bool getTevOrder(u32);
+ /* 802F2808 */ virtual J2DTevOrder* getTevOrder(u32);
/* 802F281C */ virtual void setTevColor(u32, J2DGXColorS10);
- /* 802F2848 */ virtual bool getTevColor(u32);
+ /* 802F2848 */ virtual J2DGXColorS10* getTevColor(u32);
/* 802F285C */ virtual void setTevKColor(u32, JUtility::TColor);
- /* 802F2888 */ virtual bool getTevKColor(u32);
+ /* 802F2888 */ virtual JUtility::TColor* getTevKColor(u32);
/* 802F289C */ virtual void setTevKColorSel(u32, u8);
- /* 802F28A8 */ virtual bool getTevKColorSel(u32);
+ /* 802F28A8 */ virtual u8 getTevKColorSel(u32);
/* 802F28B4 */ virtual void setTevKAlphaSel(u32, u8);
- /* 802F28C0 */ virtual bool getTevKAlphaSel(u32);
+ /* 802F28C0 */ virtual u8 getTevKAlphaSel(u32);
/* 802F28CC */ virtual void setTevStageNum(u8);
- /* 802F28D0 */ virtual bool getTevStageNum() const;
+ /* 802F28D0 */ virtual u8 getTevStageNum() const;
/* 802F28D8 */ virtual void setTevStage(u32, J2DTevStage);
- /* 802F2914 */ virtual bool getTevStage(u32);
+ /* 802F2914 */ virtual J2DTevStage* getTevStage(u32);
/* 802F2928 */ virtual void setTevSwapModeInfo(u32, J2DTevSwapModeInfo);
/* 802F2960 */ virtual void setTevSwapModeTable(u32, J2DTevSwapModeTable);
- /* 802F2970 */ virtual bool getTevSwapModeTable(u32);
+ /* 802F2970 */ virtual J2DTevSwapModeTable* getTevSwapModeTable(u32);
/* 802F2980 */ virtual void setIndTevStage(u32, J2DIndTevStage);
- /* 802F2994 */ virtual bool getIndTevStage(u32);
+ /* 802F2994 */ virtual J2DIndTevStage* getIndTevStage(u32);
/* 802F29A8 */ virtual bool insertTexture(u32, ResTIMG const*);
/* 802EBCC0 */ virtual bool insertTexture(u32, ResTIMG const*, JUTPalette*);
/* 802EBDE4 */ virtual bool insertTexture(u32, JUTTexture*);
@@ -104,9 +104,9 @@ public:
/* 802EC1D8 */ virtual bool setFont(JUTFont*);
/* 802EC258 */ virtual bool setPalette(u32, ResTLUT const*);
/* 802EBC0C */ virtual bool prepareTexture(u8);
- /* 802F29D8 */ virtual bool getTexture(u32);
- /* 802F29F8 */ virtual bool getPalette(u32);
- /* 802F2A18 */ virtual bool getFont();
+ /* 802F29D8 */ virtual JUTTexture* getTexture(u32);
+ /* 802F29F8 */ virtual JUTPalette* getPalette(u32);
+ /* 802F2A18 */ virtual JUTFont* getFont();
/* 802EC318 */ virtual void shiftDeleteFlag(u8, bool);
/* 802F2A20 */ virtual void setUndeleteFlag(u8);
/* 802F2A30 */ virtual void setFontUndeleteFlag();
@@ -136,31 +136,31 @@ public:
/* 802EC7A0 */ virtual void initialize();
/* 802ED584 */ virtual void setGX();
/* 802ED874 */ virtual void loadTexture(_GXTexMapID, u32);
- /* 802F24FC */ virtual void getType();
+ /* 802F24FC */ virtual u32 getType();
/* 802F2508 */ virtual s32 getMaxStage();
/* 802F2510 */ virtual void setTexNo(u32, u16);
/* 802F2520 */ virtual u32 getTexNo(u32) const;
/* 802F2530 */ virtual void setFontNo(u16);
/* 802F2538 */ virtual u32 getFontNo() const;
/* 802F2540 */ virtual void setTevOrder(u32, J2DTevOrder);
- /* 802F2564 */ virtual bool getTevOrder(u32);
+ /* 802F2564 */ virtual J2DTevOrder* getTevOrder(u32);
/* 802F2578 */ virtual void setTevColor(u32, J2DGXColorS10);
- /* 802F25A4 */ virtual bool getTevColor(u32);
+ /* 802F25A4 */ virtual J2DGXColorS10* getTevColor(u32);
/* 802F25B8 */ virtual void setTevKColor(u32, JUtility::TColor);
- /* 802F25E4 */ virtual bool getTevKColor(u32);
+ /* 802F25E4 */ virtual JUtility::TColor* getTevKColor(u32);
/* 802F25F8 */ virtual void setTevKColorSel(u32, u8);
- /* 802F2604 */ virtual bool getTevKColorSel(u32);
+ /* 802F2604 */ virtual u8 getTevKColorSel(u32);
/* 802F2610 */ virtual void setTevKAlphaSel(u32, u8);
- /* 802F261C */ virtual bool getTevKAlphaSel(u32);
+ /* 802F261C */ virtual u8 getTevKAlphaSel(u32);
/* 802F2628 */ virtual void setTevStageNum(u8);
- /* 802F2630 */ virtual bool getTevStageNum() const;
+ /* 802F2630 */ virtual u8 getTevStageNum() const;
/* 802F2638 */ virtual void setTevStage(u32, J2DTevStage);
- /* 802F2674 */ virtual bool getTevStage(u32);
+ /* 802F2674 */ virtual J2DTevStage* getTevStage(u32);
/* 802F2688 */ virtual void setTevSwapModeInfo(u32, J2DTevSwapModeInfo);
/* 802F26C0 */ virtual void setTevSwapModeTable(u32, J2DTevSwapModeTable);
- /* 802F26D0 */ virtual bool getTevSwapModeTable(u32);
+ /* 802F26D0 */ virtual J2DTevSwapModeTable* getTevSwapModeTable(u32);
/* 802F26E0 */ virtual void setIndTevStage(u32, J2DIndTevStage);
- /* 802F26F4 */ virtual bool getIndTevStage(u32);
+ /* 802F26F4 */ virtual J2DIndTevStage* getIndTevStage(u32);
/* 802F2708 */ virtual bool insertTexture(u32, ResTIMG const*);
/* 802ECAE8 */ virtual bool insertTexture(u32, ResTIMG const*, JUTPalette*);
/* 802ECDE8 */ virtual bool insertTexture(u32, JUTTexture*);
@@ -171,9 +171,9 @@ public:
/* 802ED3A4 */ virtual bool setFont(JUTFont*);
/* 802ED424 */ virtual bool setPalette(u32, ResTLUT const*);
/* 802ECA18 */ virtual bool prepareTexture(u8);
- /* 802F2738 */ virtual bool getTexture(u32);
- /* 802F2758 */ virtual bool getPalette(u32);
- /* 802F2778 */ virtual bool getFont();
+ /* 802F2738 */ virtual JUTTexture* getTexture(u32);
+ /* 802F2758 */ virtual JUTPalette* getPalette(u32);
+ /* 802F2778 */ virtual JUTFont* getFont();
/* 802ED4FC */ virtual void shiftDeleteFlag(u8, bool);
/* 802F2780 */ virtual void setUndeleteFlag(u8);
/* 802F2790 */ virtual void setFontUndeleteFlag();
@@ -186,6 +186,7 @@ private:
/* 0x012 */ J2DGXColorS10 mTevColor[4];
/* 0x032 */ u8 mTevStageNum;
/* 0x033 */ J2DTevStage mTevStage[2];
+ /* 0x043 */ u8 field_0x43;
/* 0x044 */ JUtility::TColor mTevKColor[4];
/* 0x054 */ u8 mTevKColorSel[2];
/* 0x056 */ u8 mTevKAlphaSel[2];
@@ -204,31 +205,31 @@ public:
/* 802EDAC4 */ virtual void initialize();
/* 802EEA2C */ virtual void setGX();
/* 802EED1C */ virtual void loadTexture(_GXTexMapID, u32);
- /* 802F2258 */ virtual void getType();
+ /* 802F2258 */ virtual u32 getType();
/* 802F2264 */ virtual s32 getMaxStage();
/* 802F226C */ virtual void setTexNo(u32, u16);
/* 802F227C */ virtual u32 getTexNo(u32) const;
/* 802F228C */ virtual void setFontNo(u16);
/* 802F2294 */ virtual u32 getFontNo() const;
/* 802F229C */ virtual void setTevOrder(u32, J2DTevOrder);
- /* 802F22C0 */ virtual bool getTevOrder(u32);
+ /* 802F22C0 */ virtual J2DTevOrder* getTevOrder(u32);
/* 802F22D4 */ virtual void setTevColor(u32, J2DGXColorS10);
- /* 802F2300 */ virtual bool getTevColor(u32);
+ /* 802F2300 */ virtual J2DGXColorS10* getTevColor(u32);
/* 802F2314 */ virtual void setTevKColor(u32, JUtility::TColor);
- /* 802F2340 */ virtual bool getTevKColor(u32);
+ /* 802F2340 */ virtual JUtility::TColor* getTevKColor(u32);
/* 802F2354 */ virtual void setTevKColorSel(u32, u8);
- /* 802F2360 */ virtual bool getTevKColorSel(u32);
+ /* 802F2360 */ virtual u8 getTevKColorSel(u32);
/* 802F236C */ virtual void setTevKAlphaSel(u32, u8);
- /* 802F2378 */ virtual bool getTevKAlphaSel(u32);
+ /* 802F2378 */ virtual u8 getTevKAlphaSel(u32);
/* 802F2384 */ virtual void setTevStageNum(u8);
- /* 802F238C */ virtual bool getTevStageNum() const;
+ /* 802F238C */ virtual u8 getTevStageNum() const;
/* 802F2394 */ virtual void setTevStage(u32, J2DTevStage);
- /* 802F23D0 */ virtual bool getTevStage(u32);
+ /* 802F23D0 */ virtual J2DTevStage* getTevStage(u32);
/* 802F23E4 */ virtual void setTevSwapModeInfo(u32, J2DTevSwapModeInfo);
/* 802F241C */ virtual void setTevSwapModeTable(u32, J2DTevSwapModeTable);
- /* 802F242C */ virtual bool getTevSwapModeTable(u32);
+ /* 802F242C */ virtual J2DTevSwapModeTable* getTevSwapModeTable(u32);
/* 802F243C */ virtual void setIndTevStage(u32, J2DIndTevStage);
- /* 802F2450 */ virtual bool getIndTevStage(u32);
+ /* 802F2450 */ virtual J2DIndTevStage* getIndTevStage(u32);
/* 802F2464 */ virtual bool insertTexture(u32, ResTIMG const*);
/* 802EDE04 */ virtual bool insertTexture(u32, ResTIMG const*, JUTPalette*);
/* 802EE1D4 */ virtual bool insertTexture(u32, JUTTexture*);
@@ -239,9 +240,9 @@ public:
/* 802EE84C */ virtual bool setFont(JUTFont*);
/* 802EE8CC */ virtual bool setPalette(u32, ResTLUT const*);
/* 802EDD34 */ virtual bool prepareTexture(u8);
- /* 802F2494 */ virtual bool getTexture(u32);
- /* 802F24B4 */ virtual bool getPalette(u32);
- /* 802F24D4 */ virtual bool getFont();
+ /* 802F2494 */ virtual JUTTexture* getTexture(u32);
+ /* 802F24B4 */ virtual JUTPalette* getPalette(u32);
+ /* 802F24D4 */ virtual JUTFont* getFont();
/* 802EE9A4 */ virtual void shiftDeleteFlag(u8, bool);
/* 802F24DC */ virtual void setUndeleteFlag(u8);
/* 802F24EC */ virtual void setFontUndeleteFlag();
@@ -254,6 +255,7 @@ private:
/* 0x01E */ J2DGXColorS10 mTevColor[4];
/* 0x03E */ u8 mTevStageNum;
/* 0x03F */ J2DTevStage mTevStage[4];
+ /* 0x05F */ u8 field_0x5f;
/* 0x060 */ JUtility::TColor mTevKColor[4];
/* 0x070 */ u8 mTevKColorSel[4];
/* 0x074 */ u8 mTevKAlphaSel[4];
@@ -272,31 +274,31 @@ public:
/* 802EEF6C */ virtual void initialize();
/* 802EFEAC */ virtual void setGX();
/* 802F019C */ virtual void loadTexture(_GXTexMapID, u32);
- /* 802F1FB8 */ virtual void getType();
+ /* 802F1FB8 */ virtual u32 getType();
/* 802F1FC4 */ virtual s32 getMaxStage();
/* 802F1FCC */ virtual void setTexNo(u32, u16);
/* 802F1FDC */ virtual u32 getTexNo(u32) const;
/* 802F1FEC */ virtual void setFontNo(u16);
/* 802F1FF4 */ virtual u32 getFontNo() const;
/* 802F1FFC */ virtual void setTevOrder(u32, J2DTevOrder);
- /* 802F2020 */ virtual bool getTevOrder(u32);
+ /* 802F2020 */ virtual J2DTevOrder* getTevOrder(u32);
/* 802F2034 */ virtual void setTevColor(u32, J2DGXColorS10);
- /* 802F2060 */ virtual bool getTevColor(u32);
+ /* 802F2060 */ virtual J2DGXColorS10* getTevColor(u32);
/* 802F2074 */ virtual void setTevKColor(u32, JUtility::TColor);
- /* 802F20A0 */ virtual bool getTevKColor(u32);
+ /* 802F20A0 */ virtual JUtility::TColor* getTevKColor(u32);
/* 802F20B4 */ virtual void setTevKColorSel(u32, u8);
- /* 802F20C0 */ virtual bool getTevKColorSel(u32);
+ /* 802F20C0 */ virtual u8 getTevKColorSel(u32);
/* 802F20CC */ virtual void setTevKAlphaSel(u32, u8);
- /* 802F20D8 */ virtual bool getTevKAlphaSel(u32);
+ /* 802F20D8 */ virtual u8 getTevKAlphaSel(u32);
/* 802F20E4 */ virtual void setTevStageNum(u8);
- /* 802F20EC */ virtual bool getTevStageNum() const;
+ /* 802F20EC */ virtual u8 getTevStageNum() const;
/* 802F20F4 */ virtual void setTevStage(u32, J2DTevStage);
- /* 802F2130 */ virtual bool getTevStage(u32);
+ /* 802F2130 */ virtual J2DTevStage* getTevStage(u32);
/* 802F2144 */ virtual void setTevSwapModeInfo(u32, J2DTevSwapModeInfo);
/* 802F217C */ virtual void setTevSwapModeTable(u32, J2DTevSwapModeTable);
- /* 802F218C */ virtual bool getTevSwapModeTable(u32);
+ /* 802F218C */ virtual J2DTevSwapModeTable* getTevSwapModeTable(u32);
/* 802F219C */ virtual void setIndTevStage(u32, J2DIndTevStage);
- /* 802F21B0 */ virtual bool getIndTevStage(u32);
+ /* 802F21B0 */ virtual J2DIndTevStage* getIndTevStage(u32);
/* 802F21C4 */ virtual bool insertTexture(u32, ResTIMG const*);
/* 802EF2B0 */ virtual bool insertTexture(u32, ResTIMG const*, JUTPalette*);
/* 802EF67C */ virtual bool insertTexture(u32, JUTTexture*);
@@ -307,9 +309,9 @@ public:
/* 802EFCEC */ virtual bool setFont(JUTFont*);
/* 802EFD68 */ virtual bool setPalette(u32, ResTLUT const*);
/* 802EF1E0 */ virtual bool prepareTexture(u8);
- /* 802F21F4 */ virtual bool getTexture(u32);
- /* 802F2214 */ virtual bool getPalette(u32);
- /* 802F2234 */ virtual bool getFont();
+ /* 802F21F4 */ virtual JUTTexture* getTexture(u32);
+ /* 802F2214 */ virtual JUTPalette* getPalette(u32);
+ /* 802F2234 */ virtual JUTFont* getFont();
/* 802EFE40 */ virtual void shiftDeleteFlag(u8, bool);
/* 802F223C */ virtual void setUndeleteFlag(u8);
/* 802F224C */ virtual void setFontUndeleteFlag();
@@ -322,6 +324,7 @@ private:
/* 0x036 */ J2DGXColorS10 mTevColor[4];
/* 0x056 */ u8 mTevStageNum;
/* 0x057 */ J2DTevStage mTevStage[8];
+ /* 0x097 */ u8 field_0x97;
/* 0x098 */ JUtility::TColor mTevKColor[4];
/* 0x0A8 */ u8 mTevKColorSel[8];
/* 0x0B0 */ u8 mTevKAlphaSel[8];
@@ -341,31 +344,31 @@ public:
/* 802F03EC */ virtual void initialize();
/* 802F132C */ virtual void setGX();
/* 802F161C */ virtual void loadTexture(_GXTexMapID, u32);
- /* 802F1D18 */ virtual void getType();
+ /* 802F1D18 */ virtual u32 getType();
/* 802F1D24 */ virtual s32 getMaxStage();
/* 802F1D2C */ virtual void setTexNo(u32, u16);
/* 802F1D3C */ virtual u32 getTexNo(u32) const;
/* 802F1D4C */ virtual void setFontNo(u16);
/* 802F1D54 */ virtual u32 getFontNo() const;
/* 802F1D5C */ virtual void setTevOrder(u32, J2DTevOrder);
- /* 802F1D80 */ virtual bool getTevOrder(u32);
+ /* 802F1D80 */ virtual J2DTevOrder* getTevOrder(u32);
/* 802F1D94 */ virtual void setTevColor(u32, J2DGXColorS10);
- /* 802F1DC0 */ virtual bool getTevColor(u32);
+ /* 802F1DC0 */ virtual J2DGXColorS10* getTevColor(u32);
/* 802F1DD4 */ virtual void setTevKColor(u32, JUtility::TColor);
- /* 802F1E00 */ virtual bool getTevKColor(u32);
+ /* 802F1E00 */ virtual JUtility::TColor* getTevKColor(u32);
/* 802F1E14 */ virtual void setTevKColorSel(u32, u8);
- /* 802F1E20 */ virtual bool getTevKColorSel(u32);
+ /* 802F1E20 */ virtual u8 getTevKColorSel(u32);
/* 802F1E2C */ virtual void setTevKAlphaSel(u32, u8);
- /* 802F1E38 */ virtual bool getTevKAlphaSel(u32);
+ /* 802F1E38 */ virtual u8 getTevKAlphaSel(u32);
/* 802F1E44 */ virtual void setTevStageNum(u8);
- /* 802F1E4C */ virtual bool getTevStageNum() const;
+ /* 802F1E4C */ virtual u8 getTevStageNum() const;
/* 802F1E54 */ virtual void setTevStage(u32, J2DTevStage);
- /* 802F1E90 */ virtual bool getTevStage(u32);
+ /* 802F1E90 */ virtual J2DTevStage* getTevStage(u32);
/* 802F1EA4 */ virtual void setTevSwapModeInfo(u32, J2DTevSwapModeInfo);
/* 802F1EDC */ virtual void setTevSwapModeTable(u32, J2DTevSwapModeTable);
- /* 802F1EEC */ virtual bool getTevSwapModeTable(u32);
+ /* 802F1EEC */ virtual J2DTevSwapModeTable* getTevSwapModeTable(u32);
/* 802F1EFC */ virtual void setIndTevStage(u32, J2DIndTevStage);
- /* 802F1F10 */ virtual bool getIndTevStage(u32);
+ /* 802F1F10 */ virtual J2DIndTevStage* getIndTevStage(u32);
/* 802F1F24 */ virtual bool insertTexture(u32, ResTIMG const*);
/* 802F0730 */ virtual bool insertTexture(u32, ResTIMG const*, JUTPalette*);
/* 802F0AFC */ virtual bool insertTexture(u32, JUTTexture*);
@@ -376,9 +379,9 @@ public:
/* 802F116C */ virtual bool setFont(JUTFont*);
/* 802F11E8 */ virtual bool setPalette(u32, ResTLUT const*);
/* 802F0660 */ virtual bool prepareTexture(u8);
- /* 802F1F54 */ virtual bool getTexture(u32);
- /* 802F1F74 */ virtual bool getPalette(u32);
- /* 802F1F94 */ virtual bool getFont();
+ /* 802F1F54 */ virtual JUTTexture* getTexture(u32);
+ /* 802F1F74 */ virtual JUTPalette* getPalette(u32);
+ /* 802F1F94 */ virtual JUTFont* getFont();
/* 802F12C0 */ virtual void shiftDeleteFlag(u8, bool);
/* 802F1F9C */ virtual void setUndeleteFlag(u8);
/* 802F1FAC */ virtual void setFontUndeleteFlag();
@@ -391,6 +394,7 @@ public:
/* 0x056 */ J2DGXColorS10 mTevColor[4];
/* 0x076 */ u8 mTevStageNum;
/* 0x077 */ J2DTevStage mTevStage[16];
+ /* 0x0F7 */ u8 field_0xf7;
/* 0x0F8 */ JUtility::TColor mTevKColor[4];
/* 0x108 */ u8 mTevKColorSel[16];
/* 0x118 */ u8 mTevKAlphaSel[16];
@@ -456,16 +460,16 @@ class J2DIndBlock {
public:
/* 802EB24C */ virtual void initialize();
/* 802EB1CC */ virtual void setGX();
- virtual void getType() = 0;
+ virtual u32 getType() = 0;
/* 802EB250 */ virtual void setIndTexStageNum(u8);
- /* 802EA1A4 */ virtual bool getIndTexStageNum() const;
+ /* 802EA1A4 */ virtual u8 getIndTexStageNum() const;
/* 802EB254 */ virtual void setIndTexOrder(u32, J2DIndTexOrder);
- /* 802EA19C */ virtual bool getIndTexOrder(u32);
+ /* 802EA19C */ virtual J2DIndTexOrder* getIndTexOrder(u32);
/* 802EB258 */ virtual void setIndTexMtx(u32, J2DIndTexMtx);
- /* 802EA194 */ virtual bool getIndTexMtx(u32);
+ /* 802EA194 */ virtual J2DIndTexMtx* getIndTexMtx(u32);
/* 802EB25C */ virtual void setIndTexCoordScale(u32, J2DIndTexCoordScale);
- /* 802EA18C */ virtual bool getIndTexCoordScale(u32);
- /* 802EB13C */ virtual ~J2DIndBlock();
+ /* 802EA18C */ virtual J2DIndTexCoordScale* getIndTexCoordScale(u32);
+ /* 802EB13C */ virtual ~J2DIndBlock() {}
};
class J2DIndBlockFull : public J2DIndBlock {
@@ -474,15 +478,15 @@ public:
/* 802F1664 */ virtual void initialize();
/* 802F1730 */ virtual void setGX();
- /* 802F1B94 */ virtual void getType();
+ /* 802F1B94 */ virtual u32 getType();
/* 802F1BA0 */ virtual void setIndTexStageNum(u8);
- /* 802F1BA8 */ virtual bool getIndTexStageNum() const;
+ /* 802F1BA8 */ virtual u8 getIndTexStageNum() const;
/* 802F1BB0 */ virtual void setIndTexOrder(u32, J2DIndTexOrder);
- /* 802F1BCC */ virtual bool getIndTexOrder(u32);
+ /* 802F1BCC */ virtual J2DIndTexOrder* getIndTexOrder(u32);
/* 802F1BE0 */ virtual void setIndTexMtx(u32, J2DIndTexMtx);
- /* 802F1C38 */ virtual bool getIndTexMtx(u32);
+ /* 802F1C38 */ virtual J2DIndTexMtx* getIndTexMtx(u32);
/* 802F1C4C */ virtual void setIndTexCoordScale(u32, J2DIndTexCoordScale);
- /* 802F1C68 */ virtual bool getIndTexCoordScale(u32);
+ /* 802F1C68 */ virtual J2DIndTexCoordScale* getIndTexCoordScale(u32);
/* 802F1C7C */ virtual ~J2DIndBlockFull();
private:
@@ -497,7 +501,7 @@ public:
J2DIndBlockNull() {}
/* 802EB1E0 */ virtual void setGX();
- /* 802EB1E4 */ virtual void getType();
+ /* 802EB1E4 */ virtual u32 getType();
/* 802EB1F0 */ virtual ~J2DIndBlockNull();
};
@@ -515,6 +519,8 @@ public:
/* 802EB6A4 */ void setTexMtx(u32, J2DTexMtx&);
/* 802EB7E0 */ void getTexMtx(u32, J2DTexMtx&);
+ u32 getTexGenNum() const { return mTexGenNum; }
+
/* 802EB620 */ virtual ~J2DTexGenBlock();
}; // Size: 0x48
@@ -526,6 +532,8 @@ class J2DColorChan {
public:
/* 802EB280 */ J2DColorChan();
+ u16 getMatSrc() const { return mColorChanInfo.field_0x0 & 1; }
+
private:
/* 0x0 */ J2DColorChanInfo mColorChanInfo;
};
@@ -544,6 +552,10 @@ public:
/* 802EB424 */ void setGX();
/* 802EB0F4 */ virtual ~J2DColorBlock();
+
+ JUtility::TColor* getMatColor(u32 i) { return &mMatColor[i]; }
+ J2DColorChan* getColorChan(u32 i) { return &mColorChan[i]; }
+ void setCullMode(u8 mode) { mCullMode = mode; }
};
#endif /* J2DMATBLOCK_H */
diff --git a/include/JSystem/J2DGraph/J2DMaterial.h b/include/JSystem/J2DGraph/J2DMaterial.h
index ebea34bec8..e30143379f 100644
--- a/include/JSystem/J2DGraph/J2DMaterial.h
+++ b/include/JSystem/J2DGraph/J2DMaterial.h
@@ -41,9 +41,11 @@ public:
J2DPEBlock* getPEBlock() { return &mPEBlock; }
J2DTevBlock* getTevBlock() { return mTevBlock; }
J2DIndBlock* getIndBlock() { return mIndBlock; }
+ bool isVisible() const { return mVisible; }
+ int getMaterialAlphaCalc() const { return mMaterialAlphaCalc; }
-private:
- /* 0x04 */ int field_0x4;
+// private:
+ /* 0x04 */ void* field_0x4;
/* 0x08 */ int field_0x8;
/* 0x0C */ u16 mIndex;
/* 0x0E */ bool mVisible;
diff --git a/include/JSystem/J2DGraph/J2DPane.h b/include/JSystem/J2DGraph/J2DPane.h
index 6653617fc8..04cbb143cd 100644
--- a/include/JSystem/J2DGraph/J2DPane.h
+++ b/include/JSystem/J2DGraph/J2DPane.h
@@ -23,48 +23,78 @@ enum J2DRotateAxis {
enum J2DBasePosition {};
+struct J2DPaneHeader {
+ /* 0x0 */ u32 mKind;
+ /* 0x4 */ u32 mSize;
+};
+
class J2DPane {
public:
J2DPane();
J2DPane(J2DPane*, bool, u64, const JGeometry::TBox2<f32>&);
J2DPane(u64, const JGeometry::TBox2<f32>&);
J2DPane(J2DPane* other, JSURandomInputStream* stream, u8 arg3);
+ void initiate();
+ void initialize(J2DPane*, bool, u64, const JGeometry::TBox2<f32>&);
+ void initialize(u64 tag, const JGeometry::TBox2<f32>& dim);
+ void makePaneStream(J2DPane* other, JSURandomInputStream* stream);
+ void changeUseTrans(J2DPane* other);
+ bool appendChild(J2DPane* child);
+ bool insertChild(J2DPane* before, J2DPane* child);
+ void draw(f32 a1, f32 a2, const J2DGrafContext* ctx, bool a4, bool a5);
+ void place(const JGeometry::TBox2<f32>& dim);
+ JGeometry::TBox2<f32>& getBounds();
+ void rotate(f32 offsetX, f32 offsetY, J2DRotateAxis axis, f32 angle);
+ void rotate(f32 angle);
+ void clip(const JGeometry::TBox2<f32>& bounds);
+ void setBasePosition(J2DBasePosition position);
+ void setInfluencedAlpha(bool arg1, bool arg2);
+ JGeometry::TVec3<f32> getGlbVtx(u8 arg1) const;
+ J2DPane* getFirstChildPane();
+ J2DPane* getNextChildPane();
+ J2DPane* getParentPane();
+ void makePaneExStream(J2DPane* other, JSURandomInputStream* stream);
+ void* getPointer(JSURandomInputStream* stream, u32 size, JKRArchive* archive);
+ void animationTransform();
+ void updateTransform(const J2DAnmTransform* transform);
+
virtual ~J2DPane();
- /* 0x0c */ virtual s32 getTypeID() const { return 16; }
- /* 0x10 */ virtual void move(f32 x, f32 y);
- /* 0x14 */ virtual void add(f32 x, f32 y);
- /* 0x18 */ virtual void resize(f32 x, f32 y);
- /* 0x1c */ virtual void setCullBack(bool cull);
- /* 0x20 */ virtual void setCullBack(_GXCullMode cmode);
- /* 0x24 */ virtual void setAlpha(u8);
- /* 0x28 */ virtual bool setConnectParent(bool connected);
- /* 0x2c */ virtual void calcMtx();
- /* 0x30 */ virtual void update();
- /* 0x34 */ virtual void drawSelf(f32 arg1, f32 arg2);
- /* 0x38 */ virtual void drawSelf(f32 arg1, f32 arg2, Mtx* mtx);
- /* 0x3c */ virtual J2DPane* search(u64 tag);
- /* 0x40 */ virtual J2DPane* searchUserInfo(u64 tag);
- /* 0x44 */ virtual void makeMatrix(f32, f32);
- /* 0x48 */ virtual void makeMatrix(f32 a, f32 b, f32 c, f32 d);
- /* 0x4c */ virtual bool isUsed(const ResTIMG* timg);
- /* 0x50 */ virtual bool isUsed(const ResFONT* font);
- /* 0x54 */ virtual void clearAnmTransform();
- /* 0x58 */ virtual void rewriteAlpha();
- /* 0x5c */ virtual void setAnimation(J2DAnmBase* anm);
- /* 0x60 */ virtual void setAnimation(J2DAnmTransform* anm);
- /* 0x64 */ virtual void setAnimation(J2DAnmColor* anm) {}
- /* 0x68 */ virtual void setAnimation(J2DAnmTexPattern* anm) {}
- /* 0x6c */ virtual void setAnimation(J2DAnmTextureSRTKey* anm) {}
- /* 0x70 */ virtual void setAnimation(J2DAnmTevRegKey* anm) {}
- /* 0x74 */ virtual void setAnimation(J2DAnmVisibilityFull* anm) {}
- /* 0x78 */ virtual void setAnimation(J2DAnmVtxColor* anm) {}
- /* 0x7c */ virtual const J2DAnmTransform* animationTransform(const J2DAnmTransform* transform);
- /* 0x80 */ virtual void setVisibileAnimation(J2DAnmVisibilityFull* visibility);
- /* 0x84 */ virtual void setAnimationVF(J2DAnmVisibilityFull* visibility);
- /* 0x88 */ virtual void setVtxColorAnimation(J2DAnmVtxColor* vtx_color);
- /* 0x8c */ virtual void setAnimationVC(J2DAnmVtxColor* vtx_color);
- /* 0x90 */ virtual const J2DAnmTransform* animationPane(const J2DAnmTransform* transform);
+ /* vt 0x0C */ virtual s32 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);
+ /* vt 0x1C */ virtual void setCullBack(bool cull);
+ /* vt 0x20 */ virtual void setCullBack(_GXCullMode cmode);
+ /* vt 0x24 */ virtual void setAlpha(u8);
+ /* vt 0x28 */ virtual bool setConnectParent(bool connected);
+ /* vt 0x2C */ virtual void calcMtx();
+ /* vt 0x30 */ virtual void update();
+ /* vt 0x34 */ virtual void drawSelf(f32 arg1, f32 arg2);
+ /* vt 0x38 */ virtual void drawSelf(f32 arg1, f32 arg2, Mtx* mtx);
+ /* vt 0x3C */ virtual J2DPane* search(u64 tag);
+ /* vt 0x40 */ virtual J2DPane* searchUserInfo(u64 tag);
+ /* vt 0x44 */ virtual void makeMatrix(f32, f32);
+ /* vt 0x48 */ virtual void makeMatrix(f32 a, f32 b, f32 c, f32 d);
+ /* vt 0x4C */ virtual bool isUsed(const ResTIMG* timg);
+ /* vt 0x50 */ virtual bool isUsed(const ResFONT* font);
+ /* vt 0x54 */ virtual void clearAnmTransform();
+ /* vt 0x58 */ virtual void rewriteAlpha();
+ /* vt 0x5C */ virtual void setAnimation(J2DAnmBase* anm);
+ /* vt 0x60 */ virtual void setAnimation(J2DAnmTransform* anm);
+ /* vt 0x64 */ virtual void setAnimation(J2DAnmColor* anm) {}
+ /* vt 0x68 */ virtual void setAnimation(J2DAnmTexPattern* anm) {}
+ /* vt 0x6C */ virtual void setAnimation(J2DAnmTextureSRTKey* anm) {}
+ /* vt 0x70 */ virtual void setAnimation(J2DAnmTevRegKey* anm) {}
+ /* vt 0x74 */ virtual void setAnimation(J2DAnmVisibilityFull* anm) {}
+ /* vt 0x78 */ virtual void setAnimation(J2DAnmVtxColor* anm) {}
+ /* vt 0x7C */ virtual const J2DAnmTransform*
+ animationTransform(const J2DAnmTransform* transform);
+ /* vt 0x80 */ virtual void setVisibileAnimation(J2DAnmVisibilityFull* visibility);
+ /* vt 0x84 */ virtual void setAnimationVF(J2DAnmVisibilityFull* visibility);
+ /* vt 0x88 */ virtual void setVtxColorAnimation(J2DAnmVtxColor* vtx_color);
+ /* vt 0x8C */ virtual void setAnimationVC(J2DAnmVtxColor* vtx_color);
+ /* vt 0x90 */ virtual const J2DAnmTransform* animationPane(const J2DAnmTransform* transform);
f32 getHeight() const { return mBounds.getHeight(); }
f32 getWidth() const { return mBounds.getWidth(); }
@@ -102,47 +132,23 @@ public:
calcMtx();
}
- int getKind() const { return id; }
+ int getKind() const { return mKind; }
bool isVisible() const { return mVisible; }
void show() { mVisible = true; }
void hide() { mVisible = false; }
- void initiate();
- void initialize(J2DPane*, bool, u64, const JGeometry::TBox2<f32>&);
- void initialize(u64 tag, const JGeometry::TBox2<f32>& dim);
- void makePaneStream(J2DPane* other, JSURandomInputStream* stream);
- void changeUseTrans(J2DPane* other);
- bool appendChild(J2DPane* child);
- bool insertChild(J2DPane* before, J2DPane* child);
- void draw(f32 a1, f32 a2, const J2DGrafContext* ctx, bool a4, bool a5);
- void place(const JGeometry::TBox2<f32>& dim);
- JGeometry::TBox2<f32>& getBounds();
- void rotate(f32 offsetX, f32 offsetY, J2DRotateAxis axis, f32 angle);
- void rotate(f32 angle);
- void clip(const JGeometry::TBox2<f32>& bounds);
- void setBasePosition(J2DBasePosition position);
- void setInfluencedAlpha(bool arg1, bool arg2);
- JGeometry::TVec3<f32> getGlbVtx(u8 arg1) const;
- J2DPane* getFirstChildPane();
- J2DPane* getNextChildPane();
- J2DPane* getParentPane();
- void makePaneExStream(J2DPane* other, JSURandomInputStream* stream);
- static s16 J2DCast_F32_to_S16(f32 value, u8 arg2);
- void* getPointer(JSURandomInputStream* stream, u32 size, JKRArchive* archive);
- void animationTransform();
- void updateTransform(const J2DAnmTransform* transform);
void setUserInfo(u64 info) { mUserInfoTag = info; }
const Mtx* getMtx() const { return &mPositionMtx; }
+ static s16 J2DCast_F32_to_S16(f32 value, u8 arg2);
+
static JGeometry::TBox2<f32> static_mBounds;
public:
- /* 0x04 */ u16 _4;
- /* 0x06 */ u8 _6[2];
- /* 0x08 */ int id;
- /* 0x0C */ u8 _c[4];
+ /* 0x04 */ u16 field_0x4;
+ /* 0x08 */ int mKind;
/* 0x10 */ u64 mInfoTag;
/* 0x18 */ u64 mUserInfoTag;
/* 0x20 */ JGeometry::TBox2<f32> mBounds;
diff --git a/include/JSystem/J2DGraph/J2DPicture.h b/include/JSystem/J2DGraph/J2DPicture.h
index d75a2b2f2e..b28e74fd83 100644
--- a/include/JSystem/J2DGraph/J2DPicture.h
+++ b/include/JSystem/J2DGraph/J2DPicture.h
@@ -14,6 +14,20 @@ enum J2DBinding {
/* 0xF */ BIND15 = 15, // temp, figure out later
};
+struct J2DPicHeader {
+ /* 0x0 */ u32 mTag;
+ /* 0x4 */ u32 mSize;
+};
+
+struct J2DScrnBlockPictureParameter {
+ /* 0x00 */ u16 field_0x0;
+ /* 0x02 */ u16 mMaterialNum;
+ /* 0x04 */ u16 field_0x4;
+ /* 0x04 */ u8 field_0x6[10];
+ /* 0x10 */ JGeometry::TVec2<s16> field_0x10[4];
+ /* 0x20 */ u32 mCornerColor[4];
+}; // Size: 0x30
+
class J2DPicture : public J2DPane {
public:
/* 802FCFF0 */ virtual ~J2DPicture();
@@ -103,7 +117,7 @@ private:
/* 0x109 */ u8 field_0x109;
/* 0x10A */ JGeometry::TVec2<s16> field_0x10a[4];
/* 0x11C */ f32 field_0x11c[4];
- /* 0x12C */ JUTPalette* field_0x12c;
+ /* 0x12C */ JUTPalette* mPalette;
/* 0x130 */ JUtility::TColor mWhite;
/* 0x134 */ JUtility::TColor mBlack;
/* 0x138 */ JUtility::TColor mCornerColor[4];
diff --git a/include/JSystem/J2DGraph/J2DPrint.h b/include/JSystem/J2DGraph/J2DPrint.h
index d3a929b176..dfc68a463b 100644
--- a/include/JSystem/J2DGraph/J2DPrint.h
+++ b/include/JSystem/J2DGraph/J2DPrint.h
@@ -30,6 +30,24 @@ public:
/* 802F4420 */ virtual ~J2DPrint();
+ void setFontSize(f32 sizeX, f32 sizeY) {
+ f32 x;
+ if (sizeX > 0.0f) {
+ x = sizeX;
+ } else {
+ x = 0.0f;
+ }
+ mFontSizeX = x;
+
+ f32 y;
+ if (sizeY > 0.0f) {
+ y = sizeY;
+ } else {
+ y = 0.0f;
+ }
+ mFontSizeY = y;
+ }
+
static const u8* mStrBuff;
static size_t mStrBuffSize;
diff --git a/include/JSystem/J2DGraph/J2DTevs.h b/include/JSystem/J2DGraph/J2DTevs.h
index e5a18e9c1e..087e9d5396 100644
--- a/include/JSystem/J2DGraph/J2DTevs.h
+++ b/include/JSystem/J2DGraph/J2DTevs.h
@@ -112,6 +112,24 @@ private:
GXIndTexAlphaSel getAlphaSel() const { return (GXIndTexAlphaSel)((mFlags >> 22) & 0x03); }
};
+struct J2DIndTevStageInfo {
+ /* 0x0 */ u8 field_0x0;
+ /* 0x1 */ u8 field_0x1;
+ /* 0x2 */ u8 field_0x2;
+ /* 0x3 */ u8 field_0x3;
+ /* 0x4 */ u8 field_0x4;
+ /* 0x5 */ u8 field_0x5;
+ /* 0x6 */ u8 field_0x6;
+ /* 0x7 */ u8 field_0x7;
+ /* 0x8 */ int field_0x8;
+};
+
+inline u32 J2DCalcIndTevStage(J2DIndTevStageInfo info) {
+ return (info.field_0x8 << 22) | (info.field_0x7 << 21) | (info.field_0x6 << 20) |
+ (info.field_0x3 << 16) | (info.field_0x5 << 11) | (info.field_0x4 << 8) |
+ (info.field_0x2 << 4) | (info.field_0x1 << 2) | info.field_0x0;
+}
+
struct J2DTexCoordInfo {
/* 0x0 */ u8 mTexGenType;
/* 0x1 */ u8 mTexGenSrc;
@@ -137,8 +155,12 @@ class J2DTevOrder {
public:
/* 802F1B70 */ J2DTevOrder();
-private:
+ GXChannelID getColor() const { return (GXChannelID)mTevOrderInfo.mColor; }
+ GXTexMapID getTexMap() const { return (GXTexMapID)mTevOrderInfo.mTexMap; }
+ GXTexCoordID getTexCoord() const { return (GXTexCoordID)mTevOrderInfo.mTexCoord; }
+
/* 0x0 */ J2DTevOrderInfo mTevOrderInfo;
+ /* 0x4 */ u8 field_0x4;
};
struct J2DTevStageInfo {
@@ -163,12 +185,41 @@ struct J2DTevStageInfo {
/* 0x12 */ u8 field_0x12;
};
+struct J2DTevSwapModeInfo {
+ /* 0x0 */ u8 field_0x0;
+ /* 0x1 */ u8 field_0x1;
+ /* 0x2 */ u8 field_0x2;
+ /* 0x3 */ u8 field_0x3;
+};
+
class J2DTevStage {
public:
/* 802F4110 */ J2DTevStage(J2DTevStageInfo const&);
/* 802F1940 */ J2DTevStage();
/* 802F19A8 */ void setTevStageInfo(J2DTevStageInfo const&);
+ void setTevSwapModeInfo(const J2DTevSwapModeInfo& swapInfo) {
+ setTexSel(swapInfo.field_0x1);
+ setRasSel(swapInfo.field_0x0);
+ }
+
+ void setTexSel(u8 param_0) {
+ field_0x7 = (field_0x7 & ~12) | (param_0 * 4);
+ }
+
+ void setRasSel(u8 param_0) {
+ field_0x7 = (field_0x7 & ~3) | param_0;
+ }
+
+ void operator=(J2DTevStage const& other) {
+ field_0x1 = other.field_0x1;
+ field_0x2 = other.field_0x2;
+ field_0x3 = other.field_0x3;
+ field_0x5 = other.field_0x5;
+ field_0x6 = other.field_0x6;
+ field_0x7 = other.field_0x7;
+ }
+
private:
/* 0x0 */ u8 field_0x0;
/* 0x1 */ u8 field_0x1;
@@ -180,13 +231,6 @@ private:
/* 0x7 */ u8 field_0x7;
};
-struct J2DTevSwapModeInfo {
- /* 0x0 */ u8 mR;
- /* 0x1 */ u8 mG;
- /* 0x2 */ u8 mB;
- /* 0x3 */ u8 mA;
-};
-
class J2DTevSwapModeTable {
public:
/* 802F1934 */ J2DTevSwapModeTable();
diff --git a/include/JSystem/J2DGraph/J2DTextBox.h b/include/JSystem/J2DGraph/J2DTextBox.h
index 6535cfc1eb..67d1d663d3 100644
--- a/include/JSystem/J2DGraph/J2DTextBox.h
+++ b/include/JSystem/J2DGraph/J2DTextBox.h
@@ -17,6 +17,29 @@ enum J2DTextBoxHBinding {
/* 0x2 */ HBIND_LEFT
};
+struct J2DTbxBlockHeader {
+ /* 0x00 */ u32 mTag;
+ /* 0x04 */ s32 mSize;
+};
+
+struct J2DTextBoxInfo {
+ /* 0x00 */ u16 field_0x0;
+ /* 0x02 */ u16 field_0x2;
+ /* 0x04 */ u16 mMaterialNum;
+ /* 0x06 */ s16 mCharSpace;
+ /* 0x08 */ s16 mLineSpace;
+ /* 0x0A */ u16 mFontSizeX;
+ /* 0x0C */ u16 mFontSizeY;
+ /* 0x0E */ u8 mHBind;
+ /* 0x0F */ u8 mVBind;
+ /* 0x10 */ u32 mCharColor;
+ /* 0x14 */ u32 mGradColor;
+ /* 0x18 */ u8 mConnected;
+ /* 0x19 */ char field_0x19[3];
+ /* 0x1C */ u16 field_0x1c;
+ /* 0x1E */ u16 field_0x1e;
+}; // Size: 0x20
+
class J2DTextBox : public J2DPane {
public:
struct TFontSize {
@@ -33,13 +56,13 @@ public:
/* 80300C70 */ virtual bool isUsed(ResTIMG const*);
/* 80300BFC */ virtual bool isUsed(ResFONT const*);
/* 80300C90 */ virtual void rewriteAlpha();
- /* 80300490 */ virtual void draw(f32, f32, f32, J2DTextBoxHBinding);
/* 803002E8 */ virtual void draw(f32, f32);
+ /* 80300490 */ virtual void draw(f32, f32, f32, J2DTextBoxHBinding);
/* 80300278 */ virtual void setFont(JUTFont*);
/* 8021C7F4 */ virtual JUTFont* getFont() const;
/* 80254408 */ virtual bool setBlack(JUtility::TColor);
- /* 80186C84 */ virtual void setWhite(JUtility::TColor);
- /* 8019230C */ virtual void setBlackWhite(JUtility::TColor, JUtility::TColor);
+ /* 80186C84 */ virtual bool setWhite(JUtility::TColor);
+ /* 8019230C */ virtual bool setBlackWhite(JUtility::TColor, JUtility::TColor);
/* 801DFA34 */ virtual JUtility::TColor getBlack() const;
/* 801DFA28 */ virtual JUtility::TColor getWhite() const;
/* 8025602C */ virtual bool getMaterial() const;
@@ -63,7 +86,7 @@ public:
} else {
x = 0.0f;
}
- field_0x11c = x;
+ mFontSizeX = x;
f32 y;
if (sizeY > 0.0f) {
@@ -71,13 +94,13 @@ public:
} else {
y = 0.0f;
}
- field_0x120 = y;
+ mFontSizeY = y;
}
void setFontSize(TFontSize size) { setFontSize(size.mSizeX, size.mSizeY); }
void getFontSize(TFontSize& size) const {
- size.mSizeX = field_0x11c;
- size.mSizeY = field_0x120;
+ size.mSizeX = mFontSizeX;
+ size.mSizeY = mFontSizeY;
}
void setCharSpace(f32 space) { mCharSpacing = space; }
@@ -85,7 +108,15 @@ public:
void setLineSpace(f32 space) { mLineSpacing = space; }
f32 getLineSpace() const { return mLineSpacing; }
-private:
+ J2DTextBoxVBinding getVBinding() const {
+ return (J2DTextBoxVBinding)(mFlags & 3);
+ }
+
+ J2DTextBoxHBinding getHBinding() const {
+ return (J2DTextBoxHBinding)((mFlags >> 2) & 3);
+ }
+
+// private:
/* 0x0100 */ JUTFont* mFont;
/* 0x0104 */ JUtility::TColor mCharColor;
/* 0x0108 */ JUtility::TColor mGradientColor;
@@ -93,14 +124,15 @@ private:
/* 0x0110 */ f32 field_0x110;
/* 0x0114 */ f32 mCharSpacing;
/* 0x0118 */ f32 mLineSpacing;
- /* 0x011C */ f32 field_0x11c;
- /* 0x0120 */ f32 field_0x120;
+ /* 0x011C */ f32 mFontSizeX;
+ /* 0x0120 */ f32 mFontSizeY;
/* 0x0124 */ char* mStringPtr;
/* 0x0128 */ JUtility::TColor mWhiteColor;
/* 0x012C */ JUtility::TColor mBlackColor;
/* 0x0130 */ u8 mFlags;
/* 0x0131 */ bool mTextFontOwned;
/* 0x0132 */ s16 mStringLength;
-};
+ /* 0x0134 */ u8 field_0x134[4];
+}; // Size: 0x138
#endif /* J2DTEXTBOX_H */
diff --git a/include/JSystem/J2DGraph/J2DTextBoxEx.h b/include/JSystem/J2DGraph/J2DTextBoxEx.h
index d9b8a725a1..98f6c44c10 100644
--- a/include/JSystem/J2DGraph/J2DTextBoxEx.h
+++ b/include/JSystem/J2DGraph/J2DTextBoxEx.h
@@ -8,22 +8,26 @@
class J2DTextBoxEx : public J2DTextBox {
public:
- enum stage_enum {};
+ enum stage_enum {
+ STAGE_0,
+ STAGE_1,
+ STAGE_2,
+ };
/* 803071E4 */ J2DTextBoxEx(J2DPane*, JSURandomInputStream*, u32, J2DMaterial*);
/* 80307E0C */ void setTevOrder(bool);
/* 80307EF0 */ void setTevStage(bool);
/* 80307F94 */ void setStage(J2DTevStage*, J2DTextBoxEx::stage_enum);
- /* 803084CC */ void getBlackWhite(JUtility::TColor*, JUtility::TColor*) const;
- /* 80308668 */ void isSetBlackWhite(JUtility::TColor, JUtility::TColor) const;
+ /* 803084CC */ bool getBlackWhite(JUtility::TColor*, JUtility::TColor*) const;
+ /* 80308668 */ bool isSetBlackWhite(JUtility::TColor, JUtility::TColor) const;
/* 8030751C */ virtual ~J2DTextBoxEx();
/* 803089EC */ virtual void setCullBack(bool);
/* 803087DC */ virtual void setCullBack(_GXCullMode);
/* 803087BC */ virtual void setAlpha(u8);
/* 803075AC */ virtual void drawSelf(f32, f32, f32 (*)[3][4]);
- /* 80308A28 */ virtual void isUsed(ResTIMG const*);
- /* 80308828 */ virtual void isUsed(ResFONT const*);
+ /* 80308A28 */ virtual bool isUsed(ResTIMG const*);
+ /* 80308828 */ virtual bool isUsed(ResFONT const*);
/* 80308810 */ virtual void rewriteAlpha();
/* 80308A4C */ virtual void setAnimation(J2DAnmBase*);
/* 80256044 */ virtual void setAnimation(J2DAnmTransform*);
@@ -33,24 +37,24 @@ public:
/* 80308938 */ virtual void setAnimation(J2DAnmTevRegKey*);
/* 80308964 */ virtual void setAnimation(J2DAnmVisibilityFull*);
/* 80308A48 */ virtual void setAnimation(J2DAnmVtxColor*);
- /* 8030896C */ virtual void animationPane(J2DAnmTransform const*);
+ /* 8030896C */ virtual const J2DAnmTransform* animationPane(J2DAnmTransform const*);
/* 803078AC */ virtual void draw(f32, f32);
/* 80307AF0 */ virtual void draw(f32, f32, f32, J2DTextBoxHBinding);
/* 80307D5C */ virtual void setFont(JUTFont*);
/* 80307DC0 */ virtual JUTFont* getFont() const;
- /* 8030823C */ virtual void setBlack(JUtility::TColor);
- /* 803082C4 */ virtual void setWhite(JUtility::TColor);
- /* 8030834C */ virtual void setBlackWhite(JUtility::TColor, JUtility::TColor);
- /* 803086FC */ virtual void getBlack() const;
- /* 8030875C */ virtual void getWhite() const;
- /* 80256024 */ virtual void getMaterial() const;
+ /* 8030823C */ virtual bool setBlack(JUtility::TColor);
+ /* 803082C4 */ virtual bool setWhite(JUtility::TColor);
+ /* 8030834C */ virtual bool setBlackWhite(JUtility::TColor, JUtility::TColor);
+ /* 803086FC */ virtual JUtility::TColor getBlack() const;
+ /* 8030875C */ virtual JUtility::TColor getWhite() const;
+ /* 80256024 */ virtual bool getMaterial() const;
private:
- /* 0x134 */ u8 field_0x134[4];
/* 0x138 */ J2DMaterial* mMaterial;
/* 0x13C */ u16 field_0x13c;
/* 0x13E */ u16 field_0x13e;
/* 0x140 */ u8 field_0x140;
-}; // Size: 0x144
+ /* 0x144 */ J2DAnmVisibilityFull* mVisibilityAnm;
+}; // Size: 0x148
#endif /* J2DTEXTBOXEX_H */