diff options
| author | TakaRikka <38417346+TakaRikka@users.noreply.github.com> | 2022-08-30 14:22:17 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-30 15:22:17 -0600 |
| commit | f8979749e3ef8e8cacf2ea8f474c7f23fc5cb6b3 (patch) | |
| tree | 69659df2105266e9b26a4d50b9a2d610b3e437a2 /include/JSystem/J2DGraph | |
| parent | bc30d007e11458a198c5725626a10bb06a5da536 (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.h | 3 | ||||
| -rw-r--r-- | include/JSystem/J2DGraph/J2DMatBlock.h | 194 | ||||
| -rw-r--r-- | include/JSystem/J2DGraph/J2DMaterial.h | 6 | ||||
| -rw-r--r-- | include/JSystem/J2DGraph/J2DPane.h | 132 | ||||
| -rw-r--r-- | include/JSystem/J2DGraph/J2DPicture.h | 16 | ||||
| -rw-r--r-- | include/JSystem/J2DGraph/J2DPrint.h | 18 | ||||
| -rw-r--r-- | include/JSystem/J2DGraph/J2DTevs.h | 60 | ||||
| -rw-r--r-- | include/JSystem/J2DGraph/J2DTextBox.h | 54 | ||||
| -rw-r--r-- | include/JSystem/J2DGraph/J2DTextBoxEx.h | 32 |
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 */ |
