mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-08-06 17:32:23 -04:00
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
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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];
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -32,17 +32,19 @@ public:
|
||||
void drawTail() const;
|
||||
|
||||
inline void calcZRatio();
|
||||
void setNonSort() { mSortType = 5; }
|
||||
void setZSort() { mSortType = 2; }
|
||||
|
||||
public:
|
||||
J3DPacket** mpBuf;
|
||||
u32 mBufSize;
|
||||
u32 mDrawType;
|
||||
u32 mSortType;
|
||||
float mZNear;
|
||||
float mZFar;
|
||||
float mZRatio;
|
||||
Mtx* mpZMtx;
|
||||
J3DPacket* mpCallBackPacket;
|
||||
/* 0x00 */ J3DPacket** mpBuf;
|
||||
/* 0x04 */ u32 mBufSize;
|
||||
/* 0x08 */ u32 mDrawType;
|
||||
/* 0x0C */ u32 mSortType;
|
||||
/* 0x10 */ f32 mZNear;
|
||||
/* 0x14 */ f32 mZFar;
|
||||
/* 0x18 */ f32 mZRatio;
|
||||
/* 0x1C */ Mtx* mpZMtx;
|
||||
/* 0x20 */ J3DPacket* mpCallBackPacket;
|
||||
|
||||
static u8 sortFuncTable[72];
|
||||
static u8 drawFuncTable[24];
|
||||
|
||||
@@ -2,5 +2,13 @@
|
||||
#define JAISOUNDSTARTER_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JAudio2/JAISound.h"
|
||||
|
||||
struct JAISoundStarter {
|
||||
/* 802A2F6C */ JAISoundStarter(bool);
|
||||
/* 802A2FEC */ void startLevelSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
|
||||
|
||||
virtual ~JAISoundStarter();
|
||||
};
|
||||
|
||||
#endif /* JAISOUNDSTARTER_H */
|
||||
|
||||
@@ -23,7 +23,7 @@ struct TParseData {
|
||||
const void* getRaw() const { return raw; }
|
||||
void setRaw(const void* p) { raw = p; }
|
||||
|
||||
const void* raw;
|
||||
/* 0x0 */ const void* raw;
|
||||
};
|
||||
|
||||
template <int T>
|
||||
@@ -46,6 +46,10 @@ struct TParse_header_block {
|
||||
virtual bool parseBlock_next(const void** ppData_inout, u32* puData_out, u32 arg2) = 0;
|
||||
|
||||
bool parse_next(const void** ppData_inout, u32 a2);
|
||||
|
||||
bool parse(const void* ppData_inout, u32 a2) {
|
||||
return parse_next(&ppData_inout, a2);
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace binary
|
||||
|
||||
@@ -10,9 +10,9 @@ struct TLinkListNode {
|
||||
mPrev = NULL;
|
||||
}
|
||||
|
||||
TLinkListNode* mNext;
|
||||
TLinkListNode* mPrev;
|
||||
};
|
||||
/* 0x0 */ TLinkListNode* mNext;
|
||||
/* 0x4 */ TLinkListNode* mPrev;
|
||||
}; // Size: 0x8
|
||||
|
||||
struct TNodeLinkList {
|
||||
struct iterator {
|
||||
|
||||
@@ -10,11 +10,13 @@ public:
|
||||
friend class JKRExpHeap;
|
||||
|
||||
public:
|
||||
void initiate(CMemBlock*, CMemBlock*, u32, u8, u8);
|
||||
JKRExpHeap::CMemBlock* allocFore(u32, u8, u8, u8, u8);
|
||||
JKRExpHeap::CMemBlock* allocBack(u32, u8, u8, u8, u8);
|
||||
int free(JKRExpHeap*);
|
||||
static CMemBlock* getHeapBlock(void*);
|
||||
void initiate(CMemBlock* prev, CMemBlock* next, u32 size, u8 groupId, u8 alignment);
|
||||
JKRExpHeap::CMemBlock* allocFore(u32 size, u8 groupId1, u8 alignment1, u8 groupId2,
|
||||
u8 alignment2);
|
||||
JKRExpHeap::CMemBlock* allocBack(u32 size, u8 groupId1, u8 alignment1, u8 groupId2,
|
||||
u8 alignment2);
|
||||
int free(JKRExpHeap* heap);
|
||||
static CMemBlock* getHeapBlock(void* ptr);
|
||||
|
||||
void newGroupId(u8 groupId) { this->mGroupId = groupId; }
|
||||
bool isValid() const { return this->mMagic == 'HM'; }
|
||||
@@ -38,46 +40,46 @@ public:
|
||||
friend class CMemBlock;
|
||||
|
||||
protected:
|
||||
JKRExpHeap(void*, u32, JKRHeap*, bool);
|
||||
JKRExpHeap(void* data, u32 size, JKRHeap* parent, bool errorFlag);
|
||||
virtual ~JKRExpHeap();
|
||||
|
||||
void* allocFromHead(u32, int);
|
||||
void* allocFromHead(u32);
|
||||
void* allocFromTail(u32, int);
|
||||
void* allocFromTail(u32);
|
||||
void appendUsedList(CMemBlock*);
|
||||
void setFreeBlock(CMemBlock*, CMemBlock*, CMemBlock*);
|
||||
void removeFreeBlock(CMemBlock*);
|
||||
void removeUsedBlock(CMemBlock*);
|
||||
void recycleFreeBlock(CMemBlock*);
|
||||
void joinTwoBlocks(CMemBlock*);
|
||||
void* allocFromHead(u32 size, int align);
|
||||
void* allocFromHead(u32 size);
|
||||
void* allocFromTail(u32 size, int align);
|
||||
void* allocFromTail(u32 size);
|
||||
void appendUsedList(CMemBlock* newblock);
|
||||
void setFreeBlock(CMemBlock* block, CMemBlock* prev, CMemBlock* next);
|
||||
void removeFreeBlock(CMemBlock* block);
|
||||
void removeUsedBlock(CMemBlock* block);
|
||||
void recycleFreeBlock(CMemBlock* block);
|
||||
void joinTwoBlocks(CMemBlock* block);
|
||||
|
||||
public:
|
||||
s32 getUsedSize(u8) const;
|
||||
s32 getUsedSize(u8 groupId) const;
|
||||
s32 getTotalUsedSize(void) const;
|
||||
CMemBlock* getHeadUsedList() const { return mHeadUsedList; }
|
||||
|
||||
public:
|
||||
/* vt[04] */ virtual u32 getHeapType(); /* override */
|
||||
/* vt[05] */ virtual bool check(); /* override */
|
||||
/* vt[06] */ virtual bool dump_sort(); /* override */
|
||||
/* vt[07] */ virtual bool dump(); /* override */
|
||||
/* vt[08] */ virtual void do_destroy(); /* override */
|
||||
/* vt[09] */ virtual void* do_alloc(u32 size, int alignment); /* override */
|
||||
/* vt[10] */ virtual void do_free(void* ptr); /* override */
|
||||
/* vt[11] */ virtual void do_freeAll(); /* override */
|
||||
/* vt[12] */ virtual void do_freeTail(); /* override */
|
||||
/* vt[13] */ virtual void do_fillFreeArea(); /* override */
|
||||
/* vt[14] */ virtual s32 do_resize(void* ptr, u32 size); /* override */
|
||||
/* vt[15] */ virtual s32 do_getSize(void* ptr); /* override */
|
||||
/* vt[16] */ virtual s32 do_getFreeSize(); /* override */
|
||||
/* vt[17] */ virtual void* do_getMaxFreeBlock(); /* override */
|
||||
/* vt[18] */ virtual s32 do_getTotalFreeSize(); /* override */
|
||||
/* vt[19] */ virtual s32 do_changeGroupID(u8 newGroupID); /* override */
|
||||
/* vt[20] */ virtual u8 do_getCurrentGroupId(); /* override */
|
||||
/* vt[21] */ virtual void state_register(JKRHeap::TState*, u32) const; /* override */
|
||||
/* vt[22] */ virtual bool state_compare(JKRHeap::TState const&,
|
||||
JKRHeap::TState const&) const; /* override */
|
||||
/* vt[04] */ virtual u32 getHeapType(); /* override */
|
||||
/* vt[05] */ virtual bool check(); /* override */
|
||||
/* vt[06] */ virtual bool dump_sort(); /* override */
|
||||
/* vt[07] */ virtual bool dump(); /* override */
|
||||
/* vt[08] */ virtual void do_destroy(); /* override */
|
||||
/* vt[09] */ virtual void* do_alloc(u32 size, int alignment); /* override */
|
||||
/* vt[10] */ virtual void do_free(void* ptr); /* override */
|
||||
/* vt[11] */ virtual void do_freeAll(); /* override */
|
||||
/* vt[12] */ virtual void do_freeTail(); /* override */
|
||||
/* vt[13] */ virtual void do_fillFreeArea(); /* override */
|
||||
/* vt[14] */ virtual s32 do_resize(void* ptr, u32 size); /* override */
|
||||
/* vt[15] */ virtual s32 do_getSize(void* ptr); /* override */
|
||||
/* vt[16] */ virtual s32 do_getFreeSize(); /* override */
|
||||
/* vt[17] */ virtual void* do_getMaxFreeBlock(); /* override */
|
||||
/* vt[18] */ virtual s32 do_getTotalFreeSize(); /* override */
|
||||
/* vt[19] */ virtual s32 do_changeGroupID(u8 newGroupID); /* override */
|
||||
/* vt[20] */ virtual u8 do_getCurrentGroupId(); /* override */
|
||||
/* vt[21] */ virtual void state_register(JKRHeap::TState* p, u32 id) const; /* override */
|
||||
/* vt[22] */ virtual bool state_compare(JKRHeap::TState const& r1,
|
||||
JKRHeap::TState const& r2) const; /* override */
|
||||
|
||||
u8 field_0x6c;
|
||||
u8 mCurrentGroupId;
|
||||
@@ -92,9 +94,9 @@ private:
|
||||
CMemBlock* mTailUsedList;
|
||||
|
||||
public:
|
||||
static JKRExpHeap* createRoot(int, bool);
|
||||
static JKRExpHeap* create(u32, JKRHeap*, bool);
|
||||
static JKRExpHeap* create(void*, u32, JKRHeap*, bool);
|
||||
static JKRExpHeap* createRoot(int maxHeaps, bool errorFlag);
|
||||
static JKRExpHeap* create(u32 size, JKRHeap* parent, bool errorFlag);
|
||||
static JKRExpHeap* create(void* ptr, u32 size, JKRHeap* parent, bool errorFlag);
|
||||
};
|
||||
|
||||
inline JKRExpHeap* JKRCreateExpHeap(u32 size, JKRHeap* parent, bool errorFlag) {
|
||||
|
||||
@@ -29,7 +29,7 @@ public:
|
||||
};
|
||||
|
||||
public:
|
||||
JKRHeap(void*, u32, JKRHeap*, bool);
|
||||
JKRHeap(void* data, u32 size, JKRHeap* parent, bool errorFlag);
|
||||
virtual ~JKRHeap();
|
||||
|
||||
JKRHeap* becomeSystemHeap();
|
||||
@@ -77,9 +77,9 @@ public:
|
||||
/* vt[18] */ virtual s32 do_getTotalFreeSize() = 0;
|
||||
/* vt[19] */ virtual s32 do_changeGroupID(u8 newGroupID);
|
||||
/* vt[20] */ virtual u8 do_getCurrentGroupId();
|
||||
/* vt[21] */ virtual void state_register(JKRHeap::TState*, unsigned long) const;
|
||||
/* vt[22] */ virtual bool state_compare(JKRHeap::TState const&, JKRHeap::TState const&) const;
|
||||
/* vt[23] */ virtual void state_dump(JKRHeap::TState const&) const;
|
||||
/* vt[21] */ virtual void state_register(JKRHeap::TState* p, u32 id) const;
|
||||
/* vt[22] */ virtual bool state_compare(JKRHeap::TState const& r1, JKRHeap::TState const& r2) const;
|
||||
/* vt[23] */ virtual void state_dump(JKRHeap::TState const& p) const;
|
||||
|
||||
void setDebugFill(bool debugFill) { mDebugFill = debugFill; }
|
||||
bool getDebugFill() const { return mDebugFill; }
|
||||
@@ -123,7 +123,7 @@ protected:
|
||||
/* 0x6A */ u8 padding_0x6a[2];
|
||||
|
||||
public:
|
||||
static bool initArena(char**, u32*, int);
|
||||
static bool initArena(char** memory, u32* size, int maxHeaps);
|
||||
static void* alloc(u32 size, int alignment, JKRHeap* heap);
|
||||
static void free(void* ptr, JKRHeap* heap);
|
||||
static s32 resize(void* ptr, u32 size, JKRHeap* heap);
|
||||
@@ -212,7 +212,7 @@ inline void JKRFreeToSysHeap(void* ptr) {
|
||||
systemHeap->free(ptr);
|
||||
}
|
||||
|
||||
inline void JKRFree(void* ptr) {
|
||||
inline void i_JKRFree(void* ptr) {
|
||||
JKRHeap::free(ptr, NULL);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#ifndef CONTROL_H
|
||||
#define CONTROL_H
|
||||
#ifndef JMESSAGE_CONTROL_H
|
||||
#define JMESSAGE_CONTROL_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JMessage/processor.h"
|
||||
@@ -36,4 +36,4 @@ struct jmessage_tControl : public JMessage::TControl {
|
||||
/* 80039B0C */ virtual ~jmessage_tControl();
|
||||
};
|
||||
|
||||
#endif /* CONTROL_H */
|
||||
#endif /* JMESSAGE_CONTROL_H */
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#ifndef DATA_H
|
||||
#define DATA_H
|
||||
#ifndef JMESSAGE_DATA_H
|
||||
#define JMESSAGE_DATA_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
@@ -9,4 +9,4 @@ struct data {
|
||||
};
|
||||
}; // namespace JMessage
|
||||
|
||||
#endif /* DATA_H */
|
||||
#endif /* JMESSAGE_DATA_H */
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#ifndef LOCALE_H
|
||||
#define LOCALE_H
|
||||
#ifndef JMESSAGE_LOCALE_H
|
||||
#define JMESSAGE_LOCALE_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
@@ -12,4 +12,4 @@ struct locale {
|
||||
};
|
||||
}; // namespace JMessage
|
||||
|
||||
#endif /* LOCALE_H */
|
||||
#endif /* JMESSAGE_LOCALE_H */
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#ifndef PROCESSOR_H
|
||||
#define PROCESSOR_H
|
||||
#ifndef JMESSAGE_PROCESSOR_H
|
||||
#define JMESSAGE_PROCESSOR_H
|
||||
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "dolphin/types.h"
|
||||
@@ -298,4 +298,4 @@ struct jmessage_tRenderingProcessor : public JMessage::TRenderingProcessor {
|
||||
/* 8022D74C */ virtual void do_tag(u32, void const*, u32);
|
||||
};
|
||||
|
||||
#endif /* PROCESSOR_H */
|
||||
#endif /* JMESSAGE_PROCESSOR_H */
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#ifndef RESOURCE_H
|
||||
#define RESOURCE_H
|
||||
#ifndef JMESSAGE_RESOURCE_H
|
||||
#define JMESSAGE_RESOURCE_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JGadget/linklist.h"
|
||||
@@ -34,4 +34,4 @@ struct TParse {
|
||||
};
|
||||
}; // namespace JMessage
|
||||
|
||||
#endif /* RESOURCE_H */
|
||||
#endif /* JMESSAGE_RESOURCE_H */
|
||||
|
||||
@@ -2,5 +2,33 @@
|
||||
#define JSGACTOR_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JStage/JSGObject.h"
|
||||
|
||||
namespace JStage {
|
||||
struct TActor : public TObject {
|
||||
/* 80280A48 */ virtual ~TActor() = 0;
|
||||
/* 80280AA8 */ virtual s32 JSGFGetType() const;
|
||||
/* 80280AB0 */ virtual void JSGGetTranslation(Vec*) const;
|
||||
/* 80280AB4 */ virtual void JSGSetTranslation(Vec const&);
|
||||
/* 80280AB8 */ virtual void JSGGetScaling(Vec*) const;
|
||||
/* 80280ABC */ virtual void JSGSetScaling(Vec const&);
|
||||
/* 80280AC0 */ virtual void JSGGetRotation(Vec*) const;
|
||||
/* 80280AC4 */ virtual void JSGSetRotation(Vec const&);
|
||||
/* 80280AC8 */ virtual s32 JSGGetShape() const;
|
||||
/* 80280AD0 */ virtual void JSGSetShape(u32);
|
||||
/* 80280AD4 */ virtual s32 JSGGetAnimation() const;
|
||||
/* 80280ADC */ virtual void JSGSetAnimation(u32);
|
||||
/* 80280AE0 */ virtual f32 JSGGetAnimationFrame() const;
|
||||
/* 80280AE8 */ virtual void JSGSetAnimationFrame(f32);
|
||||
/* 80280AEC */ virtual f32 JSGGetAnimationFrameMax() const;
|
||||
/* 80280AF4 */ virtual f32 JSGGetAnimationTransition() const;
|
||||
/* 80280AFC */ virtual void JSGSetAnimationTransition(f32);
|
||||
/* 80280B00 */ virtual s32 JSGGetTextureAnimation() const;
|
||||
/* 80280B08 */ virtual void JSGSetTextureAnimation(u32);
|
||||
/* 80280B0C */ virtual f32 JSGGetTextureAnimationFrame() const;
|
||||
/* 80280B14 */ virtual void JSGSetTextureAnimationFrame(f32);
|
||||
/* 80280B18 */ virtual f32 JSGGetTextureAnimationFrameMax() const;
|
||||
};
|
||||
};
|
||||
|
||||
#endif /* JSGACTOR_H */
|
||||
|
||||
@@ -1,6 +1,16 @@
|
||||
#ifndef JSGAMBIENTLIGHT_H
|
||||
#define JSGAMBIENTLIGHT_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JStage/JSGObject.h"
|
||||
#include "dolphin/gx/GX.h"
|
||||
|
||||
namespace JStage {
|
||||
struct TAmbientLight : public TObject {
|
||||
/* 80280B20 */ virtual ~TAmbientLight() = 0;
|
||||
/* 80280B80 */ virtual s32 JSGFGetType() const;
|
||||
/* 80280B88 */ virtual GXColor JSGGetColor() const;
|
||||
/* 80280B9C */ virtual void JSGSetColor(GXColor);
|
||||
};
|
||||
};
|
||||
|
||||
#endif /* JSGAMBIENTLIGHT_H */
|
||||
|
||||
@@ -1,6 +1,39 @@
|
||||
#ifndef JSGCAMERA_H
|
||||
#define JSGCAMERA_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JStage/JSGObject.h"
|
||||
|
||||
namespace JStage {
|
||||
struct TECameraProjection {};
|
||||
|
||||
struct TECameraView {};
|
||||
|
||||
struct TCamera : public TObject {
|
||||
/* 80280BA0 */ virtual ~TCamera() = 0;
|
||||
/* 80280C00 */ virtual s32 JSGFGetType() const;
|
||||
/* 80280C08 */ virtual bool JSGGetProjectionType() const;
|
||||
/* 80280C10 */ virtual void JSGSetProjectionType(JStage::TECameraProjection);
|
||||
/* 80280C14 */ virtual f32 JSGGetProjectionNear() const;
|
||||
/* 80280C1C */ virtual void JSGSetProjectionNear(f32);
|
||||
/* 80280C20 */ virtual f32 JSGGetProjectionFar() const;
|
||||
/* 80280C2C */ virtual void JSGSetProjectionFar(f32);
|
||||
/* 80280C30 */ virtual f32 JSGGetProjectionFovy() const;
|
||||
/* 80280C38 */ virtual void JSGSetProjectionFovy(f32);
|
||||
/* 80280C3C */ virtual f32 JSGGetProjectionAspect() const;
|
||||
/* 80280C44 */ virtual void JSGSetProjectionAspect(f32);
|
||||
/* 80280C48 */ virtual void JSGGetProjectionField(f32*) const;
|
||||
/* 80280C4C */ virtual void JSGSetProjectionField(f32 const*);
|
||||
/* 80280C50 */ virtual bool JSGGetViewType() const;
|
||||
/* 80280C58 */ virtual void JSGSetViewType(JStage::TECameraView);
|
||||
/* 80280C5C */ virtual void JSGGetViewPosition(Vec*) const;
|
||||
/* 80280C60 */ virtual void JSGSetViewPosition(Vec const&);
|
||||
/* 80280C64 */ virtual void JSGGetViewUpVector(Vec*) const;
|
||||
/* 80280C68 */ virtual void JSGSetViewUpVector(Vec const&);
|
||||
/* 80280C6C */ virtual void JSGGetViewTargetPosition(Vec*) const;
|
||||
/* 80280C70 */ virtual void JSGSetViewTargetPosition(Vec const&);
|
||||
/* 80280C74 */ virtual f32 JSGGetViewRoll() const;
|
||||
/* 80280C7C */ virtual void JSGSetViewRoll(f32);
|
||||
};
|
||||
};
|
||||
|
||||
#endif /* JSGCAMERA_H */
|
||||
|
||||
@@ -1,6 +1,22 @@
|
||||
#ifndef JSGFOG_H
|
||||
#define JSGFOG_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JStage/JSGObject.h"
|
||||
#include "dolphin/gx/GX.h"
|
||||
|
||||
namespace JStage {
|
||||
struct TFog : public TObject {
|
||||
/* 80280C80 */ virtual ~TFog() = 0;
|
||||
/* 80280CE0 */ virtual s32 JSGFGetType() const;
|
||||
/* 80280CE8 */ virtual bool JSGGetFogFunction() const;
|
||||
/* 80280CF0 */ virtual void JSGSetFogFunction(GXFogType);
|
||||
/* 80280CF4 */ virtual f32 JSGGetStartZ() const;
|
||||
/* 80280CFC */ virtual void JSGSetStartZ(f32);
|
||||
/* 80280D00 */ virtual f32 JSGGetEndZ() const;
|
||||
/* 80280D0C */ virtual void JSGSetEndZ(f32);
|
||||
/* 80280D10 */ virtual GXColor JSGGetColor() const;
|
||||
/* 80280D24 */ virtual void JSGSetColor(GXColor);
|
||||
};
|
||||
};
|
||||
|
||||
#endif /* JSGFOG_H */
|
||||
|
||||
@@ -1,6 +1,28 @@
|
||||
#ifndef JSGLIGHT_H
|
||||
#define JSGLIGHT_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JStage/JSGObject.h"
|
||||
#include "dolphin/gx/GX.h"
|
||||
|
||||
namespace JStage {
|
||||
enum TELight {};
|
||||
|
||||
struct TLight : public TObject {
|
||||
/* 80280D28 */ virtual ~TLight() = 0;
|
||||
/* 80280D88 */ virtual s32 JSGFGetType() const;
|
||||
/* 80280D90 */ virtual bool JSGGetLightType() const;
|
||||
/* 80280D98 */ virtual void JSGSetLightType(JStage::TELight);
|
||||
/* 80280DC4 */ virtual void JSGGetPosition(Vec*) const;
|
||||
/* 80280DC8 */ virtual void JSGSetPosition(Vec const&);
|
||||
/* 80280D9C */ virtual GXColor JSGGetColor() const;
|
||||
/* 80280DB0 */ virtual void JSGSetColor(GXColor);
|
||||
/* 80280DB4 */ virtual void JSGGetDistanceAttenuation(f32*, f32*, GXDistAttnFn*) const;
|
||||
/* 80280DB8 */ virtual void JSGSetDistanceAttenuation(f32, f32, GXDistAttnFn);
|
||||
/* 80280DBC */ virtual void JSGGetAngleAttenuation(f32*, GXSpotFn*) const;
|
||||
/* 80280DC0 */ virtual void JSGSetAngleAttenuation(f32, GXSpotFn);
|
||||
/* 80280DCC */ virtual void JSGGetDirection(Vec*) const;
|
||||
/* 80280DD0 */ virtual void JSGSetDirection(Vec const&);
|
||||
};
|
||||
};
|
||||
|
||||
#endif /* JSGLIGHT_H */
|
||||
|
||||
@@ -2,5 +2,24 @@
|
||||
#define JSGOBJECT_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "dolphin/mtx/mtxvec.h"
|
||||
|
||||
namespace JStage {
|
||||
struct TObject {
|
||||
/* 80280DD4 */ virtual ~TObject() = 0;
|
||||
virtual s32 JSGFGetType() const = 0;
|
||||
/* 80280E1C */ virtual bool JSGGetName() const;
|
||||
/* 80280E24 */ virtual void JSGUpdate();
|
||||
/* 80280E28 */ virtual bool JSGGetFlag() const;
|
||||
/* 80280E30 */ virtual void JSGSetFlag(u32);
|
||||
/* 80280E34 */ virtual bool JSGGetData(u32, void*, u32) const;
|
||||
/* 80280E3C */ virtual void JSGSetData(u32, void const*, u32);
|
||||
/* 80280E40 */ virtual void JSGGetParent(JStage::TObject**, u32*) const;
|
||||
/* 80280E44 */ virtual void JSGSetParent(JStage::TObject*, u32);
|
||||
/* 80280E48 */ virtual void JSGSetRelation(bool, JStage::TObject*, u32);
|
||||
/* 80280E4C */ virtual s32 JSGFindNodeID(char const*) const;
|
||||
/* 80280E54 */ virtual int JSGGetNodeTransformation(u32, f32 (*)[4]) const;
|
||||
};
|
||||
};
|
||||
|
||||
#endif /* JSGOBJECT_H */
|
||||
|
||||
@@ -2,5 +2,28 @@
|
||||
#define JSGSYSTEM_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JStage/JSGObject.h"
|
||||
|
||||
namespace JStage {
|
||||
enum TEObject {
|
||||
/* 0x0 */ TOBJ_ACTOR_UNK,
|
||||
/* 0x1 */ TOBJ_UNK1,
|
||||
/* 0x2 */ TOBJ_ACTOR,
|
||||
/* 0x3 */ TOBJ_CAMERA,
|
||||
/* 0x4 */ TOBJ_AMBIENT,
|
||||
/* 0x5 */ TOBJ_LIGHT,
|
||||
/* 0x6 */ TOBJ_FOG,
|
||||
};
|
||||
|
||||
struct TSystem : public TObject {
|
||||
/* 80280E90 */ virtual ~TSystem() = 0;
|
||||
/* 80280EF0 */ virtual s32 JSGFGetType() const;
|
||||
/* 80280EF8 */ virtual bool JSGFindObject(JStage::TObject**, char const*, JStage::TEObject) const;
|
||||
/* 80280F00 */ virtual bool JSGCreateObject(char const*, JStage::TEObject, u32);
|
||||
/* 80280F08 */ virtual void JSGDestroyObject(JStage::TObject*);
|
||||
/* 80280F0C */ virtual bool JSGGetSystemData(u32);
|
||||
/* 80280F14 */ virtual void JSGSetSystemData(u32, u32);
|
||||
};
|
||||
};
|
||||
|
||||
#endif /* JSGSYSTEM_H */
|
||||
|
||||
@@ -2,5 +2,65 @@
|
||||
#define CTB_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JGadget/binary.h"
|
||||
#include "JSystem/JGadget/linklist.h"
|
||||
#include "JSystem/JStudio/JStudio/object-id.h"
|
||||
|
||||
namespace JStudio {
|
||||
namespace ctb {
|
||||
struct TObject : public object::TObject_ID {
|
||||
/* 80280F18 */ virtual ~TObject() = 0;
|
||||
|
||||
/* 0x08 vtable */
|
||||
/* 0x0C */ JGadget::TLinkListNode field_0xc;
|
||||
/* 0x14 */ void* pData_;
|
||||
};
|
||||
|
||||
struct data {
|
||||
struct TParse_TBlock : public JGadget::binary::TParseData_aligned<4> {};
|
||||
|
||||
static u32 ga4cSignature;
|
||||
};
|
||||
|
||||
struct TObject_TxyzRy : public TObject {
|
||||
/* 80280F60 */ TObject_TxyzRy(JStudio::ctb::data::TParse_TBlock const&);
|
||||
|
||||
/* 80281554 */ virtual ~TObject_TxyzRy();
|
||||
/* 80280FBC */ virtual bool getScheme() const;
|
||||
};
|
||||
|
||||
struct TFactory {
|
||||
TFactory() {}
|
||||
|
||||
/* 80281274 */ virtual ~TFactory();
|
||||
/* 802812BC */ virtual void create(JStudio::ctb::data::TParse_TBlock const&);
|
||||
/* 80281320 */ virtual void destroy(JStudio::ctb::TObject*);
|
||||
};
|
||||
|
||||
struct TControl {
|
||||
/* 80280FC4 */ TControl();
|
||||
/* 80280FF4 */ virtual ~TControl();
|
||||
/* 80281060 */ void appendObject(JStudio::ctb::TObject*);
|
||||
/* 802810AC */ void removeObject(JStudio::ctb::TObject*);
|
||||
/* 802810DC */ void destroyObject(JStudio::ctb::TObject*);
|
||||
/* 8028112C */ void destroyObject_all();
|
||||
/* 80281190 */ void getObject(void const*, u32);
|
||||
/* 80281230 */ void getObject_index(u32);
|
||||
|
||||
/* 0x4 */ TFactory* pFactory_;
|
||||
/* 0x8 */ JGadget::TLinkList<TObject, 2> mList;
|
||||
};
|
||||
|
||||
struct TParse : public JGadget::binary::TParse_header_block {
|
||||
/* 8028135C */ TParse(JStudio::ctb::TControl*);
|
||||
/* 8028137C */ virtual ~TParse();
|
||||
/* 802813DC */ virtual void parseHeader_next(void const**, u32*, u32);
|
||||
/* 80281470 */ virtual void parseBlock_next(void const**, u32*, u32);
|
||||
|
||||
/* 0x4 */ TControl* pControl_;
|
||||
};
|
||||
|
||||
}; // namespace ctb
|
||||
}; // namespace JStudio
|
||||
|
||||
#endif /* CTB_H */
|
||||
|
||||
@@ -10,7 +10,7 @@ namespace JStudio {
|
||||
namespace fvb {
|
||||
namespace data {
|
||||
|
||||
extern f32 ga4cSignature[1 + 1 /* padding */];
|
||||
extern const char ga4cSignature[4];
|
||||
|
||||
const int PARAGRAPH_DATA = 1;
|
||||
|
||||
|
||||
@@ -49,8 +49,9 @@ private:
|
||||
|
||||
class TFactory {
|
||||
public:
|
||||
/* 80284918 */ virtual ~TFactory();
|
||||
TFactory() {}
|
||||
|
||||
/* 80284918 */ virtual ~TFactory();
|
||||
/* 80284960 */ virtual TObject* create(JStudio::fvb::data::TParse_TBlock const&);
|
||||
/* 80284AA0 */ virtual void destroy(JStudio::fvb::TObject*);
|
||||
};
|
||||
@@ -70,9 +71,9 @@ public:
|
||||
TFactory* getFactory() const { return pFactory; }
|
||||
|
||||
private:
|
||||
TFactory* pFactory;
|
||||
JGadget::TLinkList<TObject, 12> ocObject_;
|
||||
};
|
||||
/* 0x4 */ TFactory* pFactory;
|
||||
/* 0x8 */ JGadget::TLinkList<TObject, 12> ocObject_;
|
||||
}; // Size: 0x14
|
||||
|
||||
class TObject_composite : public TObject {
|
||||
public:
|
||||
|
||||
@@ -1,6 +1,96 @@
|
||||
#ifndef JSTUDIO_CONTROL_H
|
||||
#define JSTUDIO_CONTROL_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JGadget/binary.h"
|
||||
#include "JSystem/JStudio/JStudio/fvb.h"
|
||||
#include "JSystem/JStudio/JStudio/stb.h"
|
||||
#include "JSystem/JStudio/JStudio/ctb.h"
|
||||
#include "dolphin/gx/GX.h"
|
||||
|
||||
namespace JStudio {
|
||||
struct TCreateObject {
|
||||
TCreateObject() {}
|
||||
/* 80285488 */ virtual ~TCreateObject() = 0;
|
||||
|
||||
/* 0x4 */ JGadget::TLinkListNode mNode;
|
||||
}; // Size: 0xC
|
||||
|
||||
struct TFactory : public stb::TFactory {
|
||||
TFactory() {}
|
||||
|
||||
/* 802854D0 */ virtual ~TFactory();
|
||||
/* 802855AC */ virtual void create(JStudio::stb::data::TParse_TBlock_object const&);
|
||||
|
||||
/* 80285560 */ void appendCreateObject(JStudio::TCreateObject*);
|
||||
|
||||
/* 0x04 */ JGadget::TLinkList<TCreateObject, -4> mList;
|
||||
/* 0x10 */ fvb::TFactory fvb_Factory;
|
||||
/* 0x14 */ ctb::TFactory ctb_Factory;
|
||||
};
|
||||
|
||||
class TControl : public stb::TControl {
|
||||
public:
|
||||
struct TTransform_translation_rotation_scaling {};
|
||||
struct TTransform_position {};
|
||||
|
||||
/* 80285114 */ TControl();
|
||||
/* 802851AC */ virtual ~TControl();
|
||||
/* 80285228 */ void setFactory(JStudio::TFactory*);
|
||||
/* 80285250 */ void transformOnSet_setOrigin_TxyzRy(Vec const&, f32);
|
||||
/* 802852D0 */ void transformOnGet_setOrigin_TxyzRy(Vec const&, f32);
|
||||
/* 80285368 */ void transform_setOrigin_ctb(JStudio::ctb::TObject const&);
|
||||
/* 8028543C */ void transform_setOrigin_ctb_index(u32);
|
||||
|
||||
void stb_destroyObject_all() { stb::TControl::destroyObject_all(); }
|
||||
void fvb_destroyObject_all() { fvb_Control.destroyObject_all(); }
|
||||
void ctb_destroyObject_all() { ctb_Control.destroyObject_all(); }
|
||||
|
||||
void destroyObject_all() {
|
||||
stb_destroyObject_all();
|
||||
fvb_destroyObject_all();
|
||||
ctb_destroyObject_all();
|
||||
}
|
||||
|
||||
void transformOnSet_enable(bool param_0) { mTransformOnSet = param_0; }
|
||||
void transformOnGet_enable(bool param_0) { mTransformOnGet = param_0; }
|
||||
|
||||
void transform_enable(bool param_0) {
|
||||
transformOnSet_enable(param_0);
|
||||
transformOnGet_enable(param_0);
|
||||
}
|
||||
|
||||
void transform_setOrigin_TxyzRy(const Vec& xyz, f32 rotY) {
|
||||
transformOnSet_setOrigin_TxyzRy(xyz, rotY);
|
||||
transformOnGet_setOrigin_TxyzRy(xyz, rotY);
|
||||
}
|
||||
|
||||
void transform_setOrigin(const Vec& xyz, f32 rotY) {
|
||||
transform_setOrigin_TxyzRy(xyz, rotY);
|
||||
}
|
||||
|
||||
/* 0x58 */ f64 mSecondPerFrame;
|
||||
/* 0x60 */ fvb::TControl fvb_Control;
|
||||
/* 0x74 */ ctb::TControl ctb_Control;
|
||||
/* 0x88 */ bool mTransformOnSet;
|
||||
/* 0x89 */ bool mTransformOnGet;
|
||||
/* 0x8C */ Vec field_0x8c;
|
||||
/* 0x98 */ Vec field_0x98;
|
||||
/* 0xA4 */ f32 mTransformOnSet_RotationY;
|
||||
/* 0xA8 */ u8 field_0xa8[4];
|
||||
/* 0xAC */ Mtx mTransformOnSet_Matrix;
|
||||
/* 0xDC */ Mtx mTransformOnGet_Matrix;
|
||||
};
|
||||
|
||||
struct TParse : public stb::TParse {
|
||||
/* 8028566C */ TParse(JStudio::TControl*);
|
||||
/* 80285844 */ void parseBlock_block_fvb_(JStudio::stb::data::TParse_TBlock const&, u32);
|
||||
/* 802858F0 */ void parseBlock_block_ctb_(JStudio::stb::data::TParse_TBlock const&, u32);
|
||||
|
||||
/* 802856A8 */ virtual ~TParse();
|
||||
/* 80285708 */ virtual void parseHeader(JStudio::stb::data::TParse_THeader const&, u32);
|
||||
/* 802857E4 */ virtual void parseBlock_block(JStudio::stb::data::TParse_TBlock const&, u32);
|
||||
};
|
||||
|
||||
}; // namespace JStudio
|
||||
|
||||
#endif /* JSTUDIO_CONTROL_H */
|
||||
|
||||
@@ -3,4 +3,10 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
namespace JStudio {
|
||||
namespace data {
|
||||
extern const char ga8cSignature[8];
|
||||
} // namespace data
|
||||
} // namespace JStudio
|
||||
|
||||
#endif /* JSTUDIO_DATA_H */
|
||||
|
||||
@@ -2,5 +2,14 @@
|
||||
#define JSTUDIO_MATH_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "dolphin/mtx/mtxvec.h"
|
||||
|
||||
namespace JStudio {
|
||||
namespace math {
|
||||
/* 802859DC */ void getRotation_xyz(MtxP, f32, f32, f32);
|
||||
/* 80285B44 */ void getTransformation_SRxyzT(MtxP, Vec const&, Vec const&, Vec const&);
|
||||
/* 80285BCC */ void getFromTransformation_SRxyzT(Vec*, Vec*, Vec*, CMtxP);
|
||||
};
|
||||
}; // namespace JStudio
|
||||
|
||||
#endif /* JSTUDIO_MATH_H */
|
||||
|
||||
@@ -1,6 +1,237 @@
|
||||
#ifndef JSTUDIO_OBJECT_H
|
||||
#define JSTUDIO_OBJECT_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JStudio/JStudio/fvb.h"
|
||||
#include "JSystem/JStudio/JStudio/stb.h"
|
||||
#include "JSystem/JStudio/JStudio/ctb.h"
|
||||
#include "JSystem/JStudio/JStudio/jstudio-control.h"
|
||||
#include "dolphin/gx/GX.h"
|
||||
|
||||
namespace JStudio {
|
||||
namespace data {
|
||||
struct TEOperationData {};
|
||||
};
|
||||
|
||||
struct TAdaptor;
|
||||
struct TVariableValue {
|
||||
struct TOutput {
|
||||
/* 80285E0C */ ~TOutput();
|
||||
};
|
||||
|
||||
struct TOutput_none_ {
|
||||
/* 80285F6C */ ~TOutput_none_();
|
||||
/* 80285FCC */ void operator()(f32, JStudio::TAdaptor*) const;
|
||||
};
|
||||
|
||||
/* 80285E54 */ void update(f64, JStudio::TAdaptor*);
|
||||
/* 80285EB8 */ void update_immediate_(JStudio::TVariableValue*, f64);
|
||||
/* 80285ECC */ void update_time_(JStudio::TVariableValue*, f64);
|
||||
/* 80285F08 */ void update_functionValue_(JStudio::TVariableValue*, f64);
|
||||
/* 8028B568 */ TVariableValue();
|
||||
|
||||
static u8 soOutput_none_[4 + 4 /* padding */];
|
||||
|
||||
/* 0x00 */ f32 mValue;
|
||||
/* 0x04 */ u32 field_0x4;
|
||||
/* 0x08 */ void (*field_0x8)(TVariableValue*, double);
|
||||
/* 0x0C */ TFunctionValue* field_0xc;
|
||||
/* 0x10 */ TOutput* pOutput_;
|
||||
}; // Size: 0x14
|
||||
|
||||
class TObject : public stb::TObject {
|
||||
public:
|
||||
/* 80286864 */ TObject(JStudio::stb::data::TParse_TBlock_object const&, JStudio::TAdaptor*);
|
||||
/* 80286734 */ void forward_value(u32);
|
||||
|
||||
/* 802866B0 */ virtual ~TObject() = 0;
|
||||
/* 8028679C */ virtual void do_begin();
|
||||
/* 802867D4 */ virtual void do_end();
|
||||
virtual void do_paragraph(u32, void const*, u32) = 0;
|
||||
/* 8028680C */ virtual void do_wait(u32);
|
||||
/* 8028682C */ virtual void do_data(void const*, u32, void const*, u32);
|
||||
|
||||
/* 0x34 */ TAdaptor* mpAdaptor;
|
||||
};
|
||||
|
||||
struct TAdaptor {
|
||||
struct TSetVariableValue_immediate {};
|
||||
|
||||
/* 80285FD0 */ virtual ~TAdaptor() = 0;
|
||||
/* 80286018 */ virtual void adaptor_do_prepare();
|
||||
/* 8028601C */ virtual void adaptor_do_begin();
|
||||
/* 80286020 */ virtual void adaptor_do_end();
|
||||
/* 80286024 */ virtual void adaptor_do_update(u32);
|
||||
/* 80286028 */ virtual void adaptor_do_data(void const*, u32, void const*, u32);
|
||||
|
||||
/* 8028602C */ void adaptor_setVariableValue(JStudio::TControl*, u32,
|
||||
JStudio::data::TEOperationData, void const*, u32);
|
||||
/* 802860CC */ void adaptor_setVariableValue_n(JStudio::TControl*, u32 const*, u32,
|
||||
JStudio::data::TEOperationData, void const*,
|
||||
u32);
|
||||
/* 802861C0 */ void
|
||||
adaptor_setVariableValue_immediate(JStudio::TAdaptor::TSetVariableValue_immediate const*);
|
||||
/* 80286204 */ void adaptor_setVariableValue_Vec(u32 const*, Vec const&);
|
||||
/* 80286274 */ void adaptor_getVariableValue_Vec(Vec*, u32 const*) const;
|
||||
/* 802862AC */ void adaptor_setVariableValue_GXColor(u32 const*, GXColor const&);
|
||||
/* 8028638C */ void adaptor_getVariableValue_GXColor(GXColor*, u32 const*) const;
|
||||
/* 802864D8 */ void adaptor_updateVariableValue(JStudio::TControl*, u32);
|
||||
/* 8028656C */ void adaptor_setVariableValue_VOID_(JStudio::TAdaptor*, JStudio::TControl*, u32,
|
||||
void const*, u32);
|
||||
/* 80286584 */ void adaptor_setVariableValue_IMMEDIATE_(JStudio::TAdaptor*, JStudio::TControl*,
|
||||
u32, void const*, u32);
|
||||
/* 802865B0 */ void adaptor_setVariableValue_TIME_(JStudio::TAdaptor*, JStudio::TControl*, u32,
|
||||
void const*, u32);
|
||||
/* 802865DC */ void adaptor_setVariableValue_FVR_NAME_(JStudio::TAdaptor*, JStudio::TControl*,
|
||||
u32, void const*, u32);
|
||||
/* 80286648 */ void adaptor_setVariableValue_FVR_INDEX_(JStudio::TAdaptor*, JStudio::TControl*,
|
||||
u32, void const*, u32);
|
||||
|
||||
/* 0x4 */ TObject* pObject_;
|
||||
/* 0x8 */ TVariableValue* pValue_;
|
||||
/* 0xC */ u32 u;
|
||||
};
|
||||
|
||||
struct TAdaptor_actor : public TAdaptor {
|
||||
/* 802868B0 */ virtual ~TAdaptor_actor() = 0;
|
||||
|
||||
/* 0x10 */ TVariableValue mValue[14];
|
||||
|
||||
static u8 const sauVariableValue_3_TRANSLATION_XYZ[12];
|
||||
static u8 const sauVariableValue_3_ROTATION_XYZ[12];
|
||||
static u8 const sauVariableValue_3_SCALING_XYZ[12];
|
||||
}; // Size: 0x128
|
||||
|
||||
struct TObject_actor : public TObject {
|
||||
/* 80286910 */ TObject_actor(JStudio::stb::data::TParse_TBlock_object const&,
|
||||
JStudio::TAdaptor_actor*);
|
||||
|
||||
/* 802881A4 */ virtual ~TObject_actor();
|
||||
/* 8028694C */ virtual void do_paragraph(u32, void const*, u32);
|
||||
};
|
||||
|
||||
struct TAdaptor_ambientLight : public TAdaptor {
|
||||
/* 80286C9C */ virtual ~TAdaptor_ambientLight() = 0;
|
||||
|
||||
/* 0x10 */ TVariableValue mValue[4];
|
||||
|
||||
static u8 const sauVariableValue_3_COLOR_RGB[12];
|
||||
static u8 const sauVariableValue_4_COLOR_RGBA[16];
|
||||
};
|
||||
|
||||
struct TObject_ambientLight : public TObject {
|
||||
/* 80286CFC */ TObject_ambientLight(JStudio::stb::data::TParse_TBlock_object const&,
|
||||
JStudio::TAdaptor_ambientLight*);
|
||||
|
||||
/* 80288144 */ virtual ~TObject_ambientLight();
|
||||
/* 80286D38 */ virtual void do_paragraph(u32, void const*, u32);
|
||||
};
|
||||
|
||||
struct TAdaptor_camera : public TAdaptor {
|
||||
/* 80286E1C */ virtual ~TAdaptor_camera() = 0;
|
||||
|
||||
/* 0x10 */ TVariableValue mValue[12];
|
||||
|
||||
static u8 const sauVariableValue_3_POSITION_XYZ[12];
|
||||
static u8 const sauVariableValue_3_TARGET_POSITION_XYZ[12];
|
||||
static u8 sauVariableValue_2_DISTANCE_NEAR_FAR[8];
|
||||
};
|
||||
|
||||
struct TObject_camera : public TObject {
|
||||
/* 80286E7C */ TObject_camera(JStudio::stb::data::TParse_TBlock_object const&,
|
||||
JStudio::TAdaptor_camera*);
|
||||
|
||||
/* 802880E4 */ virtual ~TObject_camera();
|
||||
/* 80286EB8 */ virtual void do_paragraph(u32, void const*, u32);
|
||||
};
|
||||
|
||||
struct TAdaptor_fog : public TAdaptor {
|
||||
/* 8028717C */ virtual ~TAdaptor_fog() = 0;
|
||||
|
||||
/* 0x10 */ TVariableValue mValue[6];
|
||||
|
||||
static u8 const sauVariableValue_3_COLOR_RGB[12];
|
||||
static u8 const sauVariableValue_4_COLOR_RGBA[16];
|
||||
static u8 sauVariableValue_2_RANGE_BEGIN_END[8];
|
||||
};
|
||||
|
||||
struct TObject_fog : public TObject {
|
||||
/* 802871DC */ TObject_fog(JStudio::stb::data::TParse_TBlock_object const&,
|
||||
JStudio::TAdaptor_fog*);
|
||||
|
||||
/* 80288084 */ virtual ~TObject_fog();
|
||||
/* 80287218 */ virtual void do_paragraph(u32, void const*, u32);
|
||||
};
|
||||
|
||||
struct TAdaptor_light : public TAdaptor {
|
||||
/* 80287308 */ virtual ~TAdaptor_light() = 0;
|
||||
|
||||
/* 0x10 */ TVariableValue mValue[13];
|
||||
|
||||
static u8 const sauVariableValue_3_COLOR_RGB[12];
|
||||
static u8 const sauVariableValue_4_COLOR_RGBA[16];
|
||||
static u8 const sauVariableValue_3_POSITION_XYZ[12];
|
||||
static u8 const sauVariableValue_3_TARGET_POSITION_XYZ[12];
|
||||
static u8 sauVariableValue_2_DIRECTION_THETA_PHI[8];
|
||||
};
|
||||
|
||||
struct TObject_light : public TObject {
|
||||
/* 80287368 */ TObject_light(JStudio::stb::data::TParse_TBlock_object const&,
|
||||
JStudio::TAdaptor_light*);
|
||||
|
||||
/* 80288024 */ virtual ~TObject_light();
|
||||
/* 802873A4 */ virtual void do_paragraph(u32, void const*, u32);
|
||||
};
|
||||
|
||||
struct TAdaptor_message : public TAdaptor {
|
||||
/* 802875E0 */ virtual ~TAdaptor_message() = 0;
|
||||
};
|
||||
|
||||
struct TObject_message : public TObject {
|
||||
/* 80287640 */ TObject_message(JStudio::stb::data::TParse_TBlock_object const&,
|
||||
JStudio::TAdaptor_message*);
|
||||
|
||||
/* 80287FC4 */ virtual ~TObject_message();
|
||||
/* 8028767C */ virtual void do_paragraph(u32, void const*, u32);
|
||||
};
|
||||
|
||||
struct TAdaptor_particle : public TAdaptor {
|
||||
/* 8028770C */ virtual ~TAdaptor_particle() = 0;
|
||||
|
||||
/* 0x10 */ TVariableValue mValue[20];
|
||||
|
||||
static u8 const sauVariableValue_3_TRANSLATION_XYZ[12];
|
||||
static u8 const sauVariableValue_3_ROTATION_XYZ[12];
|
||||
static u8 const sauVariableValue_3_SCALING_XYZ[12];
|
||||
static u8 const sauVariableValue_3_COLOR_RGB[12];
|
||||
static u8 const sauVariableValue_4_COLOR_RGBA[16];
|
||||
static u8 const sauVariableValue_3_COLOR1_RGB[12];
|
||||
static u8 const sauVariableValue_4_COLOR1_RGBA[16];
|
||||
};
|
||||
|
||||
struct TObject_particle : public TObject {
|
||||
/* 8028776C */ TObject_particle(JStudio::stb::data::TParse_TBlock_object const&,
|
||||
JStudio::TAdaptor_particle*);
|
||||
|
||||
/* 80287F64 */ virtual ~TObject_particle();
|
||||
/* 802877A8 */ virtual void do_paragraph(u32, void const*, u32);
|
||||
};
|
||||
|
||||
struct TAdaptor_sound : public TAdaptor {
|
||||
/* 80287B3C */ virtual ~TAdaptor_sound() = 0;
|
||||
|
||||
/* 0x10 */ TVariableValue mValue[13];
|
||||
|
||||
static u8 const sauVariableValue_3_POSITION_XYZ[12];
|
||||
}; // Size: 0x114
|
||||
|
||||
struct TObject_sound : public TObject {
|
||||
/* 80287B9C */ TObject_sound(JStudio::stb::data::TParse_TBlock_object const&,
|
||||
JStudio::TAdaptor_sound*);
|
||||
|
||||
/* 80287F04 */ virtual ~TObject_sound();
|
||||
/* 80287BD8 */ virtual void do_paragraph(u32, void const*, u32);
|
||||
};
|
||||
|
||||
}; // namespace JStudio
|
||||
|
||||
#endif /* JSTUDIO_OBJECT_H */
|
||||
|
||||
@@ -15,8 +15,8 @@ public:
|
||||
/* 80288988 */ void isEqual(JStudio::object::TIDData const&, JStudio::object::TIDData const&);
|
||||
|
||||
private:
|
||||
const void* mID;
|
||||
u32 mID_size;
|
||||
/* 0x00 */ const void* mID;
|
||||
/* 0x04 */ u32 mID_size;
|
||||
};
|
||||
|
||||
struct TObject_ID : public TIDData {
|
||||
|
||||
@@ -21,8 +21,8 @@ const int BLOCK_NONE = -1;
|
||||
|
||||
// Used to expand a signed 24 int to a signed 32 int
|
||||
const u32 gu32Mask_TSequence_value_signExpansion = 0xFF000000;
|
||||
extern const u32 ga4cSignature; // 'STB/0'
|
||||
extern const u8 gauDataSize_TEParagraph_data[32];
|
||||
extern u32 ga4cSignature; // 'STB/0'
|
||||
extern const s32 gauDataSize_TEParagraph_data[8];
|
||||
|
||||
inline void toString_block(char* a5c, u32 arg1) {
|
||||
// from debug, todo
|
||||
|
||||
@@ -107,6 +107,8 @@ private:
|
||||
|
||||
class TFactory {
|
||||
public:
|
||||
TFactory() {}
|
||||
|
||||
/* 802895B4 */ virtual ~TFactory();
|
||||
/* 802895FC */ virtual TObject* create(data::TParse_TBlock_object const&);
|
||||
/* 80289604 */ virtual void destroy(TObject*);
|
||||
@@ -130,13 +132,15 @@ public:
|
||||
/* 80289300 */ void destroyObject_all();
|
||||
/* 80289364 */ TObject* getObject(void const*, u32);
|
||||
/* 80289404 */ void reset();
|
||||
/* 802894B4 */ void forward(u32);
|
||||
/* 802894B4 */ u8 forward(u32);
|
||||
|
||||
void setStatus_(u32 status) { mStatus = status; }
|
||||
void resetStatus_() { setStatus_(0); }
|
||||
bool isSuspended() const { return _54 > 0; }
|
||||
TFactory* getFactory() const { return pFactory; }
|
||||
TObject_control& referObject_control() { return mObject_control; }
|
||||
int getSuspend() const { return _54; }
|
||||
void setSuspend(s32 suspend) { mObject_control.setSuspend(suspend); }
|
||||
|
||||
private:
|
||||
/* 0x04 */ u32 _4;
|
||||
@@ -145,7 +149,7 @@ private:
|
||||
/* 0x10 */ JGadget::TLinkList<TObject, 12> mObjectContainer;
|
||||
/* 0x1C */ u32 mStatus;
|
||||
/* 0x20 */ TObject_control mObject_control;
|
||||
/* 0x54 */ s32 _54; // "second per frame"?
|
||||
/* 0x54 */ s32 _54;
|
||||
};
|
||||
|
||||
} // namespace stb
|
||||
|
||||
@@ -1,6 +1,81 @@
|
||||
#ifndef CONTROL_H
|
||||
#define CONTROL_H
|
||||
#ifndef JSTUDIO_JAUDIO2_CONTROL_H
|
||||
#define JSTUDIO_JAUDIO2_CONTROL_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JAudio2/JAISoundHandles.h"
|
||||
#include "JSystem/JAudio2/JAISoundStarter.h"
|
||||
#include "JSystem/JStage/JSGSystem.h"
|
||||
#include "JSystem/JStudio/JStudio/jstudio-object.h"
|
||||
|
||||
#endif /* CONTROL_H */
|
||||
namespace JStudio_JAudio2 {
|
||||
struct TCreateObject : public JStudio::TCreateObject {
|
||||
TCreateObject(JAISoundStarter* p_soundStarter, const JStage::TSystem* p_system) {
|
||||
pJAISoundStarter_ = p_soundStarter;
|
||||
pJSGSystem_ = p_system;
|
||||
mPermit_onExit_notEnd = false;
|
||||
}
|
||||
|
||||
/* 8028D550 */ virtual ~TCreateObject();
|
||||
/* 8028D5B0 */ virtual void create(JStudio::TObject**,
|
||||
JStudio::stb::data::TParse_TBlock_object const&);
|
||||
/* 8028D624 */ void createObject_JAI_SOUND_(JStudio::stb::data::TParse_TBlock_object const&,
|
||||
JStudio_JAudio2::TCreateObject*);
|
||||
|
||||
/* 0x0C */ JAISoundStarter* pJAISoundStarter_;
|
||||
/* 0x10 */ const JStage::TSystem* pJSGSystem_;
|
||||
/* 0x14 */ bool mPermit_onExit_notEnd;
|
||||
};
|
||||
|
||||
struct TAdaptor_sound : public JStudio::TAdaptor_sound {
|
||||
struct TVVOSetValue_ {
|
||||
/* 8028DECC */ void operator()(f32, JStudio::TAdaptor*) const;
|
||||
/* 8028E094 */ ~TVVOSetValue_();
|
||||
};
|
||||
|
||||
/* 8028D828 */ TAdaptor_sound(JStudio_JAudio2::TCreateObject*);
|
||||
/* 8028DF04 */ void prepareSound_();
|
||||
/* 8028DFA4 */ void beginSound_fadeIn_();
|
||||
/* 8028E054 */ void endSound_fadeOut_(u32);
|
||||
|
||||
/* 8028D8F4 */ virtual ~TAdaptor_sound();
|
||||
/* 8028D9A4 */ virtual void adaptor_do_prepare();
|
||||
/* 8028DA74 */ virtual void adaptor_do_end();
|
||||
/* 8028DA78 */ virtual void adaptor_do_update(u32);
|
||||
/* 8028DC20 */ virtual void adaptor_do_SOUND(JStudio::data::TEOperationData, void const*, u32);
|
||||
/* 8028DC54 */ virtual void adaptor_do_BEGIN(JStudio::data::TEOperationData, void const*, u32);
|
||||
/* 8028DC88 */ virtual void adaptor_do_BEGIN_FADE_IN(JStudio::data::TEOperationData, void const*,
|
||||
u32);
|
||||
/* 8028DCD0 */ virtual void adaptor_do_END(JStudio::data::TEOperationData, void const*, u32);
|
||||
/* 8028DD00 */ virtual void adaptor_do_END_FADE_OUT(JStudio::data::TEOperationData, void const*,
|
||||
u32);
|
||||
/* 8028DD48 */ virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, void const*, u32);
|
||||
/* 8028DDB4 */ virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, void const*,
|
||||
u32);
|
||||
/* 8028DE34 */ virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, void const*,
|
||||
u32);
|
||||
/* 8028DE50 */ virtual void adaptor_do_REPEAT(JStudio::data::TEOperationData, void const*, u32);
|
||||
/* 8028DE6C */ virtual void adaptor_do_CONTINUOUS(JStudio::data::TEOperationData, void const*, u32);
|
||||
/* 8028DE88 */ virtual void adaptor_do_LOCATED(JStudio::data::TEOperationData, void const*, u32);
|
||||
/* 8028DEB0 */ virtual void adaptor_do_ON_EXIT_NOT_END(JStudio::data::TEOperationData, void const*,
|
||||
u32);
|
||||
|
||||
static u8 saoVVOSetValue_[72];
|
||||
|
||||
/* 0x114 */ TCreateObject* pCreateObject_;
|
||||
/* 0x118 */ JAISoundHandle opJAISoundHandle_;
|
||||
/* 0x11C */ u8 field_0x11c;
|
||||
/* 0x11D */ u8 field_0x11d;
|
||||
/* 0x11E */ u8 field_0x11e;
|
||||
/* 0x11F */ u8 field_0x11f;
|
||||
/* 0x120 */ u8 field_0x120;
|
||||
/* 0x124 */ u32 field_0x124;
|
||||
/* 0x128 */ u32 field_0x128;
|
||||
/* 0x12C */ u32 field_0x12c;
|
||||
/* 0x130 */ JGeometry::TVec3<f32> field_0x130;
|
||||
/* 0x13C */ u32 field_0x13c;
|
||||
/* 0x140 */ u32 field_0x140;
|
||||
/* 0x144 */ u8 field_0x144;
|
||||
};
|
||||
}; // namespace JStudio_JAudio2
|
||||
|
||||
#endif /* JSTUDIO_JAUDIO2_CONTROL_H */
|
||||
|
||||
@@ -1,6 +1,69 @@
|
||||
#ifndef CONTROL_H
|
||||
#define CONTROL_H
|
||||
#ifndef JSTUDIO_JPARTICLE_CONTROL_H
|
||||
#define JSTUDIO_JPARTICLE_CONTROL_H
|
||||
|
||||
#include "JSystem/JParticle/JPAParticle.h"
|
||||
#include "JSystem/JStage/JSGSystem.h"
|
||||
#include "JSystem/JStudio/JStudio/jstudio-object.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
#endif /* CONTROL_H */
|
||||
namespace JStudio_JParticle {
|
||||
struct TCreateObject : public JStudio::TCreateObject {
|
||||
TCreateObject(JPAEmitterManager* p_emitMgr, const JStage::TSystem* p_system) {
|
||||
pJPAEmitterManager_ = p_emitMgr;
|
||||
pJSGSystem_ = p_system;
|
||||
mPermit_onExit_notEnd = false;
|
||||
}
|
||||
|
||||
/* 8028E3A0 */ virtual ~TCreateObject();
|
||||
/* 8028E400 */ virtual void create(JStudio::TObject**,
|
||||
JStudio::stb::data::TParse_TBlock_object const&);
|
||||
/* 8028E474 */ virtual void emitter_create(u32);
|
||||
/* 8028E4E4 */ virtual void emitter_destroy(JPABaseEmitter*);
|
||||
|
||||
/* 8028E508 */ void createObject_JPA_PARTICLE_(JStudio::stb::data::TParse_TBlock_object const&,
|
||||
JStudio_JParticle::TCreateObject*);
|
||||
|
||||
/* 0x0C */ JPAEmitterManager* pJPAEmitterManager_;
|
||||
/* 0x10 */ const JStage::TSystem* pJSGSystem_;
|
||||
/* 0x14 */ bool mPermit_onExit_notEnd;
|
||||
};
|
||||
|
||||
struct TAdaptor_particle : public JStudio::TAdaptor_particle {
|
||||
struct TJPACallback_emitter_ {
|
||||
/* 8028E700 */ ~TJPACallback_emitter_();
|
||||
/* 8028ECC0 */ void execute(JPABaseEmitter*);
|
||||
/* 8028F060 */ void executeAfter(JPABaseEmitter*);
|
||||
/* 8028F098 */ void draw(JPABaseEmitter*);
|
||||
/* 8028F0D0 */ void drawAfter(JPABaseEmitter*);
|
||||
};
|
||||
|
||||
/* 8028E60C */ TAdaptor_particle(JStudio_JParticle::TCreateObject*);
|
||||
/* 8028F108 */ void beginParticle_fadeIn_();
|
||||
/* 8028F1C0 */ void endParticle_fadeOut_(u32);
|
||||
|
||||
/* 8028E760 */ virtual ~TAdaptor_particle();
|
||||
/* 8028E850 */ virtual void adaptor_do_prepare();
|
||||
/* 8028E97C */ virtual void adaptor_do_end();
|
||||
/* 8028E980 */ virtual void adaptor_do_update(u32);
|
||||
/* 8028EA68 */ virtual void adaptor_do_PARTICLE(JStudio::data::TEOperationData, void const*, u32);
|
||||
/* 8028EA7C */ virtual void adaptor_do_BEGIN(JStudio::data::TEOperationData, void const*, u32);
|
||||
/* 8028EAB0 */ virtual void adaptor_do_BEGIN_FADE_IN(JStudio::data::TEOperationData, void const*,
|
||||
u32);
|
||||
/* 8028EAF8 */ virtual void adaptor_do_END(JStudio::data::TEOperationData, void const*, u32);
|
||||
/* 8028EB24 */ virtual void adaptor_do_END_FADE_OUT(JStudio::data::TEOperationData, void const*,
|
||||
u32);
|
||||
/* 8028EB6C */ virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, void const*, u32);
|
||||
/* 8028EBD8 */ virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, void const*,
|
||||
u32);
|
||||
/* 8028EC58 */ virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, void const*,
|
||||
u32);
|
||||
/* 8028EC74 */ virtual void adaptor_do_PARENT_FUNCTION(JStudio::data::TEOperationData, void const*,
|
||||
u32);
|
||||
/* 8028EC88 */ virtual void adaptor_do_REPEAT(JStudio::data::TEOperationData, void const*, u32);
|
||||
/* 8028ECA4 */ virtual void adaptor_do_ON_EXIT_NOT_END(JStudio::data::TEOperationData, void const*,
|
||||
u32);
|
||||
};
|
||||
|
||||
}; // namespace JStudio_JParticle
|
||||
|
||||
#endif /* JSTUDIO_JPARTICLE_CONTROL_H */
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#ifndef OBJECT_PARTICLE_H
|
||||
#define OBJECT_PARTICLE_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JStudio/JStudio_JParticle/control.h"
|
||||
|
||||
#endif /* OBJECT_PARTICLE_H */
|
||||
|
||||
@@ -1,6 +1,174 @@
|
||||
#ifndef CONTROL_H
|
||||
#define CONTROL_H
|
||||
#ifndef JSTUDIO_JSTAGE_CONTROL_H
|
||||
#define JSTUDIO_JSTAGE_CONTROL_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JStage/JSGActor.h"
|
||||
#include "JSystem/JStage/JSGAmbientLight.h"
|
||||
#include "JSystem/JStage/JSGCamera.h"
|
||||
#include "JSystem/JStage/JSGFog.h"
|
||||
#include "JSystem/JStage/JSGLight.h"
|
||||
#include "JSystem/JStage/JSGSystem.h"
|
||||
#include "JSystem/JStudio/JStudio/jstudio-object.h"
|
||||
|
||||
#endif /* CONTROL_H */
|
||||
namespace JStudio_JStage {
|
||||
struct TCreateObject : public JStudio::TCreateObject {
|
||||
TCreateObject(const JStage::TSystem* pSystem) {
|
||||
pJSGSystem_ = pSystem;
|
||||
}
|
||||
|
||||
/* 80289B00 */ virtual ~TCreateObject();
|
||||
/* 80289B60 */ virtual void create(JStudio::TObject**,
|
||||
JStudio::stb::data::TParse_TBlock_object const&);
|
||||
|
||||
/* 0x0C */ const JStage::TSystem* pJSGSystem_;
|
||||
};
|
||||
|
||||
struct TAdaptor_object_ {
|
||||
/* 8028A470 */ void adaptor_object_data_(void const*, u32, void const*, u32);
|
||||
/* 8028A4BC */ void adaptor_object_findJSGObject_(char const*);
|
||||
/* 8028A50C */ void adaptor_object_findJSGObjectNode_(JStage::TObject const*, char const*);
|
||||
/* 8028A550 */ void adaptor_object_ENABLE_(JStudio::data::TEOperationData, void const*, u32);
|
||||
|
||||
/* 0x0 */ JStudio::TAdaptor* field_0x0;
|
||||
/* 0x4 */ JStage::TSystem* pJSGSystem_;
|
||||
/* 0x8 */ JStage::TObject* pJSGObject_;
|
||||
};
|
||||
|
||||
struct TAdaptor_actor : public JStudio::TAdaptor_actor, public JStudio_JStage::TAdaptor_object_ {
|
||||
struct TVVOutput_ANIMATION_FRAME_ {
|
||||
/* 8028B064 */ void operator()(f32, JStudio::TAdaptor*) const;
|
||||
/* 8028B138 */ ~TVVOutput_ANIMATION_FRAME_();
|
||||
};
|
||||
|
||||
/* 8028A5F0 */ TAdaptor_actor(JStage::TSystem const*, JStage::TActor*);
|
||||
|
||||
/* 8028A6B4 */ virtual ~TAdaptor_actor();
|
||||
/* 8028A728 */ virtual void adaptor_do_prepare();
|
||||
/* 8028A7B4 */ virtual void adaptor_do_begin();
|
||||
/* 8028A8D8 */ virtual void adaptor_do_end();
|
||||
/* 8028A92C */ virtual void adaptor_do_update(u32);
|
||||
/* 8028A974 */ virtual void adaptor_do_data(void const*, u32, void const*, u32);
|
||||
/* 8028AAC8 */ virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, void const*, u32);
|
||||
/* 8028AB0C */ virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, void const*,
|
||||
u32);
|
||||
/* 8028AB68 */ virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, void const*,
|
||||
u32);
|
||||
/* 8028ABF0 */ virtual void adaptor_do_PARENT_FUNCTION(JStudio::data::TEOperationData, void const*,
|
||||
u32);
|
||||
/* 8028AC04 */ virtual void adaptor_do_RELATION(JStudio::data::TEOperationData, void const*, u32);
|
||||
/* 8028AC48 */ virtual void adaptor_do_RELATION_NODE(JStudio::data::TEOperationData, void const*,
|
||||
u32);
|
||||
/* 8028ACA4 */ virtual void adaptor_do_RELATION_ENABLE(JStudio::data::TEOperationData, void const*,
|
||||
u32);
|
||||
/* 8028A998 */ virtual void adaptor_do_SHAPE(JStudio::data::TEOperationData, void const*, u32);
|
||||
/* 8028A9F0 */ virtual void adaptor_do_ANIMATION(JStudio::data::TEOperationData, void const*, u32);
|
||||
/* 8028AA48 */ virtual void adaptor_do_ANIMATION_MODE(JStudio::data::TEOperationData, void const*,
|
||||
u32);
|
||||
/* 8028AA5C */ virtual void adaptor_do_TEXTURE_ANIMATION(JStudio::data::TEOperationData,
|
||||
void const*, u32);
|
||||
/* 8028AAB4 */ virtual void adaptor_do_TEXTURE_ANIMATION_MODE(JStudio::data::TEOperationData,
|
||||
void const*, u32);
|
||||
|
||||
/* 8028ACFC */ void setJSG_ID_(void (JStage::TActor::*)(u32),
|
||||
JStudio::data::TEOperationData, void const*, u32);
|
||||
/* 8028AD38 */ void setJSG_SRT_(JStudio::TControl const*);
|
||||
/* 8028AECC */ void getJSG_SRT_(JStudio::TControl const*);
|
||||
|
||||
static u8 saoVVOutput_[64];
|
||||
static u8 saoVVOutput_ANIMATION_FRAME_[144 + 4 /* padding */];
|
||||
|
||||
/* 0x134 */ u32 field_0x134;
|
||||
/* 0x138 */ u32 field_0x138;
|
||||
/* 0x13C */ u32 field_0x13c;
|
||||
/* 0x140 */ u32 field_0x140;
|
||||
/* 0x144 */ u32 field_0x144;
|
||||
/* 0x148 */ u8 field_0x148;
|
||||
/* 0x14C */ u32 field_0x14c;
|
||||
/* 0x150 */ u32 field_0x150;
|
||||
};
|
||||
|
||||
struct TAdaptor_ambientLight : public JStudio::TAdaptor_ambientLight {
|
||||
/* 8028B610 */ TAdaptor_ambientLight(JStage::TSystem const*, JStage::TAmbientLight*);
|
||||
|
||||
/* 8028B6AC */ virtual ~TAdaptor_ambientLight();
|
||||
/* 8028B720 */ virtual void adaptor_do_prepare();
|
||||
/* 8028B724 */ virtual void adaptor_do_begin();
|
||||
/* 8028B7B0 */ virtual void adaptor_do_end();
|
||||
/* 8028B804 */ virtual void adaptor_do_update(u32);
|
||||
/* 8028B87C */ virtual void adaptor_do_data(void const*, u32, void const*, u32);
|
||||
};
|
||||
|
||||
struct TAdaptor_camera : public JStudio::TAdaptor_camera {
|
||||
/* 8028B8A0 */ TAdaptor_camera(JStage::TSystem const*, JStage::TCamera*);
|
||||
/* 8028B960 */ virtual ~TAdaptor_camera();
|
||||
/* 8028B9D4 */ virtual void adaptor_do_prepare();
|
||||
/* 8028BA1C */ virtual void adaptor_do_begin();
|
||||
/* 8028BAF8 */ virtual void adaptor_do_end();
|
||||
/* 8028BB4C */ virtual void adaptor_do_update(u32);
|
||||
/* 8028BBAC */ virtual void adaptor_do_data(void const*, u32, void const*, u32);
|
||||
/* 8028BBD0 */ virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, void const*, u32);
|
||||
/* 8028BC14 */ virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, void const*, u32);
|
||||
/* 8028BC70 */ virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, void const*, u32);
|
||||
/* 8028BCEC */ virtual void adaptor_do_PARENT_FUNCTION(JStudio::data::TEOperationData, void const*,
|
||||
u32);
|
||||
/* 8028BD00 */ virtual void adaptor_do_TARGET_PARENT(JStudio::data::TEOperationData, void const*, u32);
|
||||
/* 8028BD44 */ virtual void adaptor_do_TARGET_PARENT_NODE(JStudio::data::TEOperationData, void const*,
|
||||
u32);
|
||||
/* 8028BDA0 */ virtual void adaptor_do_TARGET_PARENT_ENABLE(JStudio::data::TEOperationData, void const*,
|
||||
u32);
|
||||
|
||||
/* 8028BDBC */ void setJSG_position_(JStudio::TControl const*);
|
||||
/* 8028BEB8 */ void getJSG_position_(JStudio::TControl const*);
|
||||
/* 8028BFBC */ void setJSG_targetPosition_(JStudio::TControl const*);
|
||||
/* 8028C09C */ void getJSG_targetPosition_(JStudio::TControl const*);
|
||||
|
||||
static u8 saoVVOutput_[160 + 4 /* padding */];
|
||||
};
|
||||
|
||||
struct TAdaptor_fog : public JStudio::TAdaptor_fog {
|
||||
/* 8028C574 */ TAdaptor_fog(JStage::TSystem const*, JStage::TFog*);
|
||||
/* 8028C610 */ virtual ~TAdaptor_fog();
|
||||
/* 8028C684 */ virtual void adaptor_do_prepare();
|
||||
/* 8028C6CC */ virtual void adaptor_do_begin();
|
||||
/* 8028C7B4 */ virtual void adaptor_do_end();
|
||||
/* 8028C808 */ virtual void adaptor_do_update(u32);
|
||||
/* 8028C880 */ virtual void adaptor_do_data(void const*, u32, void const*, u32);
|
||||
|
||||
static u8 saoVVOutput_[96 + 4 /* padding */];
|
||||
};
|
||||
|
||||
struct TAdaptor_light : public JStudio::TAdaptor_light {
|
||||
struct TVVOutput_direction_ {
|
||||
/* 8028D24C */ void operator()(f32, JStudio::TAdaptor*) const;
|
||||
/* 8028D258 */ ~TVVOutput_direction_();
|
||||
};
|
||||
|
||||
/* 8028CB50 */ TAdaptor_light(JStage::TSystem const*, JStage::TLight*);
|
||||
/* 8028CBF4 */ virtual ~TAdaptor_light();
|
||||
/* 8028CC68 */ virtual void adaptor_do_prepare();
|
||||
/* 8028CCB0 */ virtual void adaptor_do_begin();
|
||||
/* 8028CF68 */ virtual void adaptor_do_end();
|
||||
/* 8028CFBC */ virtual void adaptor_do_update(u32);
|
||||
/* 8028D18C */ virtual void adaptor_do_data(void const*, u32, void const*, u32);
|
||||
/* 8028D228 */ virtual void adaptor_do_ENABLE(JStudio::data::TEOperationData, void const*, u32);
|
||||
/* 8028D1B0 */ virtual void adaptor_do_FACULTY(JStudio::data::TEOperationData, void const*, u32);
|
||||
|
||||
static u8 saoVVOutput_direction_[72];
|
||||
};
|
||||
|
||||
/* 8028A1F8 */ void
|
||||
transform_toGlobalFromLocal(f32 (*)[4],
|
||||
JStudio::TControl::TTransform_translation_rotation_scaling const&,
|
||||
JStage::TObject const*, u32);
|
||||
/* 8028A290 */ void transform_toGlobalFromLocal(f32 (*)[4],
|
||||
JStudio::TControl::TTransform_position const&,
|
||||
JStage::TObject const*, u32);
|
||||
/* 8028A328 */ void
|
||||
transform_toLocalFromGlobal(f32 (*)[4],
|
||||
JStudio::TControl::TTransform_translation_rotation_scaling const&,
|
||||
JStage::TObject const*, u32);
|
||||
/* 8028A3CC */ void transform_toLocalFromGlobal(f32 (*)[4],
|
||||
JStudio::TControl::TTransform_position const&,
|
||||
JStage::TObject const*, u32);
|
||||
}; // namespace JStudio_JStage
|
||||
|
||||
#endif /* JSTUDIO_JSTAGE_CONTROL_H */
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#ifndef OBJECT_ACTOR_H
|
||||
#define OBJECT_ACTOR_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JStudio/JStudio_JStage/control.h"
|
||||
|
||||
#endif /* OBJECT_ACTOR_H */
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#ifndef OBJECT_AMBIENTLIGHT_H
|
||||
#define OBJECT_AMBIENTLIGHT_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JStudio/JStudio_JStage/control.h"
|
||||
|
||||
#endif /* OBJECT_AMBIENTLIGHT_H */
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#ifndef OBJECT_CAMERA_H
|
||||
#define OBJECT_CAMERA_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JStudio/JStudio_JStage/control.h"
|
||||
|
||||
#endif /* OBJECT_CAMERA_H */
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#ifndef OBJECT_FOG_H
|
||||
#define OBJECT_FOG_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JStudio/JStudio_JStage/control.h"
|
||||
|
||||
#endif /* OBJECT_FOG_H */
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#ifndef OBJECT_LIGHT_H
|
||||
#define OBJECT_LIGHT_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JStudio/JStudio_JStage/control.h"
|
||||
|
||||
#endif /* OBJECT_LIGHT_H */
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#ifndef OBJECT_H
|
||||
#define OBJECT_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JStudio/JStudio_JStage/control.h"
|
||||
|
||||
#endif /* OBJECT_H */
|
||||
|
||||
@@ -25,6 +25,12 @@ public:
|
||||
return val;
|
||||
}
|
||||
|
||||
s32 readS32() {
|
||||
s32 val;
|
||||
this->read(&val, sizeof(val));
|
||||
return val;
|
||||
}
|
||||
|
||||
s16 readS16() {
|
||||
s16 val;
|
||||
this->read(&val, sizeof(val));
|
||||
@@ -43,6 +49,18 @@ public:
|
||||
return val;
|
||||
}
|
||||
|
||||
u8 read8b() {
|
||||
u8 val;
|
||||
this->read(&val, sizeof(val));
|
||||
return val;
|
||||
}
|
||||
|
||||
u16 read16b() {
|
||||
u16 val;
|
||||
this->read(&val, sizeof(val));
|
||||
return val;
|
||||
}
|
||||
|
||||
// TODO: return value probably wrong
|
||||
/* 802DC298 */ s32 read(void*, s32);
|
||||
}; // Size = 0x8
|
||||
|
||||
@@ -68,7 +68,7 @@ public:
|
||||
void setVisible(bool visible) { mVisible = visible; }
|
||||
|
||||
void setLineAttr(int param_0, u8 param_1) { mBuf[(field_0x20 + 2) * param_0] = param_1; }
|
||||
u8* getLinePtr(int param_0) const { return &mBuf[(field_0x20 + 2) * param_0 + 1]; }
|
||||
u8* getLinePtr(int param_0) const { return &mBuf[(field_0x20 + 2) * param_0] + 1; }
|
||||
int diffIndex(int param_0, int param_1) const {
|
||||
int diff = param_1 - param_0;
|
||||
if (diff >= 0) {
|
||||
|
||||
@@ -68,7 +68,7 @@ public:
|
||||
/* 0x0C */ virtual void setGX() = 0;
|
||||
/* 0x10 */ virtual void setGX(JUtility::TColor col1, JUtility::TColor col2);
|
||||
/* 0x14 */ virtual f32 drawChar_scale(f32 a1, f32 a2, f32 a3, f32 a4, int a5, bool a6) = 0;
|
||||
/* 0x18 */ virtual u16 getLeading() const = 0;
|
||||
/* 0x18 */ virtual int getLeading() const = 0;
|
||||
/* 0x1C */ virtual u16 getAscent() const = 0;
|
||||
/* 0x20 */ virtual u16 getDescent() const = 0;
|
||||
/* 0x24 */ virtual s32 getHeight() const = 0;
|
||||
|
||||
@@ -17,6 +17,11 @@ public:
|
||||
JUTPalette(_GXTlut p1, _GXTlutFmt p2, JUTTransparency p3, u16 p4, void* p5) {
|
||||
this->storeTLUT(p1, p2, p3, p4, p5);
|
||||
}
|
||||
|
||||
JUTPalette(GXTlut tlutNo, ResTLUT* p_tlutRes) {
|
||||
storeTLUT(tlutNo, p_tlutRes);
|
||||
}
|
||||
|
||||
/* 802DE890 */ void storeTLUT(_GXTlut, ResTLUT*);
|
||||
/* 802DE91C */ void storeTLUT(_GXTlut, _GXTlutFmt, JUTTransparency, u16, void*);
|
||||
/* 802DE95C */ bool load();
|
||||
|
||||
@@ -11,7 +11,7 @@ public:
|
||||
/* 802DF48C */ virtual void setGX();
|
||||
/* 802DF584 */ virtual void setGX(JUtility::TColor, JUtility::TColor);
|
||||
/* 802DF7C4 */ virtual f32 drawChar_scale(f32, f32, f32, f32, int, bool);
|
||||
/* 802DDFEC */ virtual u16 getLeading() const;
|
||||
/* 802DDFEC */ virtual int getLeading() const;
|
||||
/* 802DE004 */ virtual u16 getAscent() const;
|
||||
/* 802DE010 */ virtual u16 getDescent() const;
|
||||
/* 802DE01C */ virtual s32 getHeight() const;
|
||||
|
||||
@@ -4,22 +4,25 @@
|
||||
#include "JSystem/JUtility/JUTPalette.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct ResTIMG { /* Acts as the header to image data. Usually texture data immediately follows it,
|
||||
so any pointer arithmetic to go past the end of this structure is so that a
|
||||
variable sized allocated buffer can be accessed. */
|
||||
/*
|
||||
* Acts as the header to image data. Usually texture data immediately follows it,
|
||||
* so any pointer arithmetic to go past the end of this structure is so that a
|
||||
* variable sized allocated buffer can be accessed.
|
||||
*/
|
||||
struct ResTIMG {
|
||||
/* 0x00 */ u8 format;
|
||||
/* 0x01 */ bool alphaEnabled;
|
||||
/* 0x01 */ u8 alphaEnabled;
|
||||
/* 0x02 */ u16 width;
|
||||
/* 0x04 */ u16 height;
|
||||
/* 0x06 */ u8 wrapS;
|
||||
/* 0x07 */ u8 wrapT;
|
||||
/* 0x08 */ bool palettesEnabled;
|
||||
/* 0x08 */ u8 palettesEnabled;
|
||||
/* 0x09 */ u8 paletteFormat;
|
||||
/* 0x0A */ u16 paletteCount;
|
||||
/* 0x0C */ u32 paletteOffset;
|
||||
/* 0x10 */ bool mipmapEnabled;
|
||||
/* 0x11 */ bool doEdgeLOD;
|
||||
/* 0x12 */ bool biasClamp;
|
||||
/* 0x10 */ u8 mipmapEnabled;
|
||||
/* 0x11 */ u8 doEdgeLOD;
|
||||
/* 0x12 */ u8 biasClamp;
|
||||
/* 0x13 */ u8 maxAnisotropy;
|
||||
/* 0x14 */ u8 minFilter;
|
||||
/* 0x15 */ u8 magFilter;
|
||||
@@ -38,6 +41,13 @@ public:
|
||||
mEmbPalette = NULL;
|
||||
mTexInfo = NULL;
|
||||
}
|
||||
|
||||
JUTTexture(const ResTIMG* p_timg, u8 param_1) {
|
||||
mEmbPalette = NULL;
|
||||
storeTIMG(p_timg, param_1);
|
||||
setCaptureFlag(false);
|
||||
}
|
||||
|
||||
~JUTTexture();
|
||||
void storeTIMG(ResTIMG const*, JUTPalette*, _GXTlut);
|
||||
void storeTIMG(ResTIMG const*, u8);
|
||||
@@ -52,9 +62,10 @@ public:
|
||||
void setCaptureFlag(bool flag) { mFlags &= 2 | flag; }
|
||||
u8 getCaptureFlag() const { return mFlags & 1; }
|
||||
u8 getEmbPaletteDelFlag() const { return mFlags & 2; }
|
||||
u8 getTlutName() const { return mTlutName; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ _GXTexObj mTexObj;
|
||||
/* 0x00 */ GXTexObj mTexObj;
|
||||
/* 0x20 */ const ResTIMG* mTexInfo;
|
||||
/* 0x24 */ void* mTexData;
|
||||
/* 0x28 */ JUTPalette* mEmbPalette;
|
||||
|
||||
@@ -4,6 +4,10 @@
|
||||
#include "MSL_C/MSL_Common/Src/float.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
#define M_PI 3.14159265358979323846f
|
||||
|
||||
#define DEG_TO_RAD(degrees) (degrees * (M_PI / 180.0f))
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
@@ -15,6 +15,9 @@ public:
|
||||
|
||||
/* 80267C94 */ virtual ~cBgS_GndChk();
|
||||
|
||||
f32 GetNowY() const { return mNowY; }
|
||||
void SetNowY(f32 y) { mNowY = y; }
|
||||
|
||||
private:
|
||||
/* 0x24 */ cXyz m_pos;
|
||||
/* 0x30 */ u32 mFlags;
|
||||
|
||||
@@ -8,7 +8,7 @@ private:
|
||||
/* 0x00 */ u16 mPolyIndex;
|
||||
/* 0x02 */ u16 mBgIndex;
|
||||
/* 0x04 */ void* unk_0x04;
|
||||
/* 0x08 */ u32 unk_0x08;
|
||||
/* 0x08 */ unsigned int mActorId;
|
||||
|
||||
public:
|
||||
cBgS_PolyInfo();
|
||||
|
||||
@@ -17,6 +17,8 @@ public:
|
||||
|
||||
cBgW_BgId() { Ct(); }
|
||||
void Ct() { m_id = 0x100; }
|
||||
|
||||
u16 GetId() const { return m_id; }
|
||||
};
|
||||
|
||||
bool cBgW_CheckBGround(float a1);
|
||||
|
||||
@@ -18,6 +18,28 @@ class cCcD_AabAttr;
|
||||
class cCcD_CylAttr;
|
||||
class cCcD_SphAttr;
|
||||
|
||||
enum cCcD_ObjAtType {
|
||||
/* 0x00000002 */ AT_TYPE_NORMAL_SWORD = (1 << 1), // wooden or ordon
|
||||
/* 0x00000004 */ AT_TYPE_HORSE = (1 << 2),
|
||||
/* 0x00000008 */ AT_TYPE_THROW_OBJ = (1 << 3),
|
||||
/* 0x00000010 */ AT_TYPE_SHIELD_ATTACK = (1 << 4),
|
||||
/* 0x00000020 */ AT_TYPE_BOMB = (1 << 5),
|
||||
/* 0x00000080 */ AT_TYPE_SLINGSHOT = (1 << 7),
|
||||
/* 0x00000400 */ AT_TYPE_CSTATUE_SWING = (1 << 10),
|
||||
/* 0x00002000 */ AT_TYPE_ARROW = (1 << 13),
|
||||
/* 0x00004000 */ AT_TYPE_HOOKSHOT = (1 << 14),
|
||||
/* 0x00010000 */ AT_TYPE_BOOMERANG = (1 << 16),
|
||||
/* 0x00040000 */ AT_TYPE_SPINNER = (1 << 18),
|
||||
/* 0x00100000 */ AT_TYPE_CSTATUE_BOSS_SWING = (1 << 20),
|
||||
/* 0x00200000 */ AT_TYPE_HEAVY_BOOTS = (1 << 21),
|
||||
/* 0x00400000 */ AT_TYPE_IRON_BALL = (1 << 22),
|
||||
/* 0x00800000 */ AT_TYPE_COPY_ROD = (1 << 23),
|
||||
/* 0x04000000 */ AT_TYPE_MASTER_SWORD = (1 << 26),
|
||||
/* 0x08000000 */ AT_TYPE_MIDNA_LOCK = (1 << 27),
|
||||
/* 0x40000000 */ AT_TYPE_WOLF_CUT_TURN = (1 << 30),
|
||||
/* 0x80000000 */ AT_TYPE_WOLF_ATTACK = (1 << 31),
|
||||
};
|
||||
|
||||
class cCcD_ShapeAttr {
|
||||
public:
|
||||
/* 0x00 */ cM3dGAab mAab;
|
||||
|
||||
@@ -2,12 +2,9 @@
|
||||
#define Z2SOUNDSTARTER_H
|
||||
|
||||
#include "JSystem/JAudio2/JAISound.h"
|
||||
#include "JSystem/JAudio2/JAISoundStarter.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct JAISoundStarter {
|
||||
virtual ~JAISoundStarter();
|
||||
};
|
||||
|
||||
struct Z2SoundStarter : public JAISoundStarter {
|
||||
Z2SoundStarter(bool);
|
||||
void setPortData(JAISoundHandle*, u32, u16, s8);
|
||||
|
||||
+1216
-187
File diff suppressed because it is too large
Load Diff
@@ -220,6 +220,7 @@ public:
|
||||
FLG2_UNK_2080000 = 0x2080000,
|
||||
BOAR_SINGLE_BATTLE = 0x1800000,
|
||||
STATUS_WINDOW_DRAW = 0x400000,
|
||||
FLG2_UNK_280000 = 0x280000,
|
||||
UNK_ARMOR = 0x80000,
|
||||
SCENE_CHANGE_START = 0x8000,
|
||||
FLG2_UNK_4000 = 0x4000,
|
||||
@@ -243,6 +244,7 @@ public:
|
||||
enum daPy_ERFLG1 {
|
||||
GANON_FINISH = 0x80000000,
|
||||
UNK_FORCE_PUT_POS = 0x2000,
|
||||
ERFLG1_UNK_2 = 2,
|
||||
ERFLG1_UNK_1 = 1,
|
||||
};
|
||||
enum daPy_ERFLG2 {
|
||||
@@ -539,7 +541,7 @@ public:
|
||||
|
||||
bool getSumouCameraMode() const {
|
||||
bool sumouCameraMode = false;
|
||||
if (field_0x560[0xA] != 0 && field_0x560[0xA] < 0x26) {
|
||||
if (mSpecialMode != 0 && mSpecialMode < 0x26) {
|
||||
sumouCameraMode = true;
|
||||
}
|
||||
return sumouCameraMode;
|
||||
@@ -568,6 +570,7 @@ public:
|
||||
void i_onNoResetFlg2(int pFlg) { mNoResetFlg2 |= pFlg; }
|
||||
void i_onNoResetFlg3(int pFlg) { mNoResetFlg3 |= pFlg; }
|
||||
void i_offNoResetFlg0(int pFlg) { mNoResetFlg0 &= ~pFlg; }
|
||||
void i_offNoResetFlg2(int pFlg) { mNoResetFlg2 &= ~pFlg; }
|
||||
void i_offNoResetFlg3(int pFlg) { mNoResetFlg3 &= ~pFlg; }
|
||||
void i_offResetFlg0(int flag) { mResetFlg0 &= ~flag; }
|
||||
void i_onResetFlg0(int flag) { mResetFlg0 |= flag; }
|
||||
|
||||
@@ -12,7 +12,7 @@ class cBgS_ChkElm {
|
||||
public:
|
||||
/* 0x00 */ dBgW_Base* m_bgw_base_ptr;
|
||||
/* 0x04 */ bool m_used;
|
||||
/* 0x08 */ u32 field_0x8;
|
||||
/* 0x08 */ u32 m_actor_id;
|
||||
/* 0x0C */ fopAc_ac_c* m_actor_ptr;
|
||||
/* 0x10 vtable */
|
||||
|
||||
@@ -37,7 +37,7 @@ public:
|
||||
public:
|
||||
cBgS() {}
|
||||
bool Regist(dBgW_Base*, unsigned int, void*);
|
||||
void Release(dBgW_Base*);
|
||||
int Release(dBgW_Base*);
|
||||
bool LineCross(cBgS_LinChk*);
|
||||
f32 GroundCross(cBgS_GndChk*);
|
||||
static void ConvDzb(void*);
|
||||
@@ -75,14 +75,14 @@ public:
|
||||
s32 GetExitId(cBgS_PolyInfo const&);
|
||||
s32 GetPolyColor(cBgS_PolyInfo const&);
|
||||
BOOL GetHorseNoEntry(cBgS_PolyInfo const&);
|
||||
bool GetSpecialCode(cBgS_PolyInfo const&);
|
||||
int GetSpecialCode(cBgS_PolyInfo const&);
|
||||
int GetMagnetCode(cBgS_PolyInfo const&);
|
||||
bool GetMonkeyBarsCode(cBgS_PolyInfo const&);
|
||||
bool GetUnderwaterRoofCode(cBgS_PolyInfo const&);
|
||||
int GetMonkeyBarsCode(cBgS_PolyInfo const&);
|
||||
int GetUnderwaterRoofCode(cBgS_PolyInfo const&);
|
||||
s32 GetWallCode(cBgS_PolyInfo const&);
|
||||
int GetPolyAtt0(cBgS_PolyInfo const&);
|
||||
int GetPolyAtt1(cBgS_PolyInfo const&);
|
||||
bool GetGroundCode(cBgS_PolyInfo const&);
|
||||
int GetGroundCode(cBgS_PolyInfo const&);
|
||||
s32 GetCamMoveBG(cBgS_PolyInfo const&);
|
||||
s32 GetRoomCamId(cBgS_PolyInfo const&);
|
||||
s32 GetRoomPathId(cBgS_PolyInfo const&);
|
||||
@@ -96,7 +96,7 @@ public:
|
||||
void WallCorrectSort(dBgS_Acch*);
|
||||
f32 RoofChk(dBgS_RoofChk*);
|
||||
bool SplGrpChk(dBgS_SplGrpChk*);
|
||||
void SphChk(dBgS_SphChk*, void*);
|
||||
bool SphChk(dBgS_SphChk*, void*);
|
||||
void MoveBgCrrPos(cBgS_PolyInfo const&, bool, cXyz*, csXyz*, csXyz*, bool, bool);
|
||||
void MoveBgTransPos(cBgS_PolyInfo const&, bool, cXyz*, csXyz*, csXyz*);
|
||||
void MoveBgMatrixCrrPos(cBgS_PolyInfo const&, bool, cXyz*, csXyz*, csXyz*);
|
||||
|
||||
@@ -148,6 +148,7 @@ public:
|
||||
void SetWtrChkMode(int mode) { m_wtr_mode = mode; }
|
||||
void SetGrndNone() { m_flags |= GRND_NONE; }
|
||||
void ClrGrndNone() { m_flags &= ~GRND_NONE; }
|
||||
bool ChkMoveBGOnly() const { return m_flags & MOVE_BG_ONLY; }
|
||||
|
||||
// inline dupe
|
||||
void i_ClrGroundHit() { m_flags &= ~GROUND_HIT; }
|
||||
|
||||
@@ -17,6 +17,7 @@ public:
|
||||
|
||||
void SetNowY(f32 y) { mNowY = y; }
|
||||
void i_SetPos(cXyz const& pos) { m_pos = pos; }
|
||||
f32 GetNowY() { return mNowY; }
|
||||
|
||||
private:
|
||||
/* 0x3C */ cXyz m_pos;
|
||||
|
||||
@@ -15,10 +15,8 @@ typedef void* (*SphChk_Callback)(dBgS_SphChk*, cBgD_Vtx_t*, int, int, int, cM3dG
|
||||
class dBgS_SphChk : public cM3dGSph, public cBgS_PolyInfo, public cBgS_Chk, public dBgS_Chk {
|
||||
public:
|
||||
/* 80078A14 */ dBgS_SphChk();
|
||||
|
||||
/* 80078AC0 */ virtual ~dBgS_SphChk();
|
||||
|
||||
private:
|
||||
/* 0x50 */ SphChk_Callback mCallback;
|
||||
};
|
||||
|
||||
|
||||
@@ -25,6 +25,8 @@ public:
|
||||
void OffIn() { m_flags &= ~IN; }
|
||||
void OffMoveBGOnly() { m_flags &= ~MOVE_BG_ONLY; }
|
||||
void OnMoveBGOnly() { m_flags |= MOVE_BG_ONLY; }
|
||||
void OnFind() { m_flags |= FIND; }
|
||||
bool ChkMoveBGOnly() { return m_flags & MOVE_BG_ONLY; }
|
||||
void SetHeight(f32 height) { m_height = height; }
|
||||
f32 GetHeight() { return m_height; }
|
||||
cXyz& GetPosP() { return m_ground; }
|
||||
|
||||
+19
-19
@@ -87,31 +87,31 @@ public:
|
||||
|
||||
/* 8007933C */ virtual ~cBgW();
|
||||
/* 80079EEC */ virtual void ChkMemoryError();
|
||||
/* 8007B948 */ virtual void ChkNotReady() const;
|
||||
/* 8007B948 */ virtual bool ChkNotReady() const;
|
||||
/* 8007B958 */ virtual bool ChkLock() const;
|
||||
/* 8007B964 */ virtual bool ChkMoveBg() const;
|
||||
virtual u32 ChkMoveFlag() const = 0;
|
||||
/* 8007B270 */ virtual void GetTriPla(cBgS_PolyInfo const&) const;
|
||||
/* 8007B270 */ virtual cM3dGPla GetTriPla(cBgS_PolyInfo const&) const;
|
||||
/* 8007B1B4 */ virtual bool GetTriPnt(cBgS_PolyInfo const&, cXyz*, cXyz*, cXyz*) const;
|
||||
/* 8007B164 */ virtual void GetBnd() const;
|
||||
/* 8007B2B0 */ virtual u32 GetGrpInf(cBgS_PolyInfo const&) const;
|
||||
virtual void OffMoveFlag() = 0;
|
||||
/* 8007B240 */ virtual void GetTopUnder(f32*, f32*) const;
|
||||
/* 8007A658 */ virtual bool LineCheck(cBgS_LinChk*);
|
||||
/* 8007AB9C */ virtual void GroundCross(cBgS_GndChk*);
|
||||
/* 8007AB9C */ virtual bool GroundCross(cBgS_GndChk*);
|
||||
/* 8007B084 */ virtual void ShdwDraw(cBgS_ShdwDraw*);
|
||||
virtual void CaptPoly(dBgS_CaptPoly&) = 0;
|
||||
virtual void WallCorrect(dBgS_Acch*) = 0;
|
||||
virtual void WallCorrectSort(dBgS_Acch*) = 0;
|
||||
virtual void RoofChk(dBgS_RoofChk*) = 0;
|
||||
virtual void SplGrpChk(dBgS_SplGrpChk*) = 0;
|
||||
virtual void SphChk(dBgS_SphChk*, void*) = 0;
|
||||
virtual bool RoofChk(dBgS_RoofChk*) = 0;
|
||||
virtual bool SplGrpChk(dBgS_SplGrpChk*) = 0;
|
||||
virtual bool SphChk(dBgS_SphChk*, void*) = 0;
|
||||
/* 8007B0E4 */ virtual s32 GetGrpRoomIndex(cBgS_PolyInfo const&) const;
|
||||
virtual s32 GetExitId(cBgS_PolyInfo const&) = 0;
|
||||
virtual s32 GetPolyColor(cBgS_PolyInfo const&) = 0;
|
||||
virtual BOOL GetHorseNoEntry(cBgS_PolyInfo const&) = 0;
|
||||
virtual bool GetSpecialCode(cBgS_PolyInfo const&) = 0;
|
||||
virtual void GetSpecialCode(int) = 0;
|
||||
virtual int GetSpecialCode(cBgS_PolyInfo const&) = 0;
|
||||
virtual int GetSpecialCode(int) = 0;
|
||||
virtual int GetMagnetCode(cBgS_PolyInfo const&) = 0;
|
||||
virtual void GetPolyObjThrough(int) = 0;
|
||||
virtual void GetPolyCamThrough(int) = 0;
|
||||
@@ -122,12 +122,12 @@ public:
|
||||
virtual void GetPolyRopeThrough(int) = 0;
|
||||
virtual void GetPolyBombThrough(int) = 0;
|
||||
virtual void GetShdwThrough(int) = 0;
|
||||
virtual bool GetUnderwaterRoofCode(int) = 0;
|
||||
virtual bool GetMonkeyBarsCode(cBgS_PolyInfo const&) = 0;
|
||||
virtual int GetUnderwaterRoofCode(int) = 0;
|
||||
virtual int GetMonkeyBarsCode(cBgS_PolyInfo const&) = 0;
|
||||
virtual s32 GetWallCode(cBgS_PolyInfo const&) = 0;
|
||||
virtual int GetPolyAtt0(cBgS_PolyInfo const&) = 0;
|
||||
virtual int GetPolyAtt1(cBgS_PolyInfo const&) = 0;
|
||||
virtual bool GetGroundCode(cBgS_PolyInfo const&) = 0;
|
||||
virtual int GetGroundCode(cBgS_PolyInfo const&) = 0;
|
||||
virtual void GetIronBallThrough(int) = 0;
|
||||
virtual u32 GetAttackThrough(int) = 0;
|
||||
virtual s32 GetCamMoveBG(cBgS_PolyInfo const&) = 0;
|
||||
@@ -203,14 +203,14 @@ public:
|
||||
/* 8007DAF8 */ virtual void CaptPoly(dBgS_CaptPoly&);
|
||||
/* 8007C484 */ virtual void WallCorrect(dBgS_Acch*);
|
||||
/* 8007C910 */ virtual void WallCorrectSort(dBgS_Acch*);
|
||||
/* 8007D470 */ virtual void RoofChk(dBgS_RoofChk*);
|
||||
/* 8007D830 */ virtual void SplGrpChk(dBgS_SplGrpChk*);
|
||||
/* 8007DF00 */ virtual void SphChk(dBgS_SphChk*, virtual void*);
|
||||
/* 8007D470 */ virtual bool RoofChk(dBgS_RoofChk*);
|
||||
/* 8007D830 */ virtual bool SplGrpChk(dBgS_SplGrpChk*);
|
||||
/* 8007DF00 */ virtual bool SphChk(dBgS_SphChk*, virtual void*);
|
||||
/* 8007B3AC */ virtual s32 GetExitId(cBgS_PolyInfo const&);
|
||||
/* 8007B3D8 */ virtual s32 GetPolyColor(cBgS_PolyInfo const&);
|
||||
/* 8007B404 */ virtual BOOL GetHorseNoEntry(cBgS_PolyInfo const&);
|
||||
/* 8007B430 */ virtual bool GetSpecialCode(cBgS_PolyInfo const&);
|
||||
/* 8007B460 */ virtual void GetSpecialCode(int);
|
||||
/* 8007B430 */ virtual int GetSpecialCode(cBgS_PolyInfo const&);
|
||||
/* 8007B460 */ virtual int GetSpecialCode(int);
|
||||
/* 8007B488 */ virtual int GetMagnetCode(cBgS_PolyInfo const&);
|
||||
/* 8007B4E0 */ virtual void GetPolyObjThrough(int);
|
||||
/* 8007B504 */ virtual void GetPolyCamThrough(int);
|
||||
@@ -221,13 +221,13 @@ public:
|
||||
/* 8007B5BC */ virtual void GetPolyRopeThrough(int);
|
||||
/* 8007B5E0 */ virtual void GetPolyBombThrough(int);
|
||||
/* 8007B604 */ virtual void GetShdwThrough(int);
|
||||
/* 8007B630 */ virtual bool GetUnderwaterRoofCode(int);
|
||||
/* 8007B4B4 */ virtual bool GetMonkeyBarsCode(cBgS_PolyInfo const&);
|
||||
/* 8007B630 */ virtual int GetUnderwaterRoofCode(int);
|
||||
/* 8007B4B4 */ virtual int GetMonkeyBarsCode(cBgS_PolyInfo const&);
|
||||
/* 8007B6AC */ virtual void GetLinkNo(cBgS_PolyInfo const&);
|
||||
/* 8007B6D8 */ virtual s32 GetWallCode(cBgS_PolyInfo const&);
|
||||
/* 8007B704 */ virtual int GetPolyAtt0(cBgS_PolyInfo const&);
|
||||
/* 8007B734 */ virtual int GetPolyAtt1(cBgS_PolyInfo const&);
|
||||
/* 8007B760 */ virtual bool GetGroundCode(cBgS_PolyInfo const&);
|
||||
/* 8007B760 */ virtual int GetGroundCode(cBgS_PolyInfo const&);
|
||||
/* 8007B7DC */ virtual void GetIronBallThrough(int);
|
||||
/* 8007B800 */ virtual u32 GetAttackThrough(int);
|
||||
/* 8007B87C */ virtual s32 GetCamMoveBG(cBgS_PolyInfo const&);
|
||||
|
||||
+14
-12
@@ -26,11 +26,11 @@ public:
|
||||
|
||||
/* 8007E640 */ virtual ~dBgW_Base();
|
||||
/* 8007E6D0 */ virtual bool ChkMemoryError();
|
||||
virtual void ChkNotReady() const = 0;
|
||||
virtual bool ChkNotReady() const = 0;
|
||||
virtual bool ChkLock() const = 0;
|
||||
virtual bool ChkMoveBg() const = 0;
|
||||
virtual u32 ChkMoveFlag() const = 0;
|
||||
virtual void GetTriPla(cBgS_PolyInfo const&) const = 0;
|
||||
virtual cM3dGPla GetTriPla(cBgS_PolyInfo const&) const = 0;
|
||||
virtual bool GetTriPnt(cBgS_PolyInfo const&, cXyz*, cXyz*, cXyz*) const = 0;
|
||||
virtual void GetBnd() const = 0;
|
||||
virtual u32 GetGrpInf(cBgS_PolyInfo const&) const = 0;
|
||||
@@ -38,20 +38,20 @@ public:
|
||||
virtual void GetTopUnder(f32*, f32*) const = 0;
|
||||
/* 80074AB4 */ virtual void SetOldShapeAngleY(s16);
|
||||
virtual bool LineCheck(cBgS_LinChk*) = 0;
|
||||
virtual void GroundCross(cBgS_GndChk*) = 0;
|
||||
virtual bool GroundCross(cBgS_GndChk*) = 0;
|
||||
virtual void ShdwDraw(cBgS_ShdwDraw*) = 0;
|
||||
virtual void CaptPoly(dBgS_CaptPoly&) = 0;
|
||||
virtual void WallCorrect(dBgS_Acch*) = 0;
|
||||
virtual void WallCorrectSort(dBgS_Acch*) = 0;
|
||||
virtual void RoofChk(dBgS_RoofChk*) = 0;
|
||||
virtual void SplGrpChk(dBgS_SplGrpChk*) = 0;
|
||||
virtual void SphChk(dBgS_SphChk*, void*) = 0;
|
||||
virtual bool RoofChk(dBgS_RoofChk*) = 0;
|
||||
virtual bool SplGrpChk(dBgS_SplGrpChk*) = 0;
|
||||
virtual bool SphChk(dBgS_SphChk*, void*) = 0;
|
||||
virtual s32 GetGrpRoomIndex(cBgS_PolyInfo const&) const = 0;
|
||||
virtual s32 GetExitId(cBgS_PolyInfo const&) = 0;
|
||||
virtual s32 GetPolyColor(cBgS_PolyInfo const&) = 0;
|
||||
virtual BOOL GetHorseNoEntry(cBgS_PolyInfo const&) = 0;
|
||||
virtual bool GetSpecialCode(cBgS_PolyInfo const&) = 0;
|
||||
virtual void GetSpecialCode(int) = 0;
|
||||
virtual int GetSpecialCode(cBgS_PolyInfo const&) = 0;
|
||||
virtual int GetSpecialCode(int) = 0;
|
||||
virtual int GetMagnetCode(cBgS_PolyInfo const&) = 0;
|
||||
virtual void GetPolyObjThrough(int) = 0;
|
||||
virtual void GetPolyCamThrough(int) = 0;
|
||||
@@ -62,13 +62,13 @@ public:
|
||||
virtual void GetPolyRopeThrough(int) = 0;
|
||||
virtual void GetPolyBombThrough(int) = 0;
|
||||
virtual void GetShdwThrough(int) = 0;
|
||||
virtual bool GetUnderwaterRoofCode(int) = 0;
|
||||
virtual bool GetMonkeyBarsCode(cBgS_PolyInfo const&) = 0;
|
||||
virtual int GetUnderwaterRoofCode(int) = 0;
|
||||
virtual int GetMonkeyBarsCode(cBgS_PolyInfo const&) = 0;
|
||||
virtual void GetLinkNo(cBgS_PolyInfo const&) = 0;
|
||||
virtual s32 GetWallCode(cBgS_PolyInfo const&) = 0;
|
||||
virtual int GetPolyAtt0(cBgS_PolyInfo const&) = 0;
|
||||
virtual int GetPolyAtt1(cBgS_PolyInfo const&) = 0;
|
||||
virtual bool GetGroundCode(cBgS_PolyInfo const&) = 0;
|
||||
virtual int GetGroundCode(cBgS_PolyInfo const&) = 0;
|
||||
virtual void GetIronBallThrough(int) = 0;
|
||||
virtual u32 GetAttackThrough(int) = 0;
|
||||
virtual s32 GetCamMoveBG(cBgS_PolyInfo const&) = 0;
|
||||
@@ -85,10 +85,12 @@ public:
|
||||
|
||||
PushPull_CallBack GetPushPullCallback() const { return m_pushPull_Callback; }
|
||||
s16 GetDiffShapeAngleY() { return m_diff_ShapeAngleY; }
|
||||
u8 GetRoomId() { return m_roomId; }
|
||||
int GetRoomId() { return m_roomId; }
|
||||
bool chkStickWall() { return field_0xb & 1; }
|
||||
bool chkStickRoof() { return field_0xb & 2; }
|
||||
bool ChkPushPullOk() const { return m_pushPull_Ok; }
|
||||
void SetRoomId(int id) { m_roomId = id; }
|
||||
bool ChkPriority(int prio) { return m_priority == prio; }
|
||||
|
||||
private:
|
||||
/* 0x08 */ u8 m_priority;
|
||||
|
||||
+12
-12
@@ -23,31 +23,31 @@ public:
|
||||
/* 8007FF00 */ void ChkShdwDrawThrough(dBgPc*);
|
||||
|
||||
/* 8007E74C */ virtual ~dBgWKCol();
|
||||
/* 8007E86C */ virtual void ChkNotReady() const;
|
||||
/* 8007E86C */ virtual bool ChkNotReady() const;
|
||||
/* 8007E87C */ virtual bool ChkLock() const;
|
||||
/* 8007E884 */ virtual bool ChkMoveBg() const;
|
||||
/* 8007E88C */ virtual bool ChkMoveFlag() const;
|
||||
/* 8007E894 */ virtual void GetTriPla(cBgS_PolyInfo const&) const;
|
||||
/* 8007E894 */ virtual cM3dGPla GetTriPla(cBgS_PolyInfo const&) const;
|
||||
/* 8007E980 */ virtual void GetTriPnt(cBgS_PolyInfo const&, cXyz*, cXyz*, cXyz*) const;
|
||||
/* 8007EB28 */ virtual void GetBnd() const;
|
||||
/* 8007EB30 */ virtual void GetGrpInf(cBgS_PolyInfo const&) const;
|
||||
/* 8007EB6C */ virtual void OffMoveFlag();
|
||||
/* 800829AC */ virtual void GetTopUnder(f32*, f32*) const;
|
||||
/* 8007EE34 */ virtual void LineCheck(cBgS_LinChk*);
|
||||
/* 8007F628 */ virtual void GroundCross(cBgS_GndChk*);
|
||||
/* 8007EE34 */ virtual bool LineCheck(cBgS_LinChk*);
|
||||
/* 8007F628 */ virtual bool GroundCross(cBgS_GndChk*);
|
||||
/* 8007F9A4 */ virtual void ShdwDraw(cBgS_ShdwDraw*);
|
||||
/* 8007FF1C */ virtual void CaptPoly(dBgS_CaptPoly&);
|
||||
/* 800811A0 */ virtual void WallCorrect(dBgS_Acch*);
|
||||
/* 80080330 */ virtual void WallCorrectSort(dBgS_Acch*);
|
||||
/* 80081E18 */ virtual void RoofChk(dBgS_RoofChk*);
|
||||
/* 80082184 */ virtual void SplGrpChk(dBgS_SplGrpChk*);
|
||||
/* 800824EC */ virtual void SphChk(dBgS_SphChk*, virtual void*);
|
||||
/* 80081E18 */ virtual bool RoofChk(dBgS_RoofChk*);
|
||||
/* 80082184 */ virtual bool SplGrpChk(dBgS_SplGrpChk*);
|
||||
/* 800824EC */ virtual bool SphChk(dBgS_SphChk*, virtual void*);
|
||||
/* 800829F0 */ virtual void GetGrpRoomIndex(cBgS_PolyInfo const&) const;
|
||||
/* 80082A20 */ virtual void GetExitId(cBgS_PolyInfo const&);
|
||||
/* 80082A50 */ virtual void GetPolyColor(cBgS_PolyInfo const&);
|
||||
/* 80082A80 */ virtual void GetHorseNoEntry(cBgS_PolyInfo const&);
|
||||
/* 80082AB0 */ virtual void GetSpecialCode(cBgS_PolyInfo const&);
|
||||
/* 80082AE0 */ virtual void GetSpecialCode(int);
|
||||
/* 80082AB0 */ virtual int GetSpecialCode(cBgS_PolyInfo const&);
|
||||
/* 80082AE0 */ virtual int GetSpecialCode(int);
|
||||
/* 80082B0C */ virtual int GetMagnetCode(cBgS_PolyInfo const&);
|
||||
/* 80082B6C */ virtual void GetPolyObjThrough(int);
|
||||
/* 80082B98 */ virtual void GetPolyCamThrough(int);
|
||||
@@ -58,13 +58,13 @@ public:
|
||||
/* 80082C74 */ virtual void GetPolyRopeThrough(int);
|
||||
/* 80082CA0 */ virtual void GetPolyBombThrough(int);
|
||||
/* 80082CF8 */ virtual void GetShdwThrough(int);
|
||||
/* 80082CCC */ virtual void GetUnderwaterRoofCode(int);
|
||||
/* 80082B3C */ virtual void GetMonkeyBarsCode(cBgS_PolyInfo const&);
|
||||
/* 80082CCC */ virtual int GetUnderwaterRoofCode(int);
|
||||
/* 80082B3C */ virtual int GetMonkeyBarsCode(cBgS_PolyInfo const&);
|
||||
/* 80082D24 */ virtual void GetLinkNo(cBgS_PolyInfo const&);
|
||||
/* 80082D54 */ virtual s32 GetWallCode(cBgS_PolyInfo const&);
|
||||
/* 80082D84 */ virtual int GetPolyAtt0(cBgS_PolyInfo const&);
|
||||
/* 80082DB4 */ virtual int GetPolyAtt1(cBgS_PolyInfo const&);
|
||||
/* 80082DE4 */ virtual void GetGroundCode(cBgS_PolyInfo const&);
|
||||
/* 80082DE4 */ virtual int GetGroundCode(cBgS_PolyInfo const&);
|
||||
/* 80082E14 */ virtual void GetIronBallThrough(int);
|
||||
/* 80082E40 */ virtual void GetAttackThrough(int);
|
||||
/* 80082E6C */ virtual void GetCamMoveBG(cBgS_PolyInfo const&);
|
||||
|
||||
@@ -13,11 +13,13 @@ private:
|
||||
/* 0x08 */ dCcMassS_ObjCallback mpCallback;
|
||||
/* 0x0C */ cCcD_DivideInfo mDivideInfo;
|
||||
/* 0x1C vtable */
|
||||
|
||||
public:
|
||||
dCcMassS_Obj();
|
||||
virtual ~dCcMassS_Obj() {}
|
||||
/* 800852E0 */ void Set(cCcD_Obj*, u8, void (*)(fopAc_ac_c*, cXyz*, u32));
|
||||
/* 800852F0 */ void Clear();
|
||||
void Set(cCcD_Obj* p_obj, u8 priority, dCcMassS_ObjCallback callback);
|
||||
void Clear();
|
||||
|
||||
cCcD_Obj* GetObj() { return mpObj; }
|
||||
u8 GetPriority() const { return mPriority; }
|
||||
dCcMassS_ObjCallback GetCallback() const { return mpCallback; }
|
||||
@@ -34,7 +36,7 @@ private:
|
||||
/* 0x0C */ f32 mCoHitLen;
|
||||
|
||||
public:
|
||||
/* 80085334 */ void ClearPointer();
|
||||
void ClearPointer();
|
||||
void SetAreaHitObj(cCcD_Obj* obj) { mpArea = obj; }
|
||||
void SetCoHitObj(cCcD_Obj* obj) { mpCoObj = obj; }
|
||||
void SetAtHitObj(cCcD_Obj* obj) { mpAtObj = obj; }
|
||||
@@ -60,18 +62,19 @@ public:
|
||||
/* 0x0224 */ cCcD_CpsAttr mCpsAttr;
|
||||
/* 0x0264 */ cCcD_DivideInfo mDivideInfo;
|
||||
/* 0x0274 vtable */
|
||||
|
||||
public:
|
||||
dCcMassS_Mng(void);
|
||||
dCcMassS_Mng();
|
||||
virtual ~dCcMassS_Mng() {}
|
||||
/* 800855E4 */ void Ct();
|
||||
/* 80085630 */ void SetAttr(f32, f32, u8, u8);
|
||||
/* 80085630 */ void SetAttr(f32 radius, f32 height, u8 param_2, u8 param_3);
|
||||
/* 80085690 */ void Prepare();
|
||||
/* 800858AC */ u32 Chk(cXyz*, fopAc_ac_c**, dCcMassS_HitInf*);
|
||||
/* 800858AC */ u32 Chk(cXyz* p_xyz, fopAc_ac_c** p_actor, dCcMassS_HitInf* p_hitInf);
|
||||
/* 80085CF0 */ void Clear();
|
||||
/* 80085D98 */ void Set(cCcD_Obj*, u8);
|
||||
/* 80085E6C */ void SetCam(cM3dGCps const&);
|
||||
/* 80085D98 */ void Set(cCcD_Obj* p_obj, u8 priority);
|
||||
/* 80085E6C */ void SetCam(cM3dGCps const& cps);
|
||||
/* 80085EB0 */ u8 GetResultCam() const;
|
||||
/* 80085EB8 */ void GetCamTopPos(Vec*);
|
||||
/* 80085EB8 */ void GetCamTopPos(Vec* p_out);
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(dCcMassS_Mng) == 0x278);
|
||||
|
||||
@@ -5,6 +5,15 @@
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
|
||||
enum dCcU_AtType {
|
||||
/* 0x01 */ HIT_TYPE_LINK_NORMAL_ATTACK = 1,
|
||||
/* 0x02 */ HIT_TYPE_BOMB,
|
||||
/* 0x09 */ HIT_TYPE_LINK_HEAVY_ATTACK = 9,
|
||||
/* 0x0A */ HIT_TYPE_BOOMERANG,
|
||||
/* 0x0F */ HIT_TYPE_ARROW = 15,
|
||||
/* 0x10 */ HIT_TYPE_STUN,
|
||||
};
|
||||
|
||||
struct dCcU_AtInfo {
|
||||
/* 0x00 */ cCcD_Obj* mpCollider;
|
||||
/* 0x04 */ fopAc_ac_c* mpActor;
|
||||
|
||||
@@ -643,7 +643,6 @@ public:
|
||||
/* 0x00000 */ dSv_info_c info;
|
||||
/* 0x00F38 */ dComIfG_play_c play;
|
||||
/* 0x05F64 */ dDlst_list_c drawlist;
|
||||
/* 0x1C104 */ u8 field_0x1C104[0x1F4];
|
||||
/* 0x1C2F8 */ dRes_control_c mResControl;
|
||||
/* 0x1DDF8 */ u8 mFadeBrightness;
|
||||
/* 0x1DDF9 */ u8 mWorldDark;
|
||||
@@ -797,6 +796,7 @@ BOOL dComIfGs_isStageSwitch(int i_stageNo, int i_no);
|
||||
void dComIfGs_onStageSwitch(int i_stageNo, int i_no);
|
||||
void dComIfGs_offStageSwitch(int i_stageNo, int i_no);
|
||||
void dComIfGs_PolyDamageOff_Set(s8 param_0);
|
||||
u8 dComIfGs_staffroll_next_go_check();
|
||||
|
||||
inline void dComIfGs_init() {
|
||||
g_dComIfG_gameInfo.info.init();
|
||||
|
||||
+59
-64
@@ -17,9 +17,9 @@ public:
|
||||
/* 80073970 */ void proc();
|
||||
|
||||
private:
|
||||
u32 field_0x0;
|
||||
u32 field_0x4;
|
||||
u32 field_0x8;
|
||||
/* 0x0 */ u32 mHintActorID;
|
||||
/* 0x4 */ u32 mPriority;
|
||||
/* 0x8 */ u32 field_0x8;
|
||||
};
|
||||
|
||||
class dAttCatch_c {
|
||||
@@ -30,52 +30,52 @@ public:
|
||||
void proc();
|
||||
void request(fopAc_ac_c*, u8, f32, f32, f32, s16, int);
|
||||
|
||||
s32 getCatghTarget() { return convPId(field_0x10); }
|
||||
s32 getCatghTarget() { return convPId(mCatghTargetID); }
|
||||
u8 getChangeItem() { return mChangeItem; }
|
||||
|
||||
private:
|
||||
void* field_0x0;
|
||||
u32 field_0x4;
|
||||
float field_0x8;
|
||||
u8 field_0xc;
|
||||
u8 field_0xd;
|
||||
u8 field_0xe;
|
||||
u8 field_0xf;
|
||||
u32 field_0x10;
|
||||
u8 mChangeItem;
|
||||
}; // Size = 0x14
|
||||
/* 0x00 */ void* field_0x0;
|
||||
/* 0x04 */ f32 field_0x4;
|
||||
/* 0x08 */ f32 field_0x8;
|
||||
/* 0x0C */ u8 field_0xc;
|
||||
/* 0x0D */ u8 field_0xd;
|
||||
/* 0x0E */ u8 field_0xe;
|
||||
/* 0x0F */ u8 field_0xf;
|
||||
/* 0x10 */ u32 mCatghTargetID;
|
||||
/* 0x14 */ u8 mChangeItem;
|
||||
}; // Size: 0x18
|
||||
|
||||
class dAttParam_c {
|
||||
private:
|
||||
/* 0x00 vtable */
|
||||
/* 0x04 */ u8 field_0x4;
|
||||
/* 0x05 */ u8 field_0x5;
|
||||
/* 0x06 */ u16 mFlag;
|
||||
/* 0x08 */ float field_0x8;
|
||||
/* 0x0C */ float field_0xc;
|
||||
/* 0x10 */ float field_0x10;
|
||||
/* 0x14 */ float field_0x14;
|
||||
/* 0x18 */ float field_0x18;
|
||||
/* 0x1C */ float field_0x1c;
|
||||
/* 0x20 */ float field_0x20;
|
||||
/* 0x24 */ float field_0x24;
|
||||
/* 0x28 */ float field_0x28;
|
||||
/* 0x2C */ float field_0x2c;
|
||||
/* 0x30 */ float field_0x30;
|
||||
/* 0x34 */ float field_0x34;
|
||||
/* 0x38 */ u8 field_0x38;
|
||||
/* 0x39 */ u8 field_0x39;
|
||||
|
||||
public:
|
||||
dAttParam_c() {}
|
||||
/* 80070038 */ dAttParam_c(s32);
|
||||
/* 80070110 */ virtual ~dAttParam_c();
|
||||
|
||||
private:
|
||||
/* 0x3C */ float field_0x3c;
|
||||
/* 0x40 */ float field_0x40;
|
||||
/* 0x44 */ u32 field_0x44;
|
||||
/* 0x48 */ u32 field_0x48;
|
||||
/* 0x00 */ u16 field_0x0;
|
||||
/* 0x04 */ f32 field_0x4;
|
||||
/* 0x08 */ f32 field_0x8;
|
||||
/* 0x0C */ f32 field_0xc;
|
||||
/* 0x10 */ f32 mDangerBGMDistance;
|
||||
/* 0x14 */ f32 mBGMDistMargin;
|
||||
/* 0x18 */ f32 mSWModeDisable;
|
||||
/* 0x1C */ f32 mSelCursorScaleX;
|
||||
/* 0x20 */ f32 mSelCursorScaleY;
|
||||
/* 0x24 */ f32 mAttnCursorScaleX;
|
||||
/* 0x28 */ f32 mAttnCursorScaleY;
|
||||
/* 0x2C */ f32 mSelCursorOffsetY;
|
||||
/* 0x30 */ f32 mAttnCursorOffsetY;
|
||||
/* 0x34 */ u8 mAttnCursorAppearFrames;
|
||||
/* 0x35 */ u8 mAttnCursorDisappearFrames;
|
||||
|
||||
public:
|
||||
/* 80070110 */ virtual ~dAttParam_c();
|
||||
/* 0x38 vtable */
|
||||
|
||||
private:
|
||||
/* 0x3C */ f32 mSelCursorAnmSpeed;
|
||||
/* 0x40 */ f32 mAttnCursorAnmSpeed;
|
||||
/* 0x44 */ u32 mDispPosX;
|
||||
/* 0x48 */ u32 mDispPosY;
|
||||
}; // Size = 0x4C
|
||||
|
||||
class dAttLook_c {
|
||||
@@ -88,11 +88,10 @@ public:
|
||||
private:
|
||||
u32 field_0x0;
|
||||
u32 field_0x4;
|
||||
float field_0x8;
|
||||
u32 field_0xc;
|
||||
}; // Size = 0x10
|
||||
f32 field_0x8;
|
||||
u32 mLookTargetID;
|
||||
}; // Size: 0x10
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dAttList_c {
|
||||
public:
|
||||
/* 800304D0 */ ~dAttList_c() {}
|
||||
@@ -101,11 +100,12 @@ public:
|
||||
/* 80073898 */ void setActor(fopAc_ac_c*);
|
||||
|
||||
private:
|
||||
u8 field_0x0[8];
|
||||
cSAngle angle;
|
||||
u8 field_0xa[10];
|
||||
}; // Size = 0x14
|
||||
#pragma pack(pop)
|
||||
/* 0x00 */ f32 mWeight;
|
||||
/* 0x04 */ f32 mDistance;
|
||||
/* 0x08 */ cSAngle mAngle;
|
||||
/* 0x0C */ u32 mType;
|
||||
/* 0x10 */ u32 mActorID;
|
||||
}; // Size: 0x14
|
||||
|
||||
class dAttDraw_c {
|
||||
public:
|
||||
@@ -116,14 +116,7 @@ public:
|
||||
/* 80073004 */ void alphaAnm();
|
||||
/* 800732B0 */ void draw(cXyz&, f32 (*)[4]);
|
||||
|
||||
u8 field_0x0;
|
||||
u8 field_0x1;
|
||||
u8 field_0x2;
|
||||
u8 field_0x3;
|
||||
u8 field_0x4;
|
||||
u8 field_0x5;
|
||||
u8 field_0x6;
|
||||
u8 field_0x7;
|
||||
/* 0x000 */ J3DModel* mModel[2];
|
||||
/* 0x008 */ mDoExt_bckAnm bckAnm[2];
|
||||
/* 0x040 */ mDoExt_bpkAnm bpkAnm[2];
|
||||
/* 0x070 */ mDoExt_brkAnm brkAnm[2];
|
||||
@@ -225,9 +218,9 @@ public:
|
||||
static u32 chk_type_num;
|
||||
|
||||
public:
|
||||
/* 0x000 */ fopAc_ac_c* field_0x0;
|
||||
/* 0x004 */ u32 field_0x4;
|
||||
/* 0x008 */ dAttDraw_CallBack_c dattdraw_callback;
|
||||
/* 0x000 */ fopAc_ac_c* mpPlayer;
|
||||
/* 0x004 */ u32 mLockTargetID;
|
||||
/* 0x008 */ dAttDraw_CallBack_c mpDrawCallback;
|
||||
/* 0x00C */ u32 field_0xc;
|
||||
/* 0x010 */ u32 field_0x10;
|
||||
/* 0x014 */ u8 field_0x14[4];
|
||||
@@ -251,11 +244,11 @@ public:
|
||||
/* 0x334 */ u32 mFlags;
|
||||
/* 0x338 */ dAttList_c mLockOnList[8];
|
||||
/* 0x3D8 */ int mLockonCount;
|
||||
/* 0x3DC */ int field_0x3dc;
|
||||
/* 0x3DC */ int mLockOnOffset;
|
||||
/* 0x3E0 */ dAttList_c mActionList[4];
|
||||
/* 0x430 */ int mActionCount;
|
||||
/* 0x434 */ int field_0x434;
|
||||
/* 0x438 */ dAttList_c attention_list3[4];
|
||||
/* 0x434 */ int mActionOffset;
|
||||
/* 0x438 */ dAttList_c field_0x438[4];
|
||||
/* 0x488 */ int mCheckObjectCount;
|
||||
/* 0x48C */ int field_0x48c;
|
||||
/* 0x490 */ dAttHint_c mZHintTarget;
|
||||
@@ -270,7 +263,9 @@ public:
|
||||
/* 0x4CD */ u8 field_0x4cd;
|
||||
/* 0x4CE */ u8 field_0x4ce;
|
||||
/* 0x4CF */ u8 field_0x4cf;
|
||||
/* 0x4D0 */ dAttParam_c attention_param;
|
||||
}; // Size = 0x51C
|
||||
/* 0x4D0 */ dAttParam_c mAttParam;
|
||||
}; // Size: 0x51C
|
||||
|
||||
STATIC_ASSERT(sizeof(dAttention_c) == 0x51C);
|
||||
|
||||
#endif /* D_D_ATTENTION_H */
|
||||
|
||||
+244
-54
@@ -1,91 +1,281 @@
|
||||
#ifndef D_D_DEMO_H
|
||||
#define D_D_DEMO_H
|
||||
|
||||
#include "JSystem/JStudio/JStudio/stb.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JGadget/binary.h"
|
||||
#include "JSystem/JMessage/control.h"
|
||||
#include "JSystem/JStage/JSGAmbientLight.h"
|
||||
#include "JSystem/JStage/JSGCamera.h"
|
||||
#include "JSystem/JStage/JSGFog.h"
|
||||
#include "JSystem/JStage/JSGLight.h"
|
||||
#include "JSystem/JStudio/JStudio/jstudio-object.h"
|
||||
#include "JSystem/JStudio/JStudio_JAudio2/control.h"
|
||||
#include "JSystem/JStudio/JStudio_JParticle/object-particle.h"
|
||||
#include "JSystem/JStudio/JStudio_JStage/object.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
|
||||
struct cXyz;
|
||||
struct Vec;
|
||||
struct fopAc_ac_c;
|
||||
class dDemo_actor_c;
|
||||
|
||||
class dDemo_camera_c;
|
||||
class dDemo_ambient_c;
|
||||
class dDemo_light_c;
|
||||
class dDemo_fog_c;
|
||||
class dDemo_object_c {
|
||||
public:
|
||||
/* 80038F54 */ dDemo_object_c();
|
||||
/* 80038F70 */ ~dDemo_object_c();
|
||||
/* 80038FC0 */ void appendActor(fopAc_ac_c*);
|
||||
/* 80039088 */ static dDemo_actor_c* getActor(u8);
|
||||
/* 800390AC */ void createCamera();
|
||||
/* 80039128 */ void getActiveCamera();
|
||||
/* 8003913C */ void createAmbient();
|
||||
/* 800391B8 */ void appendLight();
|
||||
/* 80039258 */ void createFog();
|
||||
/* 80038FC0 */ JStage::TObject* appendActor(fopAc_ac_c*);
|
||||
/* 80039088 */ dDemo_actor_c* getActor(u8);
|
||||
/* 800390AC */ JStage::TObject* createCamera();
|
||||
/* 80039128 */ JStage::TObject* getActiveCamera();
|
||||
/* 8003913C */ JStage::TObject* createAmbient();
|
||||
/* 800391B8 */ JStage::TObject* appendLight();
|
||||
/* 80039258 */ JStage::TObject* createFog();
|
||||
/* 800392D4 */ void remove();
|
||||
|
||||
/* 0x00 */ u8 mActorNum;
|
||||
/* 0x01 */ u8 mLightNum;
|
||||
/* 0x04 */ dDemo_actor_c* mpActors[32];
|
||||
/* 0x84 */ dDemo_camera_c* mpCamera;
|
||||
/* 0x88 */ dDemo_ambient_c* mpAmbient;
|
||||
/* 0x8C */ dDemo_light_c* mpLights[8];
|
||||
/* 0xAC */ dDemo_fog_c* mpFog;
|
||||
/* 0xB0 */ dDemo_camera_c* mpEditorCamera;
|
||||
};
|
||||
|
||||
class dDemo_actor_c {
|
||||
class dDemo_prm_c {
|
||||
public:
|
||||
dDemo_prm_c() { mData = 0; }
|
||||
|
||||
/* 0x0 */ u32 field_0x0;
|
||||
/* 0x4 */ u32 mData;
|
||||
};
|
||||
|
||||
class dDemo_actor_c : public JStage::TActor {
|
||||
public:
|
||||
/* 80038020 */ dDemo_actor_c();
|
||||
/* 80038098 */ ~dDemo_actor_c();
|
||||
/* 80038128 */ void getActor();
|
||||
/* 8003815C */ void setActor(fopAc_ac_c*);
|
||||
/* 8003819C */ void getPrm_Morf();
|
||||
/* 80038338 */ void getDemoIDData(int*, int*, int*, u16*, u8*);
|
||||
/* 800387EC */ void JSGSetData(u32, void const*, u32);
|
||||
/* 80038920 */ void JSGSetTranslation(Vec const&);
|
||||
/* 80038980 */ void JSGSetScaling(Vec const&);
|
||||
/* 800389A8 */ void JSGSetRotation(Vec const&);
|
||||
/* 80038A0C */ void JSGSetShape(u32);
|
||||
/* 80038A20 */ void JSGSetAnimation(u32);
|
||||
/* 80038A40 */ void JSGSetAnimationFrame(f32);
|
||||
/* 80038A54 */ void JSGSetAnimationTransition(f32);
|
||||
/* 80038A68 */ void JSGSetTextureAnimation(u32);
|
||||
/* 80038A7C */ void JSGSetTextureAnimationFrame(f32);
|
||||
/* 8003A05C */ void JSGFindNodeID(char const*) const;
|
||||
/* 8003A088 */ void JSGGetNodeTransformation(u32, f32 (*)[4]) const;
|
||||
/* 8003A0C8 */ void JSGGetAnimationFrameMax() const;
|
||||
/* 8003A0D0 */ void JSGGetTextureAnimationFrameMax() const;
|
||||
/* 8003A0D8 */ void JSGGetTranslation(Vec*) const;
|
||||
/* 8003A0F4 */ void JSGGetScaling(Vec*) const;
|
||||
/* 8003A110 */ void JSGGetRotation(Vec*) const;
|
||||
|
||||
/* 80038098 */ virtual ~dDemo_actor_c();
|
||||
/* 800387EC */ virtual void JSGSetData(u32, void const*, u32);
|
||||
/* 8003A05C */ virtual void JSGFindNodeID(char const*) const;
|
||||
/* 8003A088 */ virtual void JSGGetNodeTransformation(u32, f32 (*)[4]) const;
|
||||
/* 8003A0D8 */ virtual void JSGGetTranslation(Vec*) const;
|
||||
/* 80038920 */ virtual void JSGSetTranslation(Vec const&);
|
||||
/* 8003A0F4 */ virtual void JSGGetScaling(Vec*) const;
|
||||
/* 80038980 */ virtual void JSGSetScaling(Vec const&);
|
||||
/* 8003A110 */ virtual void JSGGetRotation(Vec*) const;
|
||||
/* 800389A8 */ virtual void JSGSetRotation(Vec const&);
|
||||
/* 80038A0C */ virtual void JSGSetShape(u32);
|
||||
/* 80038A20 */ virtual void JSGSetAnimation(u32);
|
||||
/* 80038A40 */ virtual void JSGSetAnimationFrame(f32);
|
||||
/* 8003A0C8 */ virtual f32 JSGGetAnimationFrameMax() const;
|
||||
/* 80038A54 */ virtual void JSGSetAnimationTransition(f32);
|
||||
/* 80038A68 */ virtual void JSGSetTextureAnimation(u32);
|
||||
/* 80038A7C */ virtual void JSGSetTextureAnimationFrame(f32);
|
||||
/* 8003A0D0 */ virtual f32 JSGGetTextureAnimationFrameMax() const;
|
||||
|
||||
void setModel(J3DModel* p_model) { mModel = p_model; }
|
||||
|
||||
private:
|
||||
/* 0x04 */ u16 mFlags;
|
||||
/* 0x08 */ cXyz mTrans;
|
||||
/* 0x14 */ cXyz mScale;
|
||||
/* 0x20 */ csXyz mRotate;
|
||||
/* 0x28 */ u32 mShape;
|
||||
/* 0x2C */ u32 mAnmId;
|
||||
/* 0x30 */ f32 mAnmFrame;
|
||||
/* 0x34 */ f32 mAnmTransition;
|
||||
/* 0x38 */ f32 mAnmFrameMax;
|
||||
/* 0x3C */ u32 mTexAnm;
|
||||
/* 0x40 */ f32 mTexAnmFrame;
|
||||
/* 0x44 */ f32 mTexAnmFrameMax;
|
||||
/* 0x48 */ J3DModel* mModel;
|
||||
/* 0x4C */ dDemo_prm_c mPrm;
|
||||
/* 0x54 */ u32 field_0x54;
|
||||
/* 0x58 */ u32 mActorId;
|
||||
/* 0x5C */ u32 mOldAnmId;
|
||||
/* 0x60 */ u32 mBtpId;
|
||||
/* 0x64 */ u32 mBtkId;
|
||||
/* 0x68 */ u32 mBrkId;
|
||||
};
|
||||
|
||||
class dDemo_system_c : public JStage::TSystem {
|
||||
public:
|
||||
dDemo_system_c() { mpObject = NULL; }
|
||||
|
||||
/* 80039AAC */ virtual ~dDemo_system_c();
|
||||
/* 80039528 */ virtual bool JSGFindObject(JStage::TObject**, char const*,
|
||||
JStage::TEObject) const;
|
||||
|
||||
private:
|
||||
/* 0x4 */ dDemo_object_c* mpObject;
|
||||
};
|
||||
|
||||
class dDemo_particle_c : public JStudio_JParticle::TCreateObject {
|
||||
public:
|
||||
dDemo_particle_c(JPAEmitterManager* p_emitMgr, const JStage::TSystem* p_system)
|
||||
: JStudio_JParticle::TCreateObject(p_emitMgr, p_system) {}
|
||||
|
||||
/* 80039F9C */ virtual ~dDemo_particle_c();
|
||||
/* 80039F1C */ virtual void emitter_create(u32);
|
||||
};
|
||||
|
||||
class dDemo_light_c : public JStage::TLight {
|
||||
public:
|
||||
dDemo_light_c() {
|
||||
mFlags = 0;
|
||||
}
|
||||
|
||||
/* 80039468 */ virtual ~dDemo_light_c();
|
||||
/* 80038E20 */ virtual void JSGSetLightType(JStage::TELight);
|
||||
/* 80038E34 */ virtual void JSGSetPosition(Vec const&);
|
||||
/* 80038E5C */ virtual void JSGSetColor(GXColor);
|
||||
/* 80038E8C */ virtual void JSGSetDistanceAttenuation(f32, f32, GXDistAttnFn);
|
||||
/* 80038EA8 */ virtual void JSGSetAngleAttenuation(f32, GXSpotFn);
|
||||
/* 80038EC0 */ virtual void JSGSetDirection(Vec const&);
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 mFlags;
|
||||
/* 0x08 */ JStage::TELight mLightType;
|
||||
/* 0x0C */ GXDistAttnFn mDistAttenFn;
|
||||
/* 0x10 */ GXSpotFn mSpotFn;
|
||||
/* 0x14 */ cXyz mPosition;
|
||||
/* 0x20 */ GXColor mColor;
|
||||
/* 0x24 */ f32 field_0x24;
|
||||
/* 0x28 */ f32 field_0x28;
|
||||
/* 0x2C */ f32 field_0x2c;
|
||||
/* 0x30 */ cXyz mDirection;
|
||||
};
|
||||
|
||||
class dDemo_fog_c : public JStage::TFog {
|
||||
public:
|
||||
dDemo_fog_c() {
|
||||
mFlags = 0;
|
||||
}
|
||||
|
||||
/* 80039408 */ virtual ~dDemo_fog_c();
|
||||
/* 80038EE8 */ virtual void JSGSetFogFunction(GXFogType);
|
||||
/* 80038EFC */ virtual void JSGSetStartZ(f32);
|
||||
/* 80038F10 */ virtual void JSGSetEndZ(f32);
|
||||
/* 80038F24 */ virtual void JSGSetColor(GXColor);
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 mFlags;
|
||||
/* 0x05 */ u8 mFogType;
|
||||
/* 0x08 */ f32 mStartZ;
|
||||
/* 0x0C */ f32 mEndZ;
|
||||
/* 0x10 */ GXColor mColor;
|
||||
};
|
||||
|
||||
class dDemo_camera_c : public JStage::TCamera {
|
||||
public:
|
||||
dDemo_camera_c() {
|
||||
mFlags = 0;
|
||||
}
|
||||
|
||||
/* 80039FFC */ virtual ~dDemo_camera_c();
|
||||
/* 80038AC4 */ virtual f32 JSGGetProjectionNear() const;
|
||||
/* 80038AF8 */ virtual void JSGSetProjectionNear(f32);
|
||||
/* 80038B0C */ virtual f32 JSGGetProjectionFar() const;
|
||||
/* 80038B40 */ virtual void JSGSetProjectionFar(f32);
|
||||
/* 80038B54 */ virtual f32 JSGGetProjectionFovy() const;
|
||||
/* 80038B88 */ virtual void JSGSetProjectionFovy(f32);
|
||||
/* 80038B9C */ virtual f32 JSGGetProjectionAspect() const;
|
||||
/* 80038BD0 */ virtual void JSGSetProjectionAspect(f32);
|
||||
/* 80038BE4 */ virtual void JSGGetViewPosition(Vec*) const;
|
||||
/* 80038C44 */ virtual void JSGSetViewPosition(Vec const&);
|
||||
/* 80038C6C */ virtual void JSGGetViewUpVector(Vec*) const;
|
||||
/* 80038CD0 */ virtual void JSGSetViewUpVector(Vec const&);
|
||||
/* 80038CF8 */ virtual void JSGGetViewTargetPosition(Vec*) const;
|
||||
/* 80038D5C */ virtual void JSGSetViewTargetPosition(Vec const&);
|
||||
/* 80038D84 */ virtual f32 JSGGetViewRoll() const;
|
||||
/* 80038DDC */ virtual void JSGSetViewRoll(f32);
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 mFlags;
|
||||
/* 0x08 */ f32 mProjNear;
|
||||
/* 0x0C */ f32 mProjFar;
|
||||
/* 0x10 */ f32 mProjFovy;
|
||||
/* 0x14 */ f32 mProjAspect;
|
||||
/* 0x18 */ cXyz mViewPos;
|
||||
/* 0x24 */ cXyz mViewUpVector;
|
||||
/* 0x30 */ cXyz mViewTargetVector;
|
||||
/* 0x3C */ f32 mViewRoll;
|
||||
};
|
||||
|
||||
class dDemo_ambient_c : public JStage::TAmbientLight {
|
||||
public:
|
||||
dDemo_ambient_c() {
|
||||
mFlags = 0;
|
||||
}
|
||||
|
||||
/* 800394C8 */ virtual ~dDemo_ambient_c();
|
||||
/* 80038DF0 */ virtual void JSGSetColor(GXColor);
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 mFlags;
|
||||
/* 0x05 */ GXColor mColor;
|
||||
};
|
||||
|
||||
namespace {
|
||||
class jstudio_tCreateObject_message : public JStudio::TCreateObject {
|
||||
public:
|
||||
jstudio_tCreateObject_message() {}
|
||||
|
||||
virtual ~jstudio_tCreateObject_message();
|
||||
virtual void create(JStudio::TObject**, const JStudio::stb::data::TParse_TBlock_object&);
|
||||
};
|
||||
|
||||
class jstudio_tAdaptor_message : public JStudio::TAdaptor_message {
|
||||
public:
|
||||
jstudio_tAdaptor_message() {}
|
||||
|
||||
virtual ~jstudio_tAdaptor_message();
|
||||
virtual void adaptor_do_MESSAGE(JStudio::data::TEOperationData, const void*, u32);
|
||||
};
|
||||
|
||||
}; // namespace
|
||||
|
||||
class dDemo_c {
|
||||
public:
|
||||
/* 80039678 */ static void create();
|
||||
/* 80039910 */ void remove();
|
||||
/* 80039B6C */ void start(u8 const*, cXyz*, f32);
|
||||
/* 80039910 */ static void remove();
|
||||
/* 80039B6C */ static int start(u8 const*, cXyz*, f32);
|
||||
/* 80039CF8 */ static void end();
|
||||
/* 80039D4C */ void branch();
|
||||
/* 80039DA4 */ static void update();
|
||||
/* 80039EDC */ void setBranchType(u16);
|
||||
/* 80039EEC */ void setBranchId(u16, s16);
|
||||
/* 80039F04 */ void reset();
|
||||
/* 80039D4C */ static void branch();
|
||||
/* 80039DA4 */ static int update();
|
||||
/* 80039EDC */ static void setBranchType(u16);
|
||||
/* 80039EEC */ static void setBranchId(u16, s16);
|
||||
/* 80039F04 */ static void reset();
|
||||
|
||||
static dDemo_actor_c* getActor(u8 param_0) { return m_object->getActor(param_0); }
|
||||
static u32 getFrameNoMsg() { return m_frameNoMsg; }
|
||||
static s32 getMode() { return m_mode; }
|
||||
static JStudio::stb::TControl* getControl() { return m_control; }
|
||||
static bool isStatus(u32 status) { return m_status & status; }
|
||||
static void setBranchData(const u8* p_data) { m_branchData = p_data; }
|
||||
|
||||
static u16 m_branchId[1 + 3 /* padding */];
|
||||
static u8 m_system[4];
|
||||
static JStudio::stb::TControl* m_control;
|
||||
static u8 m_stage[4];
|
||||
static u8 m_audio[4];
|
||||
static u8 m_particle[4];
|
||||
static u8 m_message[4];
|
||||
static u8 m_factory[4];
|
||||
static u8 m_mesgControl[4];
|
||||
static s16 m_branchId;
|
||||
static dDemo_system_c* m_system;
|
||||
static JStudio::TControl* m_control;
|
||||
static JStudio_JStage::TCreateObject* m_stage;
|
||||
static JStudio_JAudio2::TCreateObject* m_audio;
|
||||
static dDemo_particle_c* m_particle;
|
||||
static jstudio_tCreateObject_message* m_message;
|
||||
static JStudio::TFactory* m_factory;
|
||||
static jmessage_tControl* m_mesgControl;
|
||||
static dDemo_object_c* m_object;
|
||||
static u8 m_data[4];
|
||||
static u8 m_frame[4];
|
||||
static u8 m_translation[4];
|
||||
static const u8* m_data;
|
||||
static int m_frame;
|
||||
static cXyz* m_translation;
|
||||
static f32 m_rotationY;
|
||||
static u32 m_frameNoMsg;
|
||||
static s32 m_mode;
|
||||
static u8 m_status[4];
|
||||
static u8 m_branchType[2 + 2 /* padding */];
|
||||
static u8 m_branchData[4];
|
||||
static u32 m_status;
|
||||
static u16 m_branchType;
|
||||
static const u8* m_branchData;
|
||||
};
|
||||
|
||||
#endif /* D_D_DEMO_H */
|
||||
|
||||
+106
-84
@@ -36,7 +36,7 @@ public:
|
||||
class dDlst_FileInfo_c : public dDlst_base_c {
|
||||
public:
|
||||
dDlst_FileInfo_c() {}
|
||||
virtual void draw(void);
|
||||
virtual void draw();
|
||||
virtual ~dDlst_FileInfo_c(); // inlined
|
||||
|
||||
/* 0x04 */ J2DScreen* Scr;
|
||||
@@ -63,15 +63,40 @@ private:
|
||||
/* 0x160 */ u8 mAlpha;
|
||||
};
|
||||
|
||||
class dDlst_2DT2_c : public dDlst_base_c {
|
||||
public:
|
||||
/* 80052354 */ virtual void draw();
|
||||
/* 80052B00 */ dDlst_2DT2_c();
|
||||
/* 80052B4C */ void init(ResTIMG*, f32, f32, f32, f32, u8, u8, u8, f32, f32);
|
||||
|
||||
/* 0x04 */ GXTexObj mTexObj;
|
||||
/* 0x24 */ f32 field_0x24;
|
||||
/* 0x28 */ f32 field_0x28;
|
||||
/* 0x2C */ f32 field_0x2c;
|
||||
/* 0x30 */ f32 field_0x30;
|
||||
/* 0x34 */ f32 mScaleX;
|
||||
/* 0x38 */ f32 mScaleY;
|
||||
/* 0x3C */ GXColor field_0x3c;
|
||||
/* 0x40 */ GXColor field_0x40;
|
||||
/* 0x44 */ u8 field_0x44;
|
||||
/* 0x45 */ u8 field_0x45;
|
||||
/* 0x46 */ u8 field_0x46;
|
||||
}; // Size: 0x48
|
||||
|
||||
class dDlst_peekZ_c {
|
||||
public:
|
||||
dDlst_peekZ_c() { field_0x0 = 0; }
|
||||
/* 80056018 */ void newData(s16, s16, u32*);
|
||||
struct dDlst_peekZ_entry {
|
||||
/* 0x0 */ s16 x;
|
||||
/* 0x2 */ s16 y;
|
||||
/* 0x4 */ u32* dst;
|
||||
};
|
||||
|
||||
dDlst_peekZ_c() { mCount = 0; }
|
||||
/* 80056018 */ int newData(s16, s16, u32*);
|
||||
/* 80056080 */ void peekData();
|
||||
|
||||
/* 0x0 */ u8 field_0x0;
|
||||
/* 0x2 */ u16 field_0x2;
|
||||
/* 0x4 */ u32* field_0x4;
|
||||
/* 0x0 */ u8 mCount;
|
||||
/* 0x4 */ dDlst_peekZ_entry mEntries[0x40];
|
||||
};
|
||||
|
||||
class dDlst_shadowSimple_c {
|
||||
@@ -93,7 +118,9 @@ public:
|
||||
/* 80054288 */ void set(cBgD_Vtx_t*, u16, u16, u16, cM3dGPla*);
|
||||
/* 800543B4 */ void draw();
|
||||
|
||||
/* 0x0 */ void* field_0x0; // vtable
|
||||
virtual void getTri() = 0;
|
||||
virtual s32 getTriMax() = 0;
|
||||
|
||||
/* 0x4 */ u16 mCount;
|
||||
/* 0x6 */ u8 field_0x6[2];
|
||||
};
|
||||
@@ -106,12 +133,11 @@ public:
|
||||
/* 0x0 */ cXyz mPos[3];
|
||||
};
|
||||
|
||||
class dDlst_shadowRealPoly_c {
|
||||
class dDlst_shadowRealPoly_c : public dDlst_shadowPoly_c {
|
||||
public:
|
||||
/* 800569A0 */ void getTri();
|
||||
/* 800569A8 */ s32 getTriMax();
|
||||
/* 800569A0 */ virtual void getTri();
|
||||
/* 800569A8 */ virtual s32 getTriMax();
|
||||
|
||||
/* 0x0 */ dDlst_shadowPoly_c mShadowPoly;
|
||||
/* 0x8 */ dDlst_shadowTri_c mShadowTri[256];
|
||||
};
|
||||
|
||||
@@ -123,7 +149,7 @@ public:
|
||||
/* 80054BD0 */ void setShadowRealMtx(cXyz*, cXyz*, f32, f32, f32, dKy_tevstr_c*);
|
||||
/* 80055028 */ void set(u32, J3DModel*, cXyz*, f32, f32, dKy_tevstr_c*, f32, f32);
|
||||
/* 800551D4 */ bool add(J3DModel*);
|
||||
/* 800561F8 */ ~dDlst_shadowReal_c();
|
||||
/* 800561F8 */ ~dDlst_shadowReal_c() {}
|
||||
/* 800562D0 */ dDlst_shadowReal_c();
|
||||
|
||||
private:
|
||||
@@ -174,33 +200,33 @@ private:
|
||||
|
||||
class dDlst_window_c {
|
||||
public:
|
||||
dDlst_window_c(void) {}
|
||||
dDlst_window_c() {}
|
||||
~dDlst_window_c() {}
|
||||
/* 80051AC0 */ void setViewPort(f32, f32, f32, f32, f32, f32);
|
||||
/* 80051ADC */ void setScissor(f32, f32, f32, f32);
|
||||
|
||||
void setCameraID(int id) { mCameraID = id; }
|
||||
void setMode(int mode) { mMode = mode; }
|
||||
f32 getViewPort() { return mViewport; }
|
||||
f32 getViewPort() { return mXOrig; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ f32 mViewport;
|
||||
/* 0x04 */ f32 field_0x04;
|
||||
/* 0x08 */ f32 field_0x08;
|
||||
/* 0x0C */ f32 field_0x0C;
|
||||
/* 0x10 */ f32 field_0x10;
|
||||
/* 0x14 */ f32 field_0x14;
|
||||
/* 0x18 */ f32 mScissor;
|
||||
/* 0x1C */ f32 field_0x1c;
|
||||
/* 0x20 */ f32 field_0x20;
|
||||
/* 0x24 */ f32 field_0x24;
|
||||
/* 0x00 */ f32 mXOrig;
|
||||
/* 0x04 */ f32 mYOrig;
|
||||
/* 0x08 */ f32 mWidth;
|
||||
/* 0x0C */ f32 mHeight;
|
||||
/* 0x10 */ f32 mNearZ;
|
||||
/* 0x14 */ f32 mFarZ;
|
||||
/* 0x18 */ f32 mScissorXOrig;
|
||||
/* 0x1C */ f32 mScissorYOrig;
|
||||
/* 0x20 */ f32 mScissorWidth;
|
||||
/* 0x24 */ f32 mScissorHeight;
|
||||
/* 0x28 */ s8 mCameraID;
|
||||
/* 0x29 */ s8 mMode;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(dDlst_window_c) == 0x2C);
|
||||
|
||||
extern u8 data_80450ED0; // Wipe
|
||||
extern u8 mWipe__12dDlst_list_c; // Wipe
|
||||
|
||||
struct view_port_class;
|
||||
struct view_class;
|
||||
@@ -222,28 +248,52 @@ public:
|
||||
/* 800568D8 */ static void wipeIn(f32);
|
||||
/* 80056900 */ void calcWipe();
|
||||
|
||||
void set2DOpa(dDlst_base_c* dlst) { set(field_0x1b4, field_0x1b8, dlst); }
|
||||
void set2DOpaTop(dDlst_base_c* dlst) { set(field_0xac, field_0xb0, dlst); }
|
||||
enum DrawBuffer {
|
||||
/* 0x00 */ DB_OPA_LIST_SKY,
|
||||
/* 0x01 */ DB_XLU_LIST_SKY,
|
||||
/* 0x02 */ DB_LIST_P0,
|
||||
/* 0x03 */ DB_OPA_LIST_BG,
|
||||
/* 0x04 */ DB_XLU_LIST_BG,
|
||||
/* 0x05 */ DB_OPA_LIST_DARK_BG,
|
||||
/* 0x06 */ DB_XLU_LIST_DARK_BG,
|
||||
/* 0x07 */ DB_OPA_LIST,
|
||||
/* 0x08 */ DB_XLU_LIST,
|
||||
/* 0x09 */ DB_OPA_LIST_DARK,
|
||||
/* 0x0A */ DB_XLU_LIST_DARK,
|
||||
/* 0x0B */ DB_OPA_LIST_PACKET,
|
||||
/* 0x0C */ DB_LIST_FILTER,
|
||||
/* 0x0D */ DB_OPA_LIST_ITEM3D,
|
||||
/* 0x0E */ DB_XLU_LIST_ITEM3D,
|
||||
/* 0x0F */ DB_OPA_LIST_INVISIBLE,
|
||||
/* 0x10 */ DB_XLU_LIST_INVISIBLE,
|
||||
/* 0x11 */ DB_LIST_Z_XLU,
|
||||
/* 0x12 */ DB_LIST_2D_SCREEN,
|
||||
/* 0x13 */ DB_LIST_MIDDLE,
|
||||
/* 0x14 */ DB_LIST_3D_LAST,
|
||||
};
|
||||
|
||||
void set2DOpa(dDlst_base_c* dlst) { set(mp2DOpaSet[0], mp2DOpaSet[1], dlst); }
|
||||
void set2DOpaTop(dDlst_base_c* dlst) { set(mp2DOpaTopSet[0], mp2DOpaTopSet[1], dlst); }
|
||||
view_class* getView() { return mView; }
|
||||
void setView(view_class* view) { mView = view; }
|
||||
void setWindow(dDlst_window_c* window) { mWindow = window; }
|
||||
void setViewport(view_port_class* port) { mViewport = port; }
|
||||
J3DDrawBuffer* getOpaListFilter() { return mListFilter; }
|
||||
J3DDrawBuffer* getOpaListP0() { return mListP0; }
|
||||
J3DDrawBuffer* getOpaListPacket() { return mOpaListPacket; }
|
||||
J3DDrawBuffer* getOpaListFilter() { return mDrawBuffers[DB_LIST_FILTER]; }
|
||||
J3DDrawBuffer* getOpaListP0() { return mDrawBuffers[DB_LIST_P0]; }
|
||||
J3DDrawBuffer* getOpaListPacket() { return mDrawBuffers[DB_OPA_LIST_PACKET]; }
|
||||
void setXluDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, XLU_BUFFER); }
|
||||
void setOpaDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, OPA_BUFFER); }
|
||||
void setXluListSky() { setXluDrawList(mpXluListSky); }
|
||||
void setOpaListSky() { setOpaDrawList(mOpaListSky); }
|
||||
void setXluListDark() { setXluDrawList(mXluListDark); }
|
||||
void setOpaListDark() { setOpaDrawList(mOpaListDark); }
|
||||
void setOpaList() { setOpaDrawList(mOpaList); }
|
||||
void setXluList() { setXluDrawList(mXluList); }
|
||||
void setOpaListItem3D() { setOpaDrawList(mOpaListItem3d); }
|
||||
void setXluListItem3D() { setXluDrawList(mXluListItem3d); }
|
||||
void setXluListBG() { setXluDrawList(mXluListBG); }
|
||||
void setOpaListBG() { setOpaDrawList(mOpaListBG); }
|
||||
void setXluList2DScreen() { setXluDrawList(mList2DScreen); }
|
||||
void setXluListSky() { setXluDrawList(mDrawBuffers[DB_XLU_LIST_SKY]); }
|
||||
void setOpaListSky() { setOpaDrawList(mDrawBuffers[DB_OPA_LIST_SKY]); }
|
||||
void setXluListDark() { setXluDrawList(mDrawBuffers[DB_XLU_LIST_DARK]); }
|
||||
void setOpaListDark() { setOpaDrawList(mDrawBuffers[DB_OPA_LIST_DARK]); }
|
||||
void setOpaList() { setOpaDrawList(mDrawBuffers[DB_OPA_LIST]); }
|
||||
void setXluList() { setXluDrawList(mDrawBuffers[DB_XLU_LIST]); }
|
||||
void setOpaListItem3D() { setOpaDrawList(mDrawBuffers[DB_OPA_LIST_ITEM3D]); }
|
||||
void setXluListItem3D() { setXluDrawList(mDrawBuffers[DB_XLU_LIST_ITEM3D]); }
|
||||
void setXluListBG() { setXluDrawList(mDrawBuffers[DB_XLU_LIST_BG]); }
|
||||
void setOpaListBG() { setOpaDrawList(mDrawBuffers[DB_OPA_LIST_BG]); }
|
||||
void setXluList2DScreen() { setXluDrawList(mDrawBuffers[DB_LIST_2D_SCREEN]); }
|
||||
|
||||
void peekZdata() { mPeekZ.peekData(); }
|
||||
|
||||
@@ -259,52 +309,25 @@ public:
|
||||
param_6);
|
||||
}
|
||||
|
||||
static void offWipe() { data_80450ED0 = 0; }
|
||||
static void offWipe() { mWipe = 0; }
|
||||
static f32 getWipeRate() { return mWipeRate; }
|
||||
|
||||
static u8 mWipeDlst[72];
|
||||
static u8 mWipeColor[4];
|
||||
static dDlst_2DT2_c mWipeDlst;
|
||||
static GXColor mWipeColor;
|
||||
static f32 mWipeRate;
|
||||
static f32 mWipeSpeed[1 + 1 /* padding */];
|
||||
static u8 mWipe;
|
||||
|
||||
private:
|
||||
/* 0x00000 */ J3DDrawBuffer* mOpaListSky;
|
||||
/* 0x00004 */ J3DDrawBuffer* mpXluListSky;
|
||||
/* 0x00008 */ J3DDrawBuffer* mListP0;
|
||||
/* 0x0000C */ J3DDrawBuffer* mOpaListBG;
|
||||
/* 0x00010 */ J3DDrawBuffer* mXluListBG;
|
||||
/* 0x00014 */ J3DDrawBuffer* mOpaListDarkBG;
|
||||
/* 0x00018 */ J3DDrawBuffer* mXluListDarkBG;
|
||||
/* 0x0001C */ J3DDrawBuffer* mOpaList;
|
||||
/* 0x00020 */ J3DDrawBuffer* mXluList;
|
||||
/* 0x00024 */ J3DDrawBuffer* mOpaListDark;
|
||||
/* 0x00028 */ J3DDrawBuffer* mXluListDark;
|
||||
/* 0x0002C */ J3DDrawBuffer* mOpaListPacket;
|
||||
/* 0x00030 */ J3DDrawBuffer* mListFilter;
|
||||
/* 0x00034 */ J3DDrawBuffer* mOpaListItem3d;
|
||||
/* 0x00038 */ J3DDrawBuffer* mXluListItem3d;
|
||||
/* 0x0003C */ J3DDrawBuffer* mOpaListInvisible;
|
||||
/* 0x00040 */ J3DDrawBuffer* mXluListInvisible;
|
||||
/* 0x00044 */ J3DDrawBuffer* mListZxlu;
|
||||
/* 0x00048 */ J3DDrawBuffer* mList2DScreen;
|
||||
/* 0x0004C */ J3DDrawBuffer* mListMiddle;
|
||||
/* 0x00050 */ J3DDrawBuffer* mList3Dlast;
|
||||
/* 0x00054 */ dDlst_list_c** field_0x54; // array?
|
||||
/* 0x00058 */ u8 field_0x58[0xC];
|
||||
/* 0x00064 */ dDlst_list_c* field_0x64;
|
||||
/* 0x00068 */ dDlst_list_c** field_0x68;
|
||||
/* 0x0006C */ dDlst_list_c** field_0x6c; // array?
|
||||
/* 0x00070 */ u8 field_0x70[0x3C];
|
||||
/* 0x000AC */ dDlst_base_c** field_0xac;
|
||||
/* 0x000B0 */ dDlst_base_c** field_0xb0;
|
||||
/* 0x000B4 */ dDlst_list_c** field_0xb4; // array?
|
||||
/* 0x000B8 */ u8 field_0xb8[0xFC];
|
||||
/* 0x001B4 */ dDlst_base_c** field_0x1b4;
|
||||
/* 0x001B8 */ dDlst_base_c** field_0x1b8;
|
||||
/* 0x001BC */ dDlst_list_c** field_0x1bc; // array?
|
||||
/* 0x001C0 */ u8 field_0x1c0[0x7C];
|
||||
/* 0x0023C */ dDlst_list_c* field_0x23c;
|
||||
/* 0x00240 */ dDlst_list_c** field_0x240;
|
||||
/* 0x00000 */ J3DDrawBuffer* mDrawBuffers[21];
|
||||
/* 0x00054 */ dDlst_base_c** mpCopy2DDraw[4];
|
||||
/* 0x00064 */ dDlst_base_c** mpCopy2DSet[2];
|
||||
/* 0x0006C */ dDlst_base_c** mp2DOpaTopDraw[16];
|
||||
/* 0x000AC */ dDlst_base_c** mp2DOpaTopSet[2];
|
||||
/* 0x000B4 */ dDlst_base_c** mp2DOpaDraw[64];
|
||||
/* 0x001B4 */ dDlst_base_c** mp2DOpaSet[2];
|
||||
/* 0x001BC */ dDlst_base_c** mp2DXluDraw[32];
|
||||
/* 0x0023C */ dDlst_base_c** mp2DXluSet[2];
|
||||
/* 0x00244 */ dDlst_window_c* mWindow;
|
||||
/* 0x00248 */ view_port_class* mViewport;
|
||||
/* 0x0024C */ view_class* mView;
|
||||
@@ -312,9 +335,8 @@ private:
|
||||
/* 0x0025C */ dDlst_shadowControl_c mShadowControl;
|
||||
/* 0x16154 */ mDoExt_3DlineMatSortPacket m3DLineMatSortPacket[3];
|
||||
/* 0x16190 */ dDlst_peekZ_c mPeekZ;
|
||||
/* 0x16198 */ u8 field_0x16198[8]; // might be part of peekZ
|
||||
}; // Size: 0x161A0
|
||||
}; // Size: 0x16394
|
||||
|
||||
STATIC_ASSERT(sizeof(dDlst_list_c) == 0x161A0);
|
||||
STATIC_ASSERT(sizeof(dDlst_list_c) == 0x16394);
|
||||
|
||||
#endif /* D_D_DRAWLIST_H */
|
||||
|
||||
+16
-17
@@ -250,23 +250,22 @@ struct dStage_DMap_c {
|
||||
};
|
||||
|
||||
struct dStage_MapEvent_dt_c {
|
||||
u8 mType;
|
||||
u8 field_0x1[3 - 1];
|
||||
u8 field_0x3;
|
||||
u8 field_0x4;
|
||||
u8 field_0x5;
|
||||
u8 field_0x6;
|
||||
u8 field_0x7;
|
||||
u8 field_0x8;
|
||||
u8 field_0x9;
|
||||
u8 field_0xA[0xD - 0xA];
|
||||
char mName[6];
|
||||
u16 field_0x14;
|
||||
u8 field_0x16;
|
||||
u8 field_0x17;
|
||||
u8 field_0x18;
|
||||
u8 field_0x19[0x1B - 0x19];
|
||||
u8 field_0x1B;
|
||||
/* 0x00 */ u8 mType;
|
||||
/* 0x01 */ u8 field_0x1[3 - 1];
|
||||
/* 0x03 */ u8 field_0x3;
|
||||
/* 0x04 */ u8 field_0x4;
|
||||
/* 0x05 */ u8 field_0x5;
|
||||
/* 0x06 */ u8 mPriority;
|
||||
/* 0x07 */ u8 field_0x7;
|
||||
/* 0x08 */ u8 field_0x8;
|
||||
/* 0x09 */ u8 field_0x9;
|
||||
/* 0x0A */ u8 field_0xA[0xD - 0xA];
|
||||
/* 0x0D */ char mName[9];
|
||||
/* 0x16 */ u8 field_0x16;
|
||||
/* 0x17 */ u8 field_0x17;
|
||||
/* 0x18 */ u8 mSeType; // 1: RIDDLE_A, 2: RIDDLE_B
|
||||
/* 0x19 */ u8 field_0x19[0x1B - 0x19];
|
||||
/* 0x1B */ u8 mSwitch;
|
||||
}; // SIZE = 0x1C
|
||||
|
||||
struct dStage_MapEventInfo_c {
|
||||
|
||||
+31
-37
@@ -24,42 +24,36 @@ public:
|
||||
static u8 const CQ_patt[80];
|
||||
|
||||
private:
|
||||
u32 field_0x0;
|
||||
u32 field_0x4;
|
||||
u32 field_0x8;
|
||||
u32 field_0xc;
|
||||
u32 field_0x10;
|
||||
u32 field_0x14;
|
||||
float field_0x18;
|
||||
float field_0x1c;
|
||||
float field_0x20;
|
||||
u32 field_0x24;
|
||||
u32 field_0x28;
|
||||
u32 field_0x2c;
|
||||
u32 field_0x30;
|
||||
u32 field_0x34;
|
||||
u32 field_0x38;
|
||||
u32 field_0x3c;
|
||||
float field_0x40;
|
||||
float field_0x44;
|
||||
float field_0x48;
|
||||
u32 field_0x4c;
|
||||
u32 field_0x50;
|
||||
u32 field_0x54;
|
||||
u32 field_0x58;
|
||||
u32 field_0x5c;
|
||||
u32 field_0x60;
|
||||
u32 field_0x64;
|
||||
u32 field_0x68;
|
||||
u32 field_0x6c;
|
||||
u32 field_0x70;
|
||||
u32 field_0x74;
|
||||
u32 field_0x78;
|
||||
u32 field_0x7c;
|
||||
u32 field_0x80;
|
||||
u32 field_0x84;
|
||||
u32 field_0x88;
|
||||
u32 field_0x8c;
|
||||
};
|
||||
class {
|
||||
public:
|
||||
class {
|
||||
public:
|
||||
/* 0x00 */ u32 field_0x0;
|
||||
/* 0x04 */ int field_0x4;
|
||||
/* 0x08 */ s32 field_0x8;
|
||||
/* 0x0C */ s32 field_0xc;
|
||||
/* 0x10 */ s32 field_0x10;
|
||||
/* 0x14 */ int field_0x14;
|
||||
/* 0x18 */ cXyz field_0x18;
|
||||
/* 0x24 */ u32 field_0x24;
|
||||
} mShock, mQuake;
|
||||
} /* 0x00 */ field_0x0;
|
||||
/* 0x50 */ u32 field_0x50;
|
||||
/* 0x54 */ int field_0x54;
|
||||
/* 0x58 */ s32 field_0x58;
|
||||
/* 0x5C */ s32 field_0x5c;
|
||||
/* 0x60 */ u32 field_0x60;
|
||||
/* 0x64 */ u32 field_0x64;
|
||||
/* 0x68 */ u32 field_0x68;
|
||||
/* 0x6C */ u32 field_0x6c;
|
||||
/* 0x70 */ u32 field_0x70;
|
||||
/* 0x74 */ u32 field_0x74;
|
||||
/* 0x78 */ u32 field_0x78;
|
||||
/* 0x7C */ u32 field_0x7c;
|
||||
/* 0x80 */ u32 field_0x80;
|
||||
/* 0x84 */ u32 field_0x84;
|
||||
/* 0x88 */ s32 field_0x88;
|
||||
/* 0x8C */ u32 field_0x8c;
|
||||
}; // Size: 0x90
|
||||
|
||||
#endif /* D_D_VIBRATION_H */
|
||||
|
||||
+53
-28
@@ -15,7 +15,7 @@ public:
|
||||
|
||||
/* 0x00 */ u16 mEventType;
|
||||
/* 0x02 */ u16 mFlag;
|
||||
/* 0x04 */ u16 field_0x04;
|
||||
/* 0x04 */ u16 mHindFlag;
|
||||
/* 0x08 */ fopAc_ac_c* mActor1;
|
||||
/* 0x0C */ fopAc_ac_c* mActor2;
|
||||
/* 0x10 */ s16 mEventId;
|
||||
@@ -28,25 +28,50 @@ STATIC_ASSERT(sizeof(dEvt_order_c) == 0x18);
|
||||
|
||||
typedef int (*SkipFunc)(void*, int);
|
||||
|
||||
enum EventMode {
|
||||
/* 0x0 */ EVT_MODE_NONE,
|
||||
/* 0x1 */ EVT_MODE_TALK,
|
||||
/* 0x2 */ EVT_MODE_DEMO,
|
||||
/* 0x3 */
|
||||
};
|
||||
|
||||
enum EventType {
|
||||
/* 0x0 */ EVT_TYPE_TALK,
|
||||
/* 0x1 */ EVT_TYPE_DOOR,
|
||||
/* 0x2 */ EVT_TYPE_OTHER,
|
||||
/* 0x3 */ EVT_TYPE_COMPULSORY,
|
||||
/* 0x4 */ EVT_TYPE_POTENTIAL,
|
||||
/* 0x5 */ EVT_TYPE_ITEM,
|
||||
/* 0x6 */ EVT_TYPE_SHOWITEM_X,
|
||||
/* 0x7 */ EVT_TYPE_SHOWITEM_Y,
|
||||
/* 0xA */ EVT_TYPE_CATCH = 10,
|
||||
/* 0xB */ EVT_TYPE_TREASURE,
|
||||
};
|
||||
|
||||
enum EventStatus {
|
||||
/* 0x0 */ STATUS_NONE,
|
||||
};
|
||||
|
||||
class dEvt_control_c {
|
||||
public:
|
||||
dEvt_control_c();
|
||||
s32 orderOld(u16, u16, u16, u16, void*, void*, void const*);
|
||||
s32 orderOld(u16 eventType, u16 priority, u16 flag, u16 param_3, void* param_4, void* param_5,
|
||||
void const* param_6);
|
||||
s32 order(u16 eventType, u16 priority, u16 flag, u16 param_3, void* param_4, void* param_5,
|
||||
s16 eventID, u8 infoIdx);
|
||||
void setParam(dEvt_order_c*);
|
||||
s32 beforeFlagProc(dEvt_order_c*);
|
||||
void afterFlagProc(dEvt_order_c*);
|
||||
int commonCheck(dEvt_order_c*, u16, u16);
|
||||
int talkCheck(dEvt_order_c*);
|
||||
int talkXyCheck(dEvt_order_c*);
|
||||
int catchCheck(dEvt_order_c*);
|
||||
void setParam(dEvt_order_c* p_order);
|
||||
s32 beforeFlagProc(dEvt_order_c* p_order);
|
||||
void afterFlagProc(dEvt_order_c* p_order);
|
||||
int commonCheck(dEvt_order_c* p_order, u16 condition, u16 command);
|
||||
int talkCheck(dEvt_order_c* p_order);
|
||||
int talkXyCheck(dEvt_order_c* p_order);
|
||||
int catchCheck(dEvt_order_c* p_order);
|
||||
int talkEnd();
|
||||
int demoCheck(dEvt_order_c*);
|
||||
int demoCheck(dEvt_order_c* p_order);
|
||||
int demoEnd();
|
||||
int potentialCheck(dEvt_order_c*);
|
||||
int doorCheck(dEvt_order_c*);
|
||||
int itemCheck(dEvt_order_c*);
|
||||
int potentialCheck(dEvt_order_c* p_order);
|
||||
int doorCheck(dEvt_order_c* p_order);
|
||||
int itemCheck(dEvt_order_c* p_order);
|
||||
int endProc();
|
||||
int change();
|
||||
int entry();
|
||||
@@ -64,20 +89,20 @@ public:
|
||||
BOOL compulsory(void*, char const*, u16);
|
||||
void remove();
|
||||
dStage_MapEvent_dt_c* getStageEventDt();
|
||||
void sceneChange(int);
|
||||
void sceneChange(int exitId);
|
||||
u32 getPId(void*);
|
||||
void* convPId(unsigned int);
|
||||
void* getStbDemoData(char*);
|
||||
static dStage_MapEvent_dt_c* searchMapEventData(u8, s32);
|
||||
static dStage_MapEvent_dt_c* searchMapEventData(u8);
|
||||
s16 runningEventID(s16);
|
||||
void setPt1(void*);
|
||||
void setPt2(void*);
|
||||
void setPtT(void*);
|
||||
void setPtI(void*);
|
||||
void setPtI_Id(unsigned int);
|
||||
void setPtD(void*);
|
||||
void setGtItm(u8);
|
||||
void* getStbDemoData(char* resName);
|
||||
static dStage_MapEvent_dt_c* searchMapEventData(u8 mapToolID, s32 roomNo);
|
||||
static dStage_MapEvent_dt_c* searchMapEventData(u8 mapToolID);
|
||||
s16 runningEventID(s16 eventID);
|
||||
void setPt1(void* ptr);
|
||||
void setPt2(void* ptr);
|
||||
void setPtT(void* ptr);
|
||||
void setPtI(void* ptr);
|
||||
void setPtI_Id(unsigned int id);
|
||||
void setPtD(void* ptr);
|
||||
void setGtItm(u8 itemNo);
|
||||
void isOrderOK();
|
||||
|
||||
u16 chkFlag2(u16 flag) { return flag & mFlag2; }
|
||||
@@ -111,9 +136,9 @@ public:
|
||||
/* 0x0DA */ u16 mFlag2;
|
||||
/* 0x0DC */ u16 mHindFlag;
|
||||
/* 0x0DE */ s16 mSpecifiedEvent; // name maybe wrong
|
||||
/* 0x0E0 */ s16 field_0xe0;
|
||||
/* 0x0E0 */ s16 mEventID;
|
||||
/* 0x0E2 */ s8 mNum;
|
||||
/* 0x0E3 */ s8 field_0xe3;
|
||||
/* 0x0E3 */ s8 mOrderIdx;
|
||||
/* 0x0E4 */ u8 mMode;
|
||||
/* 0x0E5 */ u8 mEventStatus;
|
||||
/* 0x0E6 */ u8 field_0xe6;
|
||||
@@ -137,7 +162,7 @@ public:
|
||||
/* 0x110 */ int mSkipFade;
|
||||
/* 0x114 */ char mSkipEventName[20];
|
||||
/* 0x128 */ u8 mCompulsory;
|
||||
/* 0x129 */ bool field_0x129;
|
||||
/* 0x129 */ bool mRoomInfoSet;
|
||||
/* 0x12C */ int mRoomNo;
|
||||
}; // Size = 0x130
|
||||
|
||||
|
||||
@@ -116,11 +116,11 @@ public:
|
||||
s32 unk;
|
||||
};
|
||||
|
||||
void specialProc_WaitStart(int);
|
||||
void specialProc_WaitStart(int index);
|
||||
void specialProc_WaitProc(int);
|
||||
void specialProc();
|
||||
void init();
|
||||
void advanceCut(int);
|
||||
void advanceCut(int cut);
|
||||
void specialProcLight();
|
||||
void specialProcMessage();
|
||||
void specialProcSound();
|
||||
@@ -159,7 +159,7 @@ class dEvDtEvent_c {
|
||||
public:
|
||||
int finishCheck();
|
||||
int forceFinish();
|
||||
void specialStaffProc(dEvDtStaff_c*);
|
||||
void specialStaffProc(dEvDtStaff_c* p_staff);
|
||||
int getNStaff() { return mNStaff; }
|
||||
int getStaff(int idx) { return mStaff[idx]; }
|
||||
char* getName() { return mName; }
|
||||
@@ -183,9 +183,9 @@ public:
|
||||
class dEvDtFlag_c {
|
||||
public:
|
||||
dEvDtFlag_c() {}
|
||||
BOOL flagCheck(int);
|
||||
BOOL flagSet(int);
|
||||
BOOL flagMaxCheck(int);
|
||||
BOOL flagCheck(int flag);
|
||||
BOOL flagSet(int flag);
|
||||
BOOL flagMaxCheck(int flag);
|
||||
void init();
|
||||
|
||||
#define FlagMax 0x2800
|
||||
@@ -199,9 +199,9 @@ public:
|
||||
dEvDtBase_c() { init(); }
|
||||
~dEvDtBase_c() {}
|
||||
int init();
|
||||
int init(char*, int);
|
||||
void advanceCut(dEvDtEvent_c*);
|
||||
BOOL advanceCutLocal(dEvDtStaff_c*);
|
||||
int init(char* p_data, int roomNo);
|
||||
void advanceCut(dEvDtEvent_c* p_event);
|
||||
BOOL advanceCutLocal(dEvDtStaff_c* p_staff);
|
||||
|
||||
event_binary_data_header* getHeaderP() { return mHeaderP; }
|
||||
dEvDtStaff_c* getStaffP(int i) { return &mStaffP[i]; }
|
||||
|
||||
@@ -8,62 +8,66 @@ class dEvent_exception_c {
|
||||
public:
|
||||
dEvent_exception_c() { mEventInfoIdx = -1; }
|
||||
void init();
|
||||
s32 setStartDemo(int);
|
||||
s32 setStartDemo(int mapToolID);
|
||||
const char* getEventName();
|
||||
|
||||
// private:
|
||||
s32 mEventInfoIdx;
|
||||
u8 field_0x4;
|
||||
u8 field_0x5;
|
||||
u8 field_0x6;
|
||||
u8 field_0x7;
|
||||
s32 mState;
|
||||
/* 0x0 */ s32 mEventInfoIdx;
|
||||
/* 0x4 */ u8 field_0x4;
|
||||
/* 0x5 */ u8 field_0x5;
|
||||
/* 0x6 */ u8 field_0x6;
|
||||
/* 0x7 */ u8 field_0x7;
|
||||
/* 0x8 */ s32 mState;
|
||||
};
|
||||
|
||||
#define EVT_SE_RIDDLE_A 1
|
||||
#define EVT_SE_RIDDLE_B 2
|
||||
|
||||
class dEvent_manager_c {
|
||||
public:
|
||||
void* getSubstance(dEvDtData_c*, int);
|
||||
void* getSubstance(dEvDtData_c* p_data, int type);
|
||||
dEvent_manager_c();
|
||||
~dEvent_manager_c() {}
|
||||
int create();
|
||||
bool setObjectArchive(char*);
|
||||
bool setObjectArchive(char* arcName);
|
||||
void demoInit();
|
||||
void roomInit(int);
|
||||
void roomFinish(int);
|
||||
void roomInit(int roomNo);
|
||||
void roomFinish(int roomNo);
|
||||
int orderStartDemo();
|
||||
void remove();
|
||||
void startProc(dEvDtEvent_c*);
|
||||
void closeProc(dEvDtEvent_c*);
|
||||
void endProc(s16, int);
|
||||
void startProc(dEvDtEvent_c* p_evnt);
|
||||
void closeProc(dEvDtEvent_c* p_evnt);
|
||||
void endProc(s16 eventID, int close);
|
||||
void Sequencer();
|
||||
void Experts();
|
||||
dEvDtEvent_c* getEventData(s16);
|
||||
dEvDtEvent_c* getEventData(s16 eventCompositId);
|
||||
dEvDtEvent_c* getEventData(s16, int);
|
||||
s16 getEventIdx(char const*, u8, s32);
|
||||
s16 getEventIdx(fopAc_ac_c*, u8);
|
||||
s16 getEventIdx(fopAc_ac_c*, char const*, u8);
|
||||
int isMapToolCamera(u8, s32);
|
||||
int order(s16);
|
||||
int startCheck(s16);
|
||||
int startCheckOld(char const*);
|
||||
s16 getEventIdx(char const* eventName, u8 mapToolID, s32 roomNo);
|
||||
s16 getEventIdx(fopAc_ac_c* pActor, u8 mapToolID);
|
||||
s16 getEventIdx(fopAc_ac_c* pActor, char const* eventName, u8 mapToolID);
|
||||
int isMapToolCamera(u8 mapToolID, s32 roomNo);
|
||||
int order(s16 eventCompositId);
|
||||
int startCheck(s16 eventCompositId);
|
||||
int startCheckOld(char const* name);
|
||||
int endCheck(s16);
|
||||
int endCheckOld(char const*);
|
||||
int getMyStaffId(char const*, fopAc_ac_c*, int);
|
||||
int getIsAddvance(int);
|
||||
int getMyActIdx(int, char const* const*, int, int, int);
|
||||
char* getMyNowCutName(int);
|
||||
dEvDtData_c* getMyDataP(int, char const*, int);
|
||||
void* getMySubstanceP(int, char const*, int);
|
||||
int getMySubstanceNum(int, char const*);
|
||||
void cutEnd(int);
|
||||
int getEventPrio(fopAc_ac_c*, s16);
|
||||
void issueStaff(char const*);
|
||||
void cancelStaff(char const*);
|
||||
void setGoal(cXyz*);
|
||||
int endCheckOld(char const* name);
|
||||
int getMyStaffId(char const* staffName, fopAc_ac_c* pActor, int tagId);
|
||||
int getIsAddvance(int staffIdx);
|
||||
int getMyActIdx(int staffIdx, char const* const* param_1, int param_2, int param_3,
|
||||
int param_4);
|
||||
char* getMyNowCutName(int cutIndex);
|
||||
dEvDtData_c* getMyDataP(int index, char const* name, int type);
|
||||
void* getMySubstanceP(int index, char const* name, int type);
|
||||
int getMySubstanceNum(int index, char const* name);
|
||||
void cutEnd(int cutIndex);
|
||||
int getEventPrio(fopAc_ac_c* pActor, s16 eventCompositId);
|
||||
void issueStaff(char const* name);
|
||||
void cancelStaff(char const* name);
|
||||
void setGoal(cXyz* p_goal);
|
||||
cXyz* getGoal();
|
||||
const char* getRunEventName();
|
||||
fopAc_ac_c* specialCast_Shutter(s16, int);
|
||||
fopAc_ac_c* specialCast(char const*, int);
|
||||
fopAc_ac_c* specialCast_Shutter(s16 bsTypeId, int param_1);
|
||||
fopAc_ac_c* specialCast(char const* name, int param_1);
|
||||
int ChkPresentEnd();
|
||||
int checkStartDemo();
|
||||
|
||||
@@ -71,7 +75,7 @@ public:
|
||||
void setCameraPlay(int status) { mCameraPlay = status; }
|
||||
dEvDtBase_c& getBase() { return mEventList[mCurrentEventType]; }
|
||||
void setFlag(int flag) { mFlags.flagSet(flag); }
|
||||
bool dataLoaded() { return mDataLoaded; }
|
||||
bool dataLoaded() { return mDataLoaded; }
|
||||
int flagCheck(int flag) { return mFlags.flagCheck(flag); }
|
||||
|
||||
static int getIndexCompositId(s16 param_0) { return param_0 != -1 ? (u8)param_0 : -1; }
|
||||
|
||||
+59
-17
@@ -12,28 +12,49 @@ public:
|
||||
/* 0x02 */ u8 unk2;
|
||||
/* 0x03 */ u8 unk3;
|
||||
/* 0x04 */ u16* unk4;
|
||||
}; // Size: 0x8
|
||||
|
||||
struct poly_class {
|
||||
/* 0x00 */ u8 field_0x0;
|
||||
/* 0x01 */ u8 field_0x1;
|
||||
/* 0x04 */ u16* field_0x4;
|
||||
}; // Size: 0x8
|
||||
|
||||
struct group_class {
|
||||
/* 0x00 */ u8 field_0x0;
|
||||
/* 0x01 */ u8 field_0x1;
|
||||
/* 0x02 */ u8 field_0x2;
|
||||
/* 0x03 */ u8 field_0x3;
|
||||
/* 0x04 */ u8 field_0x4;
|
||||
/* 0x08 */ dDrawPath_c::line_class* mpLine;
|
||||
/* 0x0C */ u8 field_0xc[4];
|
||||
/* 0x10 */ dDrawPath_c::poly_class* mpPoly;
|
||||
}; // Size: 0x14
|
||||
|
||||
struct floor_class {
|
||||
/* 0x0 */ s8 field_0x0;
|
||||
/* 0x1 */ u8 field_0x1;
|
||||
/* 0x4 */ dDrawPath_c::group_class* mpGroup;
|
||||
}; // Size: 0x8
|
||||
|
||||
struct room_class {
|
||||
/* 0x0 */ u8 field_0x0;
|
||||
/* 0x4 */ dDrawPath_c::floor_class* mpFloor;
|
||||
/* 0x8 */ void* field_0x8;
|
||||
};
|
||||
|
||||
struct poly_class {};
|
||||
|
||||
struct group_class {};
|
||||
|
||||
struct floor_class {};
|
||||
|
||||
struct room_class {};
|
||||
|
||||
/* 8003CB00 */ void rendering(dDrawPath_c::group_class const*);
|
||||
/* 8003CBBC */ void rendering(dDrawPath_c::floor_class const*);
|
||||
|
||||
/* 8002AD3C */ virtual ~dDrawPath_c();
|
||||
/* 8002ABF0 */ virtual bool isDrawType(int);
|
||||
virtual void getColor(int) = 0;
|
||||
/* 8002AD84 */ virtual void getLineColor(int, int);
|
||||
virtual void getLineWidth(int) = 0;
|
||||
virtual void isSwitch(dDrawPath_c::group_class const*) = 0;
|
||||
virtual void isRenderingFloor(int) = 0;
|
||||
virtual void getFirstRoomPointer() = 0;
|
||||
virtual void getNextRoomPointer() = 0;
|
||||
virtual GXColor* getColor(int) = 0;
|
||||
/* 8002AD84 */ virtual GXColor* getLineColor(int, int);
|
||||
virtual int getLineWidth(int) = 0;
|
||||
virtual bool isSwitch(dDrawPath_c::group_class const*) = 0;
|
||||
virtual bool isRenderingFloor(int) = 0;
|
||||
virtual room_class* getFirstRoomPointer() = 0;
|
||||
virtual room_class* getNextRoomPointer() = 0;
|
||||
/* 8003CCC4 */ virtual void drawPath();
|
||||
/* 8003C94C */ virtual void rendering(dDrawPath_c::line_class const*);
|
||||
/* 8003CA40 */ virtual void rendering(dDrawPath_c::poly_class const*);
|
||||
@@ -55,7 +76,7 @@ public:
|
||||
virtual void afterDrawPath() = 0;
|
||||
virtual void preDrawPath() = 0;
|
||||
virtual void postDrawPath() = 0;
|
||||
virtual void isDrawPath() = 0;
|
||||
virtual bool isDrawPath() = 0;
|
||||
virtual void preRenderingMap() = 0;
|
||||
virtual void postRenderingMap() = 0;
|
||||
virtual GXColor* getBackColor() const = 0;
|
||||
@@ -75,7 +96,7 @@ public:
|
||||
/* 8003D6B8 */ virtual s32 getDecorationLineWidth(int);
|
||||
|
||||
private:
|
||||
/* 0x04 */ int field_0x4;
|
||||
/* 0x04 */ void* field_0x4;
|
||||
/* 0x08 */ f32 field_0x8;
|
||||
/* 0x0C */ f32 field_0xc;
|
||||
/* 0x10 */ f32 field_0x10;
|
||||
@@ -87,4 +108,25 @@ private:
|
||||
/* 0x22 */ u16 field_0x22;
|
||||
}; // Size: 0x24
|
||||
|
||||
struct dMpath_n {
|
||||
class dTexObjAggregate_c {
|
||||
public:
|
||||
/* 8003C85C */ void create();
|
||||
/* 8003C8F4 */ void remove();
|
||||
/* 8003D740 */ ~dTexObjAggregate_c() { remove(); };
|
||||
|
||||
dTexObjAggregate_c() {
|
||||
for (int i = 0; i < 7; i++) {
|
||||
mp_texObj[i] = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
/* 0x0 */ GXTexObj* mp_texObj[7];
|
||||
};
|
||||
|
||||
static dTexObjAggregate_c m_texObjAgg;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(dMpath_n::dTexObjAggregate_c) == 28);
|
||||
|
||||
#endif /* D_MAP_D_MAP_PATH_H */
|
||||
|
||||
@@ -56,13 +56,13 @@ public:
|
||||
|
||||
/* 8003FE18 */ virtual void draw();
|
||||
/* 8002B150 */ virtual ~renderingDAmap_c();
|
||||
/* 8003FD9C */ virtual void isSwitch(dDrawPath_c::group_class const*);
|
||||
/* 8003FE54 */ virtual void isRenderingFloor(int);
|
||||
/* 80040134 */ virtual void getFirstRoomPointer();
|
||||
/* 800401E8 */ virtual void getNextRoomPointer();
|
||||
/* 8003FD9C */ virtual bool isSwitch(dDrawPath_c::group_class const*);
|
||||
/* 8003FE54 */ virtual bool isRenderingFloor(int);
|
||||
/* 80040134 */ virtual dDrawPath_c::room_class* getFirstRoomPointer();
|
||||
/* 800401E8 */ virtual dDrawPath_c::room_class* getNextRoomPointer();
|
||||
/* 8003FF14 */ virtual void preDrawPath();
|
||||
/* 8003FFC4 */ virtual void postDrawPath();
|
||||
/* 800402C0 */ virtual void isDrawPath();
|
||||
/* 800402C0 */ virtual bool isDrawPath();
|
||||
/* 8003FE4C */ virtual GXColor* getBackColor() const;
|
||||
/* 800402E0 */ virtual bool getFirstDrawLayerNo();
|
||||
/* 800402E8 */ virtual void getNextDrawLayerNo(int);
|
||||
|
||||
@@ -58,18 +58,18 @@ public:
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGB8, 0);
|
||||
|
||||
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
|
||||
GXPosition3s16(mDoGph_gInf_c::getMinX(), mDoGph_gInf_c::getMinY(), 0);
|
||||
i_GXPosition3s16(mDoGph_gInf_c::getMinX(), mDoGph_gInf_c::getMinY(), 0);
|
||||
GXTexCoord2s8(0, 0);
|
||||
|
||||
GXPosition3s16(mDoGph_gInf_c::getMaxX(), mDoGph_gInf_c::getMinY(), 0);
|
||||
i_GXPosition3s16(mDoGph_gInf_c::getMaxX(), mDoGph_gInf_c::getMinY(), 0);
|
||||
GXTexCoord2s8(1, 0);
|
||||
|
||||
GXPosition3s16(mDoGph_gInf_c::getMaxX(), mDoGph_gInf_c::getMaxY(), 0);
|
||||
i_GXPosition3s16(mDoGph_gInf_c::getMaxX(), mDoGph_gInf_c::getMaxY(), 0);
|
||||
GXTexCoord2s8(1, 1);
|
||||
|
||||
GXPosition3s16(mDoGph_gInf_c::getMinX(), mDoGph_gInf_c::getMaxY(), 0);
|
||||
i_GXPosition3s16(mDoGph_gInf_c::getMinX(), mDoGph_gInf_c::getMaxY(), 0);
|
||||
GXTexCoord2s8(0, 1);
|
||||
GXEnd();
|
||||
i_GXEnd();
|
||||
}
|
||||
} */
|
||||
/* 801FE2E8 */ virtual ~dDlst_MENU_CAPTURE_c();
|
||||
|
||||
@@ -9,6 +9,138 @@
|
||||
#include "d/pane/d_pane_class.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
enum dMeter2Draw_actionID {
|
||||
/* 0x00 */ ACTION_STR_NONE,
|
||||
/* 0x01 */ ACTION_STR_LET_GO,
|
||||
/* 0x02 */ ACTION_STR_PEEK,
|
||||
/* 0x03 */ ACTION_STR_ATTACK,
|
||||
/* 0x04 */ ACTION_STR_PUT_AWAY,
|
||||
/* 0x05 */ ACTION_STR_HOWL,
|
||||
/* 0x06 */ ACTION_STR_OPEN,
|
||||
/* 0x07 */ ACTION_STR_ENTER,
|
||||
/* 0x08 */ ACTION_STR_CHECK,
|
||||
/* 0x09 */ ACTION_STR_DASH,
|
||||
/* 0x0A */ ACTION_STR_CROUCH,
|
||||
/* 0x0B */ ACTION_STR_DEFEND,
|
||||
/* 0x0C */ ACTION_STR_PICK_UP,
|
||||
/* 0x0D */ ACTION_STR_DIG,
|
||||
/* 0x0E */ ACTION_STR_EAT,
|
||||
/* 0x0F */ ACTION_STR_SELECT,
|
||||
/* 0x10 */ ACTION_STR_LOCK,
|
||||
/* 0x11 */ ACTION_STR_SWITCH,
|
||||
/* 0x12 */ ACTION_STR_BACK,
|
||||
/* 0x13 */ ACTION_STR_THROW,
|
||||
/* 0x14 */ ACTION_STR_PLACE,
|
||||
/* 0x15 */ ACTION_STR_GRAB,
|
||||
/* 0x16 */ ACTION_STR_GET_OFF,
|
||||
/* 0x17 */ ACTION_STR_GET_ON,
|
||||
/* 0x18 */ ACTION_STR_PADDLE,
|
||||
/* 0x19 */ ACTION_STR_JUMP,
|
||||
/* 0x1A */ ACTION_STR_READ,
|
||||
/* 0x1B */ ACTION_STR_LOOK,
|
||||
/* 0x1C */ ACTION_STR_SPEAK,
|
||||
/* 0x1D */ ACTION_STR_LIFT,
|
||||
/* 0x1E */ ACTION_STR_SWING,
|
||||
/* 0x1F */ ACTION_STR_PICK_UP2,
|
||||
/* 0x20 */ ACTION_STR_GET_ON2,
|
||||
/* 0x21 */ ACTION_STR_GET_OFF2,
|
||||
/* 0x22 */ ACTION_STR_CONFIRM,
|
||||
/* 0x23 */ ACTION_STR_NEXT,
|
||||
/* 0x24 */ ACTION_STR_INFO,
|
||||
/* 0x25 */ ACTION_STR_NONE2,
|
||||
/* 0x26 */ ACTION_STR_NONE3,
|
||||
/* 0x27 */ ACTION_STR_NONE4,
|
||||
/* 0x28 */ ACTION_STR_WHOOP,
|
||||
/* 0x29 */ ACTION_STR_ZOOM,
|
||||
/* 0x2A */ ACTION_STR_QUIT,
|
||||
/* 0x2B */ ACTION_STR_PICK,
|
||||
/* 0x2C */ ACTION_STR_BLOW,
|
||||
/* 0x2D */ ACTION_STR_DODGE,
|
||||
/* 0x2E */ ACTION_STR_CUT,
|
||||
/* 0x2F */ ACTION_STR_HINT,
|
||||
/* 0x30 */ ACTION_STR_FINISH,
|
||||
/* 0x31 */ ACTION_STR_SET_FREE,
|
||||
/* 0x32 */ ACTION_STR_DISMOUNT,
|
||||
/* 0x33 */ ACTION_STR_DROP_DOWN,
|
||||
/* 0x34 */ ACTION_STR_PICK_UP3,
|
||||
/* 0x35 */ ACTION_STR_TAKE,
|
||||
/* 0x36 */ ACTION_STR_HURRY,
|
||||
/* 0x37 */ ACTION_STR_PULL_DOWN,
|
||||
/* 0x38 */ ACTION_STR_PET,
|
||||
/* 0x39 */ ACTION_STR_PICK_UP4,
|
||||
/* 0x3A */ ACTION_STR_SHIELD_ATTACK,
|
||||
/* 0x3B */ ACTION_STR_LISTEN,
|
||||
/* 0x3C */ ACTION_STR_DRINK,
|
||||
/* 0x3D */ ACTION_STR_ZOOM2,
|
||||
/* 0x3E */ ACTION_STR_COVER,
|
||||
/* 0x3F */ ACTION_STR_PUSH,
|
||||
/* 0x40 */ ACTION_STR_RESIST,
|
||||
/* 0x41 */ ACTION_STR_DIVE,
|
||||
/* 0x42 */ ACTION_STR_PUT_TOGETHER,
|
||||
/* 0x43 */ ACTION_STR_SKIP,
|
||||
/* 0x44 */ ACTION_STR_SLAP,
|
||||
/* 0x45 */ ACTION_STR_SNIFF,
|
||||
/* 0x46 */ ACTION_STR_BITE,
|
||||
/* 0x47 */ ACTION_STR_ROLL,
|
||||
/* 0x48 */ ACTION_STR_FASTEN,
|
||||
/* 0x49 */ ACTION_STR_GET_DOWN,
|
||||
/* 0x4A */ ACTION_STR_HAWKEYE_OFF,
|
||||
/* 0x4B */ ACTION_STR_DASH2,
|
||||
/* 0x4C */ ACTION_STR_SWIM,
|
||||
/* 0x4D */ ACTION_STR_CANT_SKIP,
|
||||
/* 0x4E */ ACTION_STR_SENSE,
|
||||
/* 0x4F */ ACTION_STR_NONE5,
|
||||
/* 0x50 */ ACTION_STR_THROW2,
|
||||
/* 0x51 */ ACTION_STR_LAND,
|
||||
/* 0x52 */ ACTION_STR_HOOK,
|
||||
/* 0x53 */ ACTION_STR_CHANGE_LOCKS,
|
||||
/* 0x54 */ ACTION_STR_EQUIP,
|
||||
/* 0x55 */ ACTION_STR_PULL,
|
||||
/* 0x56 */ ACTION_STR_REEL,
|
||||
/* 0x57 */ ACTION_STR_EXTRACT,
|
||||
/* 0x58 */ ACTION_STR_SPIN,
|
||||
/* 0x59 */ ACTION_STR_SWITCH2,
|
||||
/* 0x5A */ ACTION_STR_SPIN_ATTACK,
|
||||
/* 0x5B */ ACTION_STR_REEL_FAST,
|
||||
/* 0x5C */ ACTION_STR_RAISE,
|
||||
/* 0x5D */ ACTION_STR_RELEASE,
|
||||
/* 0x5E */ ACTION_STR_CHECK2,
|
||||
/* 0x5F */ ACTION_STR_MAP,
|
||||
/* 0x60 */ ACTION_STR_ITEMS,
|
||||
/* 0x61 */ ACTION_STR_INSERT,
|
||||
/* 0x62 */ ACTION_STR_DRAW,
|
||||
/* 0x63 */ ACTION_STR_STRIKE,
|
||||
/* 0x64 */ ACTION_STR_BLANK,
|
||||
/* 0x65 */ ACTION_STR_JUMP2,
|
||||
/* 0x66 */ ACTION_STR_POINT_WII_REMOTE,
|
||||
/* 0x67 */ ACTION_STR_FLIP,
|
||||
/* 0x68 */ ACTION_STR_CHANGE_VIEW,
|
||||
/* 0x69 */ ACTION_STR_ZOOM3,
|
||||
/* 0x6A */ ACTION_STR_BACK2,
|
||||
/* 0x6B */ ACTION_STR_CHANCE,
|
||||
/* 0x6C */ ACTION_STR_SCOOP,
|
||||
/* 0x6D */ ACTION_STR_SURVEY,
|
||||
/* 0x6E */ ACTION_STR_CANCEL,
|
||||
/* 0x6F */ ACTION_STR_SEIZE,
|
||||
/* 0x70 */ ACTION_STR_COLLECTION,
|
||||
/* 0x71 */ ACTION_STR_AREA_MAP,
|
||||
/* 0x72 */ ACTION_STR_ACTION,
|
||||
/* 0x73 */ ACTION_STR_SET_HOOK,
|
||||
/* 0x74 */ ACTION_STR_TILT,
|
||||
/* 0x75 */ ACTION_STR_THRUST,
|
||||
/* 0x76 */ ACTION_STR_ROTATE,
|
||||
/* 0x77 */ ACTION_STR_HELM_SPLITTER,
|
||||
/* 0x78 */ ACTION_STR_MOVE,
|
||||
/* 0x79 */ ACTION_STR_ROLL2,
|
||||
/* 0x7A */ ACTION_STR_HOLD_ON,
|
||||
/* 0x7B */ ACTION_STR_BITE2,
|
||||
/* 0x7C */ ACTION_STR_HELP,
|
||||
/* 0x7D */ ACTION_STR_ZOOM_IN,
|
||||
/* 0x7E */ ACTION_STR_ZOOM_OUT,
|
||||
/* 0x7F */ ACTION_STR_MOVE_CLOSER_TV,
|
||||
/* 0x80 */ ACTION_STR_CHECK3,
|
||||
};
|
||||
|
||||
class dKantera_icon_c;
|
||||
|
||||
class dMeter2Draw_c : public dDlst_base_c {
|
||||
|
||||
@@ -491,6 +491,10 @@ inline s16 dMeter2Info_getMsgKeyWaitTimer() {
|
||||
return g_meter2_info.getMsgKeyWaitTimer();
|
||||
}
|
||||
|
||||
inline void dMeter2Info_onDirectUseItem(int param_0) {
|
||||
g_meter2_info.onDirectUseItem(param_0);
|
||||
}
|
||||
|
||||
char* dMeter2Info_getNumberTextureName(int pIndex);
|
||||
void dMeter2Info_recieveLetter();
|
||||
u8 dMeter2Info_getNewLetterNum();
|
||||
|
||||
@@ -19,8 +19,8 @@ public:
|
||||
|
||||
/* 800284D0 */ virtual void draw();
|
||||
/* 8002ADB0 */ virtual ~renderingAmap_c();
|
||||
/* 80028EE4 */ virtual void getLineColor(int, int);
|
||||
/* 80028DD4 */ virtual void getLineWidth(int);
|
||||
/* 80028EE4 */ virtual GXColor* getLineColor(int, int);
|
||||
/* 80028DD4 */ virtual int getLineWidth(int);
|
||||
/* 80028A10 */ virtual void drawPath();
|
||||
/* 80028A30 */ virtual void rendering(dDrawPath_c::line_class const*);
|
||||
/* 80028B3C */ virtual void rendering(dDrawPath_c::poly_class const*);
|
||||
@@ -68,8 +68,8 @@ public:
|
||||
/* 8002AB54 */ void _draw();
|
||||
|
||||
/* 8002AF20 */ virtual ~dMap_c();
|
||||
/* 800296EC */ virtual void isDrawType(int);
|
||||
/* 80028DF4 */ virtual void getColor(int);
|
||||
/* 800296EC */ virtual bool isDrawType(int);
|
||||
/* 80028DF4 */ virtual GXColor* getColor(int);
|
||||
/* 800296F8 */ virtual void isRendAllRoom() const;
|
||||
/* 8002A254 */ virtual void getRoomNoSingle();
|
||||
/* 8002A1DC */ virtual void isDrawRoom(int, int) const;
|
||||
|
||||
@@ -136,7 +136,7 @@ public:
|
||||
/* 802383A4 */ void isMouthCheck();
|
||||
/* 802383D0 */ static u32 getMessageID();
|
||||
/* 802383E4 */ void getSmellTypeMessageID();
|
||||
/* 80238410 */ void setSmellType(u8);
|
||||
/* 80238410 */ static void setSmellType(u8);
|
||||
/* 80238440 */ void getSelectCursorPos();
|
||||
/* 8023846C */ static void setSelectCursorPos(u8);
|
||||
/* 8023849C */ void setPortalMessageID(u16);
|
||||
@@ -299,6 +299,10 @@ inline void dMsgObject_endFlowGroup() {
|
||||
dMsgObject_c::endFlowGroup();
|
||||
}
|
||||
|
||||
inline void dMsgObject_setSmellType(u8 type) {
|
||||
dMsgObject_c::setSmellType(type);
|
||||
}
|
||||
|
||||
|
||||
class dMsgObject_HowlHIO_c {
|
||||
public:
|
||||
|
||||
+98
-844
@@ -2,821 +2,16 @@
|
||||
#define GX_H_
|
||||
|
||||
#include "dolphin/gx/GXDisplayList.h"
|
||||
#include "dolphin/gx/GXStruct.h"
|
||||
#include "dolphin/gx/GXEnum.h"
|
||||
#include "dolphin/mtx/mtx.h"
|
||||
#include "dolphin/mtx/mtx44.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "global.h"
|
||||
|
||||
typedef struct _GXColor {
|
||||
/* 0x0 */ u8 r;
|
||||
/* 0x1 */ u8 g;
|
||||
/* 0x2 */ u8 b;
|
||||
/* 0x3 */ u8 a;
|
||||
} GXColor;
|
||||
|
||||
typedef struct _GXColorS10 {
|
||||
/* 0x0 */ s16 r;
|
||||
/* 0x2 */ s16 g;
|
||||
/* 0x4 */ s16 b;
|
||||
/* 0x6 */ s16 a;
|
||||
} GXColorS10;
|
||||
|
||||
typedef struct _GXRenderModeObj {
|
||||
s32 vi_tv_mode;
|
||||
u16 fb_width;
|
||||
u16 efb_height;
|
||||
u16 xfb_height;
|
||||
u16 vi_x_origin;
|
||||
u16 vi_y_origin;
|
||||
u16 vi_width;
|
||||
u16 vi_height;
|
||||
s32 xfb_mode;
|
||||
u8 field_rendering;
|
||||
bool antialiasing;
|
||||
u8 sample_pattern[12][2];
|
||||
u8 vfilter[7];
|
||||
} GXRenderModeObj;
|
||||
|
||||
STATIC_ASSERT(sizeof(_GXRenderModeObj) == 60);
|
||||
|
||||
typedef struct _GXTexObj {
|
||||
/* 0x00 */ u32 texture_filter;
|
||||
/* 0x04 */ u32 texture_lod;
|
||||
/* 0x08 */ u32 texture_size;
|
||||
/* 0x0C */ u32 texture_address;
|
||||
/* 0x10 */ u32 user_data;
|
||||
/* 0x14 */ u32 texture_format;
|
||||
/* 0x18 */ u32 tlut_name;
|
||||
/* 0x1C */ u16 texture_time_count;
|
||||
/* 0x1E */ u8 texture_tile_type;
|
||||
/* 0x1F */ u8 texture_flags;
|
||||
} GXTexObj;
|
||||
|
||||
typedef struct _GXTlutObj {
|
||||
/* 0x0 */ u32 format;
|
||||
/* 0x4 */ u32 address;
|
||||
/* 0x8 */ u32 numEntries;
|
||||
} GXTlutObj;
|
||||
|
||||
typedef struct _GXLightObj {
|
||||
/* 0x0 */ u32 data[16];
|
||||
} GXLightObj;
|
||||
|
||||
typedef struct _GXFogAdjTable {
|
||||
/* 0x0 */ u16 r[10];
|
||||
} GXFogAdjTable;
|
||||
|
||||
typedef struct _GXFifoObj {
|
||||
/* 0x00 */ void* base;
|
||||
/* 0x04 */ u32 end;
|
||||
/* 0x08 */ u32 size;
|
||||
/* 0x0C */ u32 high_wtrmark;
|
||||
/* 0x10 */ u32 low_wtrmark;
|
||||
/* 0x14 */ void* read_ptr;
|
||||
/* 0x18 */ void* write_ptr;
|
||||
/* 0x1C */ void* rw_dst;
|
||||
/* 0x20 */ u8 fifo_wrap;
|
||||
/* 0x21 */ bool cpu_fifo_ready;
|
||||
/* 0x22 */ bool gp_fifo_ready;
|
||||
/* 0x23 */ u8 field_0x23[93];
|
||||
} GXFifoObj; // Size: 0x80
|
||||
|
||||
typedef struct _GXTexRegion {
|
||||
/* 0x00 */ u8 dummy[0x10];
|
||||
} GXTexRegion; // Size: 0x10
|
||||
|
||||
typedef enum _GXPrimitive {
|
||||
/* 0x80 */ GX_QUADS = 0x80,
|
||||
/* 0x90 */ GX_TRIANGLES = 0x90,
|
||||
/* 0x98 */ GX_TRIANGLESTRIP = 0x98,
|
||||
/* 0xA0 */ GX_TRIANGLEFAN = 0xA0,
|
||||
/* 0xA8 */ GX_LINES = 0xA8,
|
||||
/* 0xB0 */ GX_LINESTRIP = 0xB0,
|
||||
/* 0xB8 */ GX_POINTS = 0xB8,
|
||||
} GXPrimitive;
|
||||
|
||||
typedef enum _GXCullMode {
|
||||
/* 0x0 */ GX_CULL_NONE,
|
||||
/* 0x1 */ GX_CULL_FRONT,
|
||||
/* 0x2 */ GX_CULL_BACK,
|
||||
/* 0x3 */ GX_CULL_ALL
|
||||
} GXCullMode;
|
||||
|
||||
typedef enum _GXBool {
|
||||
/* 0x0 */ GX_FALSE,
|
||||
/* 0x1 */ GX_TRUE,
|
||||
/* 0x0 */ GX_DISABLE = 0,
|
||||
/* 0x1 */ GX_ENABLE
|
||||
} GXBool;
|
||||
|
||||
typedef enum _GXTexMapID {
|
||||
/* 0x000 */ GX_TEXMAP0,
|
||||
/* 0x001 */ GX_TEXMAP1,
|
||||
/* 0x002 */ GX_TEXMAP2,
|
||||
/* 0x003 */ GX_TEXMAP3,
|
||||
/* 0x004 */ GX_TEXMAP4,
|
||||
/* 0x005 */ GX_TEXMAP5,
|
||||
/* 0x006 */ GX_TEXMAP6,
|
||||
/* 0x007 */ GX_TEXMAP7,
|
||||
/* 0x008 */ GX_MAX_TEXMAP,
|
||||
/* 0x0FF */ GX_TEXMAP_NULL = 255,
|
||||
/* 0x100 */ GX_TEXMAP_DISABLE,
|
||||
} GXTexMapID;
|
||||
|
||||
typedef enum _GXTevStageID {
|
||||
/* 0x00 */ GX_TEVSTAGE0,
|
||||
/* 0x01 */ GX_TEVSTAGE1,
|
||||
/* 0x02 */ GX_TEVSTAGE2,
|
||||
/* 0x03 */ GX_TEVSTAGE3,
|
||||
/* 0x04 */ GX_TEVSTAGE4,
|
||||
/* 0x05 */ GX_TEVSTAGE5,
|
||||
/* 0x06 */ GX_TEVSTAGE6,
|
||||
/* 0x07 */ GX_TEVSTAGE7,
|
||||
/* 0x08 */ GX_TEVSTAGE8,
|
||||
/* 0x09 */ GX_TEVSTAGE9,
|
||||
/* 0x0A */ GX_TEVSTAGE10,
|
||||
/* 0x0B */ GX_TEVSTAGE11,
|
||||
/* 0x0C */ GX_TEVSTAGE12,
|
||||
/* 0x0D */ GX_TEVSTAGE13,
|
||||
/* 0x0E */ GX_TEVSTAGE14,
|
||||
/* 0x0F */ GX_TEVSTAGE15,
|
||||
/* 0x10 */ GX_MAX_TEVSTAGE,
|
||||
} GXTevStageID;
|
||||
|
||||
typedef enum _GXTexCoordID {
|
||||
/* 0x00 */ GX_TEXCOORD0,
|
||||
/* 0x01 */ GX_TEXCOORD1,
|
||||
/* 0x02 */ GX_TEXCOORD2,
|
||||
/* 0x03 */ GX_TEXCOORD3,
|
||||
/* 0x04 */ GX_TEXCOORD4,
|
||||
/* 0x05 */ GX_TEXCOORD5,
|
||||
/* 0x06 */ GX_TEXCOORD6,
|
||||
/* 0x07 */ GX_TEXCOORD7,
|
||||
/* 0x08 */ GX_MAXCOORD,
|
||||
/* 0xFF */ GX_TEXCOORD_NULL = 255,
|
||||
} GXTexCoordID;
|
||||
|
||||
typedef enum _GXChannelID {
|
||||
/* 0x00 */ GX_COLOR0,
|
||||
/* 0x01 */ GX_COLOR1,
|
||||
/* 0x02 */ GX_ALPHA0,
|
||||
/* 0x03 */ GX_ALPHA1,
|
||||
/* 0x04 */ GX_COLOR0A0,
|
||||
/* 0x05 */ GX_COLOR1A1,
|
||||
/* 0x06 */ GX_COLOR_ZERO,
|
||||
/* 0x07 */ GX_ALPHA_BUMP,
|
||||
/* 0x08 */ GX_ALPHA_BUMPN,
|
||||
/* 0xFF */ GX_COLOR_NULL = 255,
|
||||
} GXChannelID;
|
||||
|
||||
typedef enum _GXColorSrc {
|
||||
/* 0x0 */ GX_SRC_REG,
|
||||
/* 0x1 */ GX_SRC_VTX,
|
||||
} GXColorSrc;
|
||||
|
||||
typedef enum _GXLightID {
|
||||
/* 0x000 */ GX_LIGHT_NULL = 0,
|
||||
/* 0x001 */ GX_LIGHT0 = 1 << 0,
|
||||
/* 0x002 */ GX_LIGHT1 = 1 << 1,
|
||||
/* 0x004 */ GX_LIGHT2 = 1 << 2,
|
||||
/* 0x008 */ GX_LIGHT3 = 1 << 3,
|
||||
/* 0x010 */ GX_LIGHT4 = 1 << 4,
|
||||
/* 0x020 */ GX_LIGHT5 = 1 << 5,
|
||||
/* 0x040 */ GX_LIGHT6 = 1 << 6,
|
||||
/* 0x080 */ GX_LIGHT7 = 1 << 7,
|
||||
/* 0x100 */ GX_MAX_LIGHT = 1 << 8,
|
||||
} GXLightID;
|
||||
|
||||
typedef enum _GXDiffuseFn {
|
||||
/* 0x0 */ GX_DF_NONE,
|
||||
/* 0x1 */ GX_DF_SIGN,
|
||||
/* 0x2 */ GX_DF_CLAMP,
|
||||
} GXDiffuseFn;
|
||||
|
||||
typedef enum _GXAttnFn {
|
||||
/* 0x0 */ GX_AF_SPEC,
|
||||
/* 0x1 */ GX_AF_SPOT,
|
||||
/* 0x2 */ GX_AF_NONE,
|
||||
} GXAttnFn;
|
||||
|
||||
typedef enum _GXDistAttnFn {
|
||||
/* 0x0 */ GX_DA_OFF,
|
||||
/* 0x1 */ GX_DA_GENTLE,
|
||||
/* 0x2 */ GX_DA_MEDIUM,
|
||||
/* 0x3 */ GX_DA_STEEP
|
||||
} GXDistAttnFn;
|
||||
|
||||
typedef enum _GXSpotFn {
|
||||
/* 0x0 */ GX_SP_OFF,
|
||||
/* 0x1 */ GX_SP_FLAT,
|
||||
/* 0x2 */ GX_SP_COS,
|
||||
/* 0x3 */ GX_SP_COS2,
|
||||
/* 0x4 */ GX_SP_SHARP,
|
||||
/* 0x5 */ GX_SP_RING1,
|
||||
/* 0x6 */ GX_SP_RING2
|
||||
} GXSpotFn;
|
||||
|
||||
typedef enum _GXTevMode {
|
||||
/* 0x0 */ GX_MODULATE,
|
||||
/* 0x1 */ GX_DECAL,
|
||||
/* 0x2 */ GX_BLEND,
|
||||
/* 0x3 */ GX_REPLACE,
|
||||
/* 0x4 */ GX_PASSCLR,
|
||||
} GXTevMode;
|
||||
|
||||
typedef enum _GXBlendMode {
|
||||
/* 0x0 */ GX_BM_NONE,
|
||||
/* 0x1 */ GX_BM_BLEND,
|
||||
/* 0x2 */ GX_BM_LOGIC,
|
||||
/* 0x3 */ GX_BM_SUBTRACT,
|
||||
/* 0x4 */ GX_MAX_BLENDMODE,
|
||||
} GXBlendMode;
|
||||
|
||||
typedef enum _GXBlendFactor {
|
||||
/* 0x0 */ GX_BL_ZERO,
|
||||
/* 0x1 */ GX_BL_ONE,
|
||||
/* 0x2 */ GX_BL_SRC_COLOR,
|
||||
/* 0x2 */ GX_BL_DST_COLOR = 2,
|
||||
/* 0x3 */ GX_BL_INV_SRC_COLOR,
|
||||
/* 0x3 */ GX_BL_INV_DST_COLOR = 3,
|
||||
/* 0x4 */ GX_BL_SRC_ALPHA,
|
||||
/* 0x5 */ GX_BL_INV_SRC_ALPHA,
|
||||
/* 0x6 */ GX_BL_DST_ALPHA,
|
||||
/* 0x7 */ GX_BL_INV_DST_ALPHA,
|
||||
} GXBlendFactor;
|
||||
|
||||
typedef enum _GXLogicOp {
|
||||
/* 0x0 */ GX_LO_CLEAR,
|
||||
/* 0x1 */ GX_LO_AND,
|
||||
/* 0x2 */ GX_LO_REV_AND,
|
||||
/* 0x3 */ GX_LO_COPY,
|
||||
/* 0x4 */ GX_LO_INV_AND,
|
||||
/* 0x5 */ GX_LO_NOOP,
|
||||
/* 0x6 */ GX_LO_XOR,
|
||||
/* 0x7 */ GX_LO_OR,
|
||||
/* 0x8 */ GX_LO_NOR,
|
||||
/* 0x9 */ GX_LO_EQUIV,
|
||||
/* 0xA */ GX_LO_INV,
|
||||
/* 0xB */ GX_LO_REV_OR,
|
||||
/* 0xC */ GX_LO_INV_COPY,
|
||||
/* 0xD */ GX_LO_INV_OR,
|
||||
/* 0xE */ GX_LO_NAND,
|
||||
/* 0xF */ GX_LO_SET,
|
||||
} GXLogicOp;
|
||||
|
||||
typedef enum _GXVtxFmt {
|
||||
/* 0x0 */ GX_VTXFMT0,
|
||||
/* 0x1 */ GX_VTXFMT1,
|
||||
/* 0x2 */ GX_VTXFMT2,
|
||||
/* 0x3 */ GX_VTXFMT3,
|
||||
/* 0x4 */ GX_VTXFMT4,
|
||||
/* 0x5 */ GX_VTXFMT5,
|
||||
/* 0x6 */ GX_VTXFMT6,
|
||||
/* 0x7 */ GX_VTXFMT7,
|
||||
/* 0x8 */ GX_MAX_VTXFMT,
|
||||
} GXVtxFmt;
|
||||
|
||||
typedef enum _GXAttr {
|
||||
/* 0x00 */ GX_VA_PNMTXIDX,
|
||||
/* 0x01 */ GX_VA_TEX0MTXIDX,
|
||||
/* 0x02 */ GX_VA_TEX1MTXIDX,
|
||||
/* 0x03 */ GX_VA_TEX2MTXIDX,
|
||||
/* 0x04 */ GX_VA_TEX3MTXIDX,
|
||||
/* 0x05 */ GX_VA_TEX4MTXIDX,
|
||||
/* 0x06 */ GX_VA_TEX5MTXIDX,
|
||||
/* 0x07 */ GX_VA_TEX6MTXIDX,
|
||||
/* 0x08 */ GX_VA_TEX7MTXIDX,
|
||||
/* 0x09 */ GX_VA_POS,
|
||||
/* 0x0A */ GX_VA_NRM,
|
||||
/* 0x0B */ GX_VA_CLR0,
|
||||
/* 0x0C */ GX_VA_CLR1,
|
||||
/* 0x0D */ GX_VA_TEX0,
|
||||
/* 0x0E */ GX_VA_TEX1,
|
||||
/* 0x0F */ GX_VA_TEX2,
|
||||
/* 0x10 */ GX_VA_TEX3,
|
||||
/* 0x11 */ GX_VA_TEX4,
|
||||
/* 0x12 */ GX_VA_TEX5,
|
||||
/* 0x13 */ GX_VA_TEX6,
|
||||
/* 0x14 */ GX_VA_TEX7,
|
||||
/* 0x15 */ GX_POS_MTX_ARRAY,
|
||||
/* 0x16 */ GX_NRM_MTX_ARRAY,
|
||||
/* 0x17 */ GX_TEX_MTX_ARRAY,
|
||||
/* 0x18 */ GX_LIGHT_ARRAY,
|
||||
/* 0x19 */ GX_VA_NBT,
|
||||
/* 0x1A */ GX_VA_MAX_ATTR,
|
||||
/* 0xFF */ GX_VA_NULL = 255,
|
||||
} GXAttr;
|
||||
|
||||
typedef enum _GXCompCnt {
|
||||
/* 0x0 */ GX_POS_XY = 0,
|
||||
/* 0x1 */ GX_POS_XYZ = 1,
|
||||
/* 0x0 */ GX_NRM_XYZ = 0,
|
||||
/* 0x1 */ GX_NRM_NBT = 1,
|
||||
/* 0x2 */ GX_NRM_NBT3 = 2,
|
||||
/* 0x0 */ GX_CLR_RGB = 0,
|
||||
/* 0x1 */ GX_CLR_RGBA = 1,
|
||||
/* 0x0 */ GX_TEX_S = 0,
|
||||
/* 0x1 */ GX_TEX_ST = 1,
|
||||
} GXCompCnt;
|
||||
|
||||
typedef enum _GXCompType {
|
||||
/* 0x0 */ GX_U8,
|
||||
/* 0x1 */ GX_S8,
|
||||
/* 0x2 */ GX_U16,
|
||||
/* 0x3 */ GX_S16,
|
||||
/* 0x4 */ GX_F32,
|
||||
/* 0x0 */ GX_RGB565 = 0,
|
||||
/* 0x1 */ GX_RGB8,
|
||||
/* 0x2 */ GX_RGBX8,
|
||||
/* 0x3 */ GX_RGBA4,
|
||||
/* 0x4 */ GX_RGBA6,
|
||||
/* 0x5 */ GX_RGBA8,
|
||||
} GXCompType;
|
||||
|
||||
typedef enum _GXAttrType {
|
||||
/* 0x0 */ GX_NONE,
|
||||
/* 0x1 */ GX_DIRECT,
|
||||
/* 0x2 */ GX_INDEX8,
|
||||
/* 0x3 */ GX_INDEX16,
|
||||
} GXAttrType;
|
||||
|
||||
typedef enum _GXTevOp {
|
||||
/* 0x0 */ GX_TEV_ADD,
|
||||
/* 0x1 */ GX_TEV_SUB,
|
||||
/* 0x8 */ GX_TEV_COMP_R8_GT = 8,
|
||||
/* 0x9 */ GX_TEV_COMP_R8_EQ,
|
||||
/* 0xA */ GX_TEV_COMP_GR16_GT,
|
||||
/* 0xB */ GX_TEV_COMP_GR16_EQ,
|
||||
/* 0xC */ GX_TEV_COMP_BGR24_GT,
|
||||
/* 0xD */ GX_TEV_COMP_BGR24_EQ,
|
||||
/* 0xE */ GX_TEV_COMP_A8_GT,
|
||||
/* 0xE */ GX_TEV_COMP_RGB8_GT = 14,
|
||||
/* 0xF */ GX_TEV_COMP_RGB8_EQ,
|
||||
/* 0xF */ GX_TEV_COMP_A8_EQ = 15,
|
||||
} GXTevOp;
|
||||
|
||||
typedef enum _GXTevBias {
|
||||
/* 0x0 */ GX_TB_ZERO,
|
||||
/* 0x1 */ GX_TB_ADDHALF,
|
||||
/* 0x2 */ GX_TB_SUBHALF,
|
||||
/* 0x3 */ GX_MAX_TEVBIAS,
|
||||
} GXTevBias;
|
||||
|
||||
typedef enum _GXTevColorArg {
|
||||
/* 0x0 */ GX_CC_CPREV,
|
||||
/* 0x1 */ GX_CC_APREV,
|
||||
/* 0x2 */ GX_CC_C0,
|
||||
/* 0x3 */ GX_CC_A0,
|
||||
/* 0x4 */ GX_CC_C1,
|
||||
/* 0x5 */ GX_CC_A1,
|
||||
/* 0x6 */ GX_CC_C2,
|
||||
/* 0x7 */ GX_CC_A2,
|
||||
/* 0x8 */ GX_CC_TEXC,
|
||||
/* 0x9 */ GX_CC_TEXA,
|
||||
/* 0xA */ GX_CC_RASC,
|
||||
/* 0xB */ GX_CC_RASA,
|
||||
/* 0xC */ GX_CC_ONE,
|
||||
/* 0xD */ GX_CC_HALF,
|
||||
/* 0xE */ GX_CC_KONST,
|
||||
/* 0xF */ GX_CC_ZERO,
|
||||
} GXTevColorArg;
|
||||
|
||||
typedef enum _GXTevColor {
|
||||
/* 0x0 */ GX_CH_RED,
|
||||
/* 0x1 */ GX_CH_GREEN,
|
||||
/* 0x2 */ GX_CH_BLUE,
|
||||
/* 0x3 */ GX_CH_ALPHA,
|
||||
} GXTevColor;
|
||||
|
||||
typedef enum _GXTevScale {
|
||||
/* 0x0 */ GX_CS_SCALE_1,
|
||||
/* 0x1 */ GX_CS_SCALE_2,
|
||||
/* 0x2 */ GX_CS_SCALE_4,
|
||||
/* 0x3 */ GX_CS_DIVIDE_2,
|
||||
/* 0x4 */ GX_MAX_TEVSCALE
|
||||
} GXTevScale;
|
||||
|
||||
typedef enum _GXTevRegID {
|
||||
/* 0x0 */ GX_TEVPREV,
|
||||
/* 0x1 */ GX_TEVREG0,
|
||||
/* 0x2 */ GX_TEVREG1,
|
||||
/* 0x3 */ GX_TEVREG2,
|
||||
/* 0x4 */ GX_MAX_TEVREG
|
||||
} GXTevRegID;
|
||||
|
||||
typedef enum _GXTevAlphaArg {
|
||||
/* 0x0 */ GX_CA_APREV,
|
||||
/* 0x1 */ GX_CA_A0,
|
||||
/* 0x2 */ GX_CA_A1,
|
||||
/* 0x3 */ GX_CA_A2,
|
||||
/* 0x4 */ GX_CA_TEXA,
|
||||
/* 0x5 */ GX_CA_RASA,
|
||||
/* 0x6 */ GX_CA_KONST,
|
||||
/* 0x7 */ GX_CA_ZERO,
|
||||
} GXTevAlphaArg;
|
||||
|
||||
typedef enum _GXTexFmt {
|
||||
/* 0x0 */ GX_TF_I4,
|
||||
/* 0x1 */ GX_TF_I8,
|
||||
/* 0x2 */ GX_TF_IA4,
|
||||
/* 0x3 */ GX_TF_IA8,
|
||||
/* 0x4 */ GX_TF_RGB565,
|
||||
/* 0x5 */ GX_TF_TGB5A3,
|
||||
/* 0x6 */ GX_TF_RGBA8,
|
||||
/* 0x7 */ GX_TF_CI4,
|
||||
/* 0x8 */ GX_TF_CI8,
|
||||
/* 0x9 */ GX_TF_CI14,
|
||||
/* 0xE */ GX_TF_CMPR = 14,
|
||||
/* 0x10 */ _GX_TF_ZTF = 0x10,
|
||||
/* 0x11 */ GX_TF_Z8 = (0x1 | _GX_TF_ZTF),
|
||||
/* 0x13 */ GX_TF_Z16 = (0x3 | _GX_TF_ZTF),
|
||||
/* 0x16 */ GX_TF_Z24X8 = (0x6 | _GX_TF_ZTF),
|
||||
/* 0x20 */ _GX_TF_CTF = 0x20,
|
||||
/* 0x30 */ GX_CTF_Z4 = (0x0 | _GX_TF_ZTF | _GX_TF_CTF),
|
||||
/* 0x39 */ GX_CTF_Z8M = (0x9 | _GX_TF_ZTF | _GX_TF_CTF),
|
||||
/* 0x3A */ GX_CTF_Z8L = (0xA | _GX_TF_ZTF | _GX_TF_CTF),
|
||||
/* 0x3C */ GX_CTF_Z16L = (0xC | _GX_TF_ZTF | _GX_TF_CTF),
|
||||
} GXTexFmt;
|
||||
|
||||
typedef enum _GXGamma {
|
||||
/* 0x0 */ GX_GM_1_0,
|
||||
/* 0x0 */ GX_GM_1_7,
|
||||
/* 0x0 */ GX_GM_2_2,
|
||||
} GXGamma;
|
||||
|
||||
typedef enum _GXTlutFmt {
|
||||
/* 0x0 */ GX_TL_IA8,
|
||||
/* 0x1 */ GX_TL_RGB565,
|
||||
/* 0x2 */ GX_TL_RGB5A3,
|
||||
} GXTlutFmt;
|
||||
|
||||
typedef enum _GXTlut {
|
||||
/* 0x00 */ GX_TLUT0,
|
||||
/* 0x01 */ GX_TLUT1,
|
||||
/* 0x02 */ GX_TLUT2,
|
||||
/* 0x03 */ GX_TLUT3,
|
||||
/* 0x04 */ GX_TLUT4,
|
||||
/* 0x05 */ GX_TLUT5,
|
||||
/* 0x06 */ GX_TLUT6,
|
||||
/* 0x07 */ GX_TLUT7,
|
||||
/* 0x08 */ GX_TLUT8,
|
||||
/* 0x09 */ GX_TLUT9,
|
||||
/* 0x0A */ GX_TLUT10,
|
||||
/* 0x0B */ GX_TLUT11,
|
||||
/* 0x0C */ GX_TLUT12,
|
||||
/* 0x0D */ GX_TLUT13,
|
||||
/* 0x0E */ GX_TLUT14,
|
||||
/* 0x0F */ GX_TLUT15,
|
||||
/* 0x10 */ GX_BIGTLUT0,
|
||||
/* 0x11 */ GX_BIGTLUT1,
|
||||
/* 0x12 */ GX_BIGTLUT2,
|
||||
/* 0x13 */ GX_BIGTLUT3,
|
||||
} GXTlut;
|
||||
|
||||
/* 8-bit version of GXTexFmt for use in structures */
|
||||
typedef enum _GXTexFmt8 {
|
||||
/* 0x20 */ GX_CTF_R4 = (0x0 | _GX_TF_CTF),
|
||||
/* 0x22 */ GX_CTF_RA4 = (0x2 | _GX_TF_CTF),
|
||||
/* 0x23 */ GX_CTF_RA8 = (0x3 | _GX_TF_CTF),
|
||||
/* 0x26 */ GX_CTF_YUVA8 = (0x6 | _GX_TF_CTF),
|
||||
/* 0x27 */ GX_CTF_A8 = (0x7 | _GX_TF_CTF),
|
||||
/* 0x28 */ GX_CTF_R8 = (0x8 | _GX_TF_CTF),
|
||||
/* 0x29 */ GX_CTF_G8 = (0x9 | _GX_TF_CTF),
|
||||
/* 0x2A */ GX_CTF_B8 = (0xA | _GX_TF_CTF),
|
||||
/* 0x2B */ GX_CTF_RG8 = (0xB | _GX_TF_CTF),
|
||||
/* 0x2C */ GX_CTF_GB8 = (0xC | _GX_TF_CTF),
|
||||
} GXTexFmt8;
|
||||
|
||||
typedef enum _GXTexWrapMode {
|
||||
/* 0x0 */ GX_CLAMP,
|
||||
/* 0x1 */ GX_REPEAT,
|
||||
/* 0x2 */ GX_MIRROR,
|
||||
/* 0x3 */ GX_MAX_TEXWRAP_MODE,
|
||||
} GXTexWrapMode;
|
||||
|
||||
typedef enum _GXTexFilter {
|
||||
/* 0x0 */ GX_NEAR,
|
||||
/* 0x1 */ GX_LINEAR,
|
||||
/* 0x2 */ GX_NEAR_MIP_NEAR,
|
||||
/* 0x3 */ GX_LIN_MIP_NEAR,
|
||||
/* 0x4 */ GX_NEAR_MIP_LIN,
|
||||
/* 0x5 */ GX_LIN_MIP_LIN,
|
||||
} GXTexFilter;
|
||||
|
||||
typedef enum _GXAnisotropy {
|
||||
/* 0x0 */ GX_ANISO_1,
|
||||
/* 0x1 */ GX_ANISO_2,
|
||||
/* 0x2 */ GX_ANISO_4,
|
||||
/* 0x3 */ GX_MAX_ANISOTROPY,
|
||||
} GXAnisotropy;
|
||||
|
||||
enum GXCITexFmt {
|
||||
/* 0x8 */ GX_TF_C4 = 8,
|
||||
/* 0x8 */ GX_TF_C8,
|
||||
/* 0xA */ GX_TF_C14X2
|
||||
};
|
||||
|
||||
typedef enum _GXTexMtxType {
|
||||
/* 0x0 */ GX_MTX3x4,
|
||||
/* 0x1 */ GX_MTX2x4
|
||||
} GXTexMtxType;
|
||||
|
||||
typedef enum _GXCompare {
|
||||
/* 0x0 */ GX_NEVER,
|
||||
/* 0x1 */ GX_LESS,
|
||||
/* 0x2 */ GX_EQUAL,
|
||||
/* 0x3 */ GX_LEQUAL,
|
||||
/* 0x4 */ GX_GREATER,
|
||||
/* 0x5 */ GX_NEQUAL,
|
||||
/* 0x6 */ GX_GEQUAL,
|
||||
/* 0x7 */ GX_ALWAYS,
|
||||
} GXCompare;
|
||||
|
||||
typedef enum _GXAlphaOp {
|
||||
/* 0x0 */ GX_AOP_AND,
|
||||
/* 0x1 */ GX_AOP_OR,
|
||||
/* 0x2 */ GX_AOP_XOR,
|
||||
/* 0x3 */ GX_AOP_XNOR,
|
||||
/* 0x4 */ GX_MAX_ALPHAOP
|
||||
} GXAlphaOp;
|
||||
|
||||
typedef enum _GXFogType {
|
||||
/* 0x0 */ GX_FOG_NONE,
|
||||
/* 0x2 */ GX_FOG_LIN = 2,
|
||||
/* 0x2 */ GX_FOG_PERSP_LIN = 2,
|
||||
/* 0x4 */ GX_FOG_EXP = 4,
|
||||
/* 0x4 */ GX_FOG_PERSP_EXP = 4,
|
||||
/* 0x5 */ GX_FOG_EXP2,
|
||||
/* 0x5 */ GX_FOG_PERSP_EXP2 = 5,
|
||||
/* 0x6 */ GX_FOG_REVEXP,
|
||||
/* 0x6 */ GX_FOG_PERSP_REVEXP = 6,
|
||||
/* 0x7 */ GX_FOG_REVEXP2,
|
||||
/* 0x7 */ GX_FOG_PERSP_REVEXP2 = 7,
|
||||
/* 0xA */ GX_FOG_ORTHO_LIN = 10,
|
||||
/* 0xC */ GX_FOG_ORTHO_EXP = 12,
|
||||
/* 0xD */ GX_FOG_ORTHO_EXP2,
|
||||
/* 0xE */ GX_FOG_ORTHO_REVEXP,
|
||||
/* 0xF */ GX_FOG_ORTHO_REVEXP2,
|
||||
} GXFogType;
|
||||
|
||||
typedef enum _GXProjectionType {
|
||||
/* 0x0 */ GX_PERSPECTIVE,
|
||||
/* 0x1 */ GX_ORTHOGRAPHIC
|
||||
} GXProjectionType;
|
||||
|
||||
typedef enum _GXTevKAlphaSel {
|
||||
/* 0x00 */ GX_TEV_KASEL_1,
|
||||
/* 0x01 */ GX_TEV_KASEL_7_8,
|
||||
/* 0x02 */ GX_TEV_KASEL_3_4,
|
||||
/* 0x03 */ GX_TEV_KASEL_5_8,
|
||||
/* 0x04 */ GX_TEV_KASEL_1_2,
|
||||
/* 0x05 */ GX_TEV_KASEL_3_8,
|
||||
/* 0x06 */ GX_TEV_KASEL_1_4,
|
||||
/* 0x07 */ GX_TEV_KASEL_1_8,
|
||||
|
||||
/* 0x10 */ GX_TEV_KASEL_K0_R = 0x10,
|
||||
/* 0x11 */ GX_TEV_KASEL_K1_R,
|
||||
/* 0x12 */ GX_TEV_KASEL_K2_R,
|
||||
/* 0x13 */ GX_TEV_KASEL_K3_R,
|
||||
/* 0x14 */ GX_TEV_KASEL_K0_G,
|
||||
/* 0x15 */ GX_TEV_KASEL_K1_G,
|
||||
/* 0x16 */ GX_TEV_KASEL_K2_G,
|
||||
/* 0x17 */ GX_TEV_KASEL_K3_G,
|
||||
/* 0x18 */ GX_TEV_KASEL_K0_B,
|
||||
/* 0x19 */ GX_TEV_KASEL_K1_B,
|
||||
/* 0x1A */ GX_TEV_KASEL_K2_B,
|
||||
/* 0x1B */ GX_TEV_KASEL_K3_B,
|
||||
/* 0x1C */ GX_TEV_KASEL_K0_A,
|
||||
/* 0x1D */ GX_TEV_KASEL_K1_A,
|
||||
/* 0x1E */ GX_TEV_KASEL_K2_A,
|
||||
/* 0x1F */ GX_TEV_KASEL_K3_A,
|
||||
} GXTevKAlphaSel;
|
||||
|
||||
typedef enum _GXTevKColorSel {
|
||||
/* 0x00 */ GX_TEV_KCSEL_1,
|
||||
/* 0x01 */ GX_TEV_KCSEL_7_8,
|
||||
/* 0x02 */ GX_TEV_KCSEL_3_4,
|
||||
/* 0x03 */ GX_TEV_KCSEL_5_8,
|
||||
/* 0x04 */ GX_TEV_KCSEL_1_2,
|
||||
/* 0x05 */ GX_TEV_KCSEL_3_8,
|
||||
/* 0x06 */ GX_TEV_KCSEL_1_4,
|
||||
/* 0x07 */ GX_TEV_KCSEL_1_8,
|
||||
/* 0x0C */ GX_TEV_KCSEL_K0 = 0xC,
|
||||
/* 0x0D */ GX_TEV_KCSEL_K1,
|
||||
/* 0x0E */ GX_TEV_KCSEL_K2,
|
||||
/* 0x0F */ GX_TEV_KCSEL_K3,
|
||||
/* 0x10 */ GX_TEV_KCSEL_K0_R,
|
||||
/* 0x11 */ GX_TEV_KCSEL_K1_R,
|
||||
/* 0x12 */ GX_TEV_KCSEL_K2_R,
|
||||
/* 0x13 */ GX_TEV_KCSEL_K3_R,
|
||||
/* 0x14 */ GX_TEV_KCSEL_K0_G,
|
||||
/* 0x15 */ GX_TEV_KCSEL_K1_G,
|
||||
/* 0x16 */ GX_TEV_KCSEL_K2_G,
|
||||
/* 0x17 */ GX_TEV_KCSEL_K3_G,
|
||||
/* 0x18 */ GX_TEV_KCSEL_K0_B,
|
||||
/* 0x19 */ GX_TEV_KCSEL_K1_B,
|
||||
/* 0x1A */ GX_TEV_KCSEL_K2_B,
|
||||
/* 0x1B */ GX_TEV_KCSEL_K3_B,
|
||||
/* 0x1C */ GX_TEV_KCSEL_K0_A,
|
||||
/* 0x1D */ GX_TEV_KCSEL_K1_A,
|
||||
/* 0x1E */ GX_TEV_KCSEL_K2_A,
|
||||
/* 0x1F */ GX_TEV_KCSEL_K3_A,
|
||||
} GXTevKColorSel;
|
||||
|
||||
typedef enum _GXTevSwapSel {
|
||||
/* 0x0 */ GX_TEV_SWAP0,
|
||||
/* 0x1 */ GX_TEV_SWAP1,
|
||||
/* 0x2 */ GX_TEV_SWAP2,
|
||||
/* 0x3 */ GX_TEV_SWAP3,
|
||||
/* 0x4 */ GX_MAX_TEVSWAP,
|
||||
} GXTevSwapSel;
|
||||
|
||||
typedef enum _GXTexGenType {
|
||||
/* 0x0 */ GX_TG_MTX3x4,
|
||||
/* 0x1 */ GX_TG_MTX2x4,
|
||||
/* 0x2 */ GX_TG_BUMP0,
|
||||
/* 0x3 */ GX_TG_BUMP1,
|
||||
/* 0x4 */ GX_TG_BUMP2,
|
||||
/* 0x5 */ GX_TG_BUMP3,
|
||||
/* 0x6 */ GX_TG_BUMP4,
|
||||
/* 0x7 */ GX_TG_BUMP5,
|
||||
/* 0x8 */ GX_TG_BUMP6,
|
||||
/* 0x9 */ GX_TG_BUMP7,
|
||||
/* 0xA */ GX_TG_SRTG,
|
||||
} GXTexGenType;
|
||||
|
||||
typedef enum _GXTexGenSrc {
|
||||
/* 0x00 */ GX_TG_POS,
|
||||
/* 0x01 */ GX_TG_NRM,
|
||||
/* 0x02 */ GX_TG_BINRM,
|
||||
/* 0x03 */ GX_TG_TANGENT,
|
||||
/* 0x04 */ GX_TG_TEX0,
|
||||
/* 0x05 */ GX_TG_TEX1,
|
||||
/* 0x06 */ GX_TG_TEX2,
|
||||
/* 0x07 */ GX_TG_TEX3,
|
||||
/* 0x08 */ GX_TG_TEX4,
|
||||
/* 0x09 */ GX_TG_TEX5,
|
||||
/* 0x0A */ GX_TG_TEX6,
|
||||
/* 0x0B */ GX_TG_TEX7,
|
||||
/* 0x0C */ GX_TG_TEXCOORD0,
|
||||
/* 0x0D */ GX_TG_TEXCOORD1,
|
||||
/* 0x0E */ GX_TG_TEXCOORD2,
|
||||
/* 0x0F */ GX_TG_TEXCOORD3,
|
||||
/* 0x10 */ GX_TG_TEXCOORD4,
|
||||
/* 0x11 */ GX_TG_TEXCOORD5,
|
||||
/* 0x12 */ GX_TG_TEXCOORD6,
|
||||
} GXTexGenSrc;
|
||||
|
||||
typedef enum _GXZTexOp {
|
||||
/* 0x0 */ GX_ZT_DISABLE,
|
||||
/* 0x1 */ GX_ZT_ADD,
|
||||
/* 0x2 */ GX_ZT_REPLACE,
|
||||
/* 0x3 */ GX_MAX_ZTEXOP,
|
||||
} GXZTexOp;
|
||||
|
||||
typedef enum _GXIndTexStageID {
|
||||
/* 0x0 */ GX_INDTEXSTAGE0,
|
||||
/* 0x1 */ GX_INDTEXSTAGE1,
|
||||
/* 0x2 */ GX_INDTEXSTAGE2,
|
||||
/* 0x3 */ GX_INDTEXSTAGE3,
|
||||
/* 0x4 */ GX_MAX_INDTEXSTAGE,
|
||||
} GXIndTexStageID;
|
||||
|
||||
typedef enum _GXIndTexScale {
|
||||
/* 0x0 */ GX_ITS_1,
|
||||
/* 0x1 */ GX_ITS_2,
|
||||
/* 0x2 */ GX_ITS_4,
|
||||
/* 0x3 */ GX_ITS_8,
|
||||
/* 0x4 */ GX_ITS_16,
|
||||
/* 0x5 */ GX_ITS_32,
|
||||
/* 0x6 */ GX_ITS_64,
|
||||
/* 0x7 */ GX_ITS_128,
|
||||
/* 0x8 */ GX_ITS_256,
|
||||
/* 0x9 */ GX_MAX_ITSCALE,
|
||||
} GXIndTexScale;
|
||||
|
||||
typedef enum _GXIndTexMtxID {
|
||||
/* 0x0 */ GX_ITM_OFF,
|
||||
/* 0x1 */ GX_ITM_0,
|
||||
/* 0x2 */ GX_ITM_1,
|
||||
/* 0x3 */ GX_ITM_2,
|
||||
/* 0x5 */ GX_ITM_S0 = 5,
|
||||
/* 0x6 */ GX_ITM_S1,
|
||||
/* 0x7 */ GX_ITM_S2,
|
||||
/* 0x9 */ GX_ITM_T0 = 9,
|
||||
/* 0xA */ GX_ITM_T1,
|
||||
/* 0xB */ GX_ITM_T2,
|
||||
} GXIndTexMtxID;
|
||||
|
||||
typedef enum _GXIndTexFormat {
|
||||
/* 0x0 */ GX_ITF_8,
|
||||
/* 0x1 */ GX_ITF_5,
|
||||
/* 0x2 */ GX_ITF_4,
|
||||
/* 0x3 */ GX_ITF_3,
|
||||
} GXIndTexFormat;
|
||||
|
||||
typedef enum _GXIndTexBiasSel {
|
||||
/* 0x0 */ GX_ITB_NONE,
|
||||
/* 0x1 */ GX_ITB_S,
|
||||
/* 0x2 */ GX_ITB_T,
|
||||
/* 0x3 */ GX_ITB_ST,
|
||||
/* 0x4 */ GX_ITB_U,
|
||||
/* 0x5 */ GX_ITB_SU,
|
||||
/* 0x6 */ GX_ITB_TU,
|
||||
/* 0x7 */ GX_ITB_STU,
|
||||
} GXIndTexBiasSel;
|
||||
|
||||
typedef enum _GXIndTexAlphaSel {
|
||||
/* 0x0 */ GX_ITBA_OFF,
|
||||
/* 0x1 */ GX_ITBA_S,
|
||||
/* 0x2 */ GX_ITBA_T,
|
||||
/* 0x3 */ GX_ITBA_U,
|
||||
} GXIndTexAlphaSel;
|
||||
|
||||
typedef enum _GXIndTexWrap {
|
||||
/* 0x0 */ GX_ITW_OFF,
|
||||
/* 0x1 */ GX_ITW_256,
|
||||
/* 0x2 */ GX_ITW_128,
|
||||
/* 0x3 */ GX_ITW_64,
|
||||
/* 0x4 */ GX_ITW_32,
|
||||
/* 0x5 */ GX_ITW_16,
|
||||
/* 0x6 */ GX_ITW_0,
|
||||
} GXIndTexWrap;
|
||||
|
||||
typedef enum _GXTexOffset {
|
||||
/* 0x0 */ GX_TO_ZERO,
|
||||
/* 0x1 */ GX_TO_SIXTEENTH,
|
||||
/* 0x2 */ GX_TO_EIGHTH,
|
||||
/* 0x3 */ GX_TO_FOURTH,
|
||||
/* 0x4 */ GX_TO_HALF,
|
||||
/* 0x5 */ GX_TO_ONE,
|
||||
/* 0x6 */ GX_MAX_TEXOFFSET,
|
||||
} GXTexOffset;
|
||||
|
||||
typedef enum _GXTevKColorID {
|
||||
/* 0x0 */ GX_KCOLOR0,
|
||||
/* 0x1 */ GX_KCOLOR1,
|
||||
/* 0x2 */ GX_KCOLOR2,
|
||||
/* 0x3 */ GX_KCOLOR3,
|
||||
} GXTevKColorID;
|
||||
|
||||
typedef enum _GXTexCacheSize {
|
||||
/* 0x0 */ GX_TEXCACHE_32K,
|
||||
/* 0x1 */ GX_TEXCACHE_128K,
|
||||
/* 0x2 */ GX_TEXCACHE_512K,
|
||||
/* 0x3 */ GX_TEXCACHE_NONE,
|
||||
} GXTexCacheSize;
|
||||
|
||||
typedef enum _GXPosNrmMtx {
|
||||
GX_PNMTX0 = 3 * 0,
|
||||
GX_PNMTX1 = 3 * 1,
|
||||
GX_PNMTX2 = 3 * 2,
|
||||
GX_PNMTX3 = 3 * 3,
|
||||
GX_PNMTX4 = 3 * 4,
|
||||
GX_PNMTX5 = 3 * 5,
|
||||
GX_PNMTX6 = 3 * 6,
|
||||
GX_PNMTX7 = 3 * 7,
|
||||
GX_PNMTX8 = 3 * 8,
|
||||
GX_PNMTX9 = 3 * 9,
|
||||
} GXPosNrmMtx;
|
||||
|
||||
typedef enum _GXTexMtx {
|
||||
GX_TEXMTX0 = 30 + 0 * 3,
|
||||
GX_TEXMTX1 = 30 + 1 * 3,
|
||||
GX_TEXMTX2 = 30 + 2 * 3,
|
||||
GX_TEXMTX3 = 30 + 3 * 3,
|
||||
GX_TEXMTX4 = 30 + 4 * 3,
|
||||
GX_TEXMTX5 = 30 + 5 * 3,
|
||||
GX_TEXMTX6 = 30 + 6 * 3,
|
||||
GX_TEXMTX7 = 30 + 7 * 3,
|
||||
GX_TEXMTX8 = 30 + 8 * 3,
|
||||
GX_TEXMTX9 = 30 + 9 * 3,
|
||||
GX_IDENTITY = 60,
|
||||
};
|
||||
|
||||
typedef enum _GXPTTexMtx {
|
||||
GX_PTTEXMTX0 = 64 + 0 * 3,
|
||||
GX_PTTEXMTX1 = 64 + 1 * 3,
|
||||
GX_PTTEXMTX2 = 64 + 2 * 3,
|
||||
GX_PTTEXMTX3 = 64 + 3 * 3,
|
||||
GX_PTTEXMTX4 = 64 + 4 * 3,
|
||||
GX_PTTEXMTX5 = 64 + 5 * 3,
|
||||
GX_PTTEXMTX6 = 64 + 6 * 3,
|
||||
GX_PTTEXMTX7 = 64 + 7 * 3,
|
||||
GX_PTTEXMTX8 = 64 + 8 * 3,
|
||||
GX_PTTEXMTX9 = 64 + 9 * 3,
|
||||
GX_PTTEXMTX10 = 64 + 10 * 3,
|
||||
GX_PTTEXMTX11 = 64 + 11 * 3,
|
||||
GX_PTTEXMTX12 = 64 + 12 * 3,
|
||||
GX_PTTEXMTX13 = 64 + 13 * 3,
|
||||
GX_PTTEXMTX14 = 64 + 14 * 3,
|
||||
GX_PTTEXMTX15 = 64 + 15 * 3,
|
||||
GX_PTTEXMTX16 = 64 + 16 * 3,
|
||||
GX_PTTEXMTX17 = 64 + 17 * 3,
|
||||
GX_PTTEXMTX18 = 64 + 18 * 3,
|
||||
GX_PTTEXMTX19 = 64 + 19 * 3,
|
||||
GX_PTIDENTITY = 125,
|
||||
};
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct _GXVtxDescList {
|
||||
/* 0x0 */ GXAttr attr;
|
||||
@@ -830,41 +25,94 @@ typedef struct _GXVtxAttrFmtList {
|
||||
/* 0x0C */ u8 mCompShift;
|
||||
} GXVtxAttrFmtList; // Size: 0x10
|
||||
|
||||
typedef enum _GXFBClamp {
|
||||
/* 0x0 */ GX_CLAMP_NONE,
|
||||
/* 0x1 */ GX_CLAMP_TOP,
|
||||
/* 0x2 */ GX_CLAMP_BOTTOM,
|
||||
} GXFBClamp;
|
||||
typedef GXTexRegion (*GXTexRegionCallback)(void);
|
||||
typedef u32 (*GXTlutRegionCallback)(u32);
|
||||
|
||||
typedef enum _GXPixelFmt {
|
||||
/* 0x0 */ GX_PF_RGB8_Z24,
|
||||
/* 0x1 */ GX_PF_RGBA6_Z24,
|
||||
/* 0x2 */ GX_PF_RGB565_Z16,
|
||||
/* 0x3 */ GX_PF_Z24,
|
||||
/* 0x4 */ GX_PF_Y8,
|
||||
/* 0x5 */ GX_PF_U8,
|
||||
/* 0x6 */ GX_PF_V8,
|
||||
/* 0x7 */ GX_PF_YUV420,
|
||||
} GXPixelFmt;
|
||||
typedef struct _GXData {
|
||||
/* 0x000 */ u16 field_0x0;
|
||||
/* 0x002 */ u16 field_0x2;
|
||||
/* 0x004 */ u16 field_0x4;
|
||||
/* 0x006 */ u16 field_0x6;
|
||||
/* 0x008 */ u32 field_0x8;
|
||||
/* 0x00C */ u32 field_0xc;
|
||||
/* 0x010 */ u32 field_0x10;
|
||||
/* 0x014 */ GXAttrType field_0x14;
|
||||
/* 0x018 */ GXAttrType field_0x18;
|
||||
/* 0x01C */ GXCompCnt field_0x1c[8];
|
||||
/* 0x03C */ GXCompCnt field_0x3c[8];
|
||||
/* 0x05C */ u32 field_0x5c[8];
|
||||
/* 0x07C */ u32 field_0x7c;
|
||||
/* 0x080 */ u32 field_0x80;
|
||||
/* 0x084 */ u32 field_0x84;
|
||||
/* 0x088 */ u8 field_0x88[0xA8 - 0x88];
|
||||
/* 0x0A8 */ u32 field_0xa8[2];
|
||||
/* 0x0B0 */ u32 field_0xb0[2];
|
||||
/* 0x0B8 */ u32 field_0xb8[8]; // GX_MAX_TEXCOORD
|
||||
/* 0x0D8 */ u32 field_0xd8[8]; // GX_MAX_TEXCOORD
|
||||
/* 0x0F8 */ u32 field_0xf8;
|
||||
/* 0x0FC */ u32 field_0xfc;
|
||||
/* 0x100 */ u32 field_0x100[GX_MAX_TEVSTAGE / 2];
|
||||
/* 0x120 */ u32 field_0x120;
|
||||
/* 0x124 */ u32 field_0x124;
|
||||
/* 0x128 */ u8 field_0x128[0x130 - 0x128];
|
||||
/* 0x130 */ u32 field_0x130[GX_MAX_TEVSTAGE];
|
||||
/* 0x170 */ u32 field_0x170[GX_MAX_TEVSTAGE];
|
||||
/* 0x1B0 */ u32 field_0x1b0[GX_MAX_TEVSTAGE / 2];
|
||||
/* 0x1D0 */ u32 field_0x1d0;
|
||||
/* 0x1D4 */ u32 field_0x1d4;
|
||||
/* 0x1D8 */ u32 field_0x1d8;
|
||||
/* 0x1DC */ u32 field_0x1dc;
|
||||
/* 0x1E0 */ u32 field_0x1e0;
|
||||
/* 0x1E4 */ u32 field_0x1e4;
|
||||
/* 0x1E8 */ u32 field_0x1e8;
|
||||
/* 0x1EC */ u32 field_0x1ec;
|
||||
/* 0x1F0 */ u32 field_0x1f0;
|
||||
/* 0x1F4 */ u32 field_0x1f4;
|
||||
/* 0x1F8 */ u32 field_0x1f8;
|
||||
/* 0x1FC */ u32 field_0x1fc;
|
||||
/* 0x200 */ u8 field_0x200;
|
||||
/* 0x204 */ u32 field_0x204;
|
||||
/* 0x208 */ GXTexRegion field_0x208[8];
|
||||
/* 0x288 */ GXTexRegion field_0x288[8];
|
||||
/* 0x308 */ GXTexRegion field_0x308[8];
|
||||
/* 0x388 */ GXTlutRegion field_0x388[16];
|
||||
/* 0x488 */ GXTlutRegion field_0x488[4];
|
||||
/* 0x4C8 */ GXTexRegionCallback field_0x4c8;
|
||||
/* 0x4CC */ GXTlutRegionCallback field_0x4cc;
|
||||
/* 0x4D0 */ GXAttrType field_0x4d0;
|
||||
/* 0x4D4 */ u8 field_0x4d4;
|
||||
/* 0x4D5 */ u8 field_0x4d5;
|
||||
/* 0x4D8 */ GXProjectionType field_0x4d8;
|
||||
/* 0x4DC */ Mtx field_0x4dc;
|
||||
/* 0x50C */ f32 field_0x50c;
|
||||
/* 0x510 */ f32 field_0x510;
|
||||
/* 0x514 */ u32 field_0x514[8];
|
||||
/* 0x534 */ u32 field_0x534[8];
|
||||
/* 0x554 */ u32 field_0x554;
|
||||
/* 0x558 */ u32 field_0x558[8];
|
||||
/* 0x578 */ u8 field_0x578[0x594 - 0x578];
|
||||
/* 0x594 */ u32 field_0x594;
|
||||
/* 0x598 */ u32 field_0x598;
|
||||
/* 0x59C */ u32 field_0x59c;
|
||||
/* 0x5A0 */ u8 field_0x5a0[4];
|
||||
/* 0x5A4 */ u32 field_0x5a4;
|
||||
/* 0x5A8 */ u8 field_0x5a8;
|
||||
/* 0x5A9 */ u8 field_0x5a9;
|
||||
/* 0x5AA */ u8 field_0x5aa;
|
||||
/* 0x5AB */ u8 field_0x5ab;
|
||||
/* 0x5AC */ u32 field_0x5ac;
|
||||
} GXData; // Size: 0x5B0
|
||||
|
||||
typedef enum _GXZFmt16 {
|
||||
/* 0x0 */ GX_ZC_LINEAR,
|
||||
/* 0x1 */ GX_ZC_NEAR,
|
||||
/* 0x2 */ GX_ZC_MID,
|
||||
/* 0x3 */ GX_ZC_FAR,
|
||||
} GXZFmt16;
|
||||
STATIC_ASSERT(sizeof(GXData) == 0x5B0);
|
||||
|
||||
typedef enum _GXCommand {
|
||||
GX_CMD_LOAD_INDX_A = 0x20,
|
||||
GX_CMD_LOAD_INDX_B = 0x28,
|
||||
GX_CMD_LOAD_INDX_C = 0x30,
|
||||
GX_CMD_LOAD_INDX_D = 0x38,
|
||||
extern GXData* __GXData;
|
||||
|
||||
GX_CMD_LOAD_CP_REG = 0x08,
|
||||
GX_CMD_LOAD_XF_REG = 0x10,
|
||||
} GXCommand;
|
||||
extern u32* __piReg;
|
||||
extern u16* __cpReg;
|
||||
|
||||
#define GX_LOAD_BP_REG 0x61
|
||||
#define GX_NOP 0
|
||||
|
||||
extern "C" {
|
||||
f32 GXGetYScaleFactor(u16 efb_height, u16 xfb_height);
|
||||
u16 GXGetNumXfbLines(u32 efb_height, f32 y_scale);
|
||||
|
||||
@@ -894,7 +142,7 @@ void GXSetBlendMode(GXBlendMode, GXBlendFactor, GXBlendFactor, GXLogicOp);
|
||||
void GXSetVtxAttrFmt(GXVtxFmt, GXAttr, GXCompCnt, GXCompType, u32);
|
||||
void GXClearVtxDesc(void);
|
||||
void GXSetVtxDesc(GXAttr, GXAttrType);
|
||||
void GXSetArray(GXAttr, const void*, u8);
|
||||
void GXSetArray(GXAttr, void*, u8);
|
||||
typedef void (*GXDrawDoneCallback)(void);
|
||||
void GXSetDrawDoneCallback(GXDrawDoneCallback);
|
||||
void GXDrawDone(void);
|
||||
@@ -934,7 +182,7 @@ void GXSetAlphaCompare(GXCompare, u8, GXAlphaOp, GXCompare, u8);
|
||||
void GXSetAlphaUpdate(GXBool);
|
||||
void GXSetChanAmbColor(GXChannelID, GXColor);
|
||||
void GXSetChanMatColor(GXChannelID, GXColor);
|
||||
void GXSetClipMode(GXBool);
|
||||
void GXSetClipMode(GXClipMode);
|
||||
void GXSetCoPlanar(GXBool);
|
||||
void GXSetColorUpdate(GXBool);
|
||||
void GXSetCopyFilter(GXBool, u8[12][2], GXBool, u8[7]);
|
||||
@@ -979,6 +227,9 @@ void GXInitFifoPtrs(GXFifoObj*, void*, void*);
|
||||
void GXSaveCPUFifo(GXFifoObj*);
|
||||
void GXSetMisc(u32 opt, u32 val);
|
||||
void GXInitTexCacheRegion(GXTexRegion* region, GXBool, u32, GXTexCacheSize, u32, GXTexCacheSize);
|
||||
void GXPeekZ(u16 x, u16 y, u32* dst);
|
||||
void __GXSetDirtyState(void);
|
||||
void __GXSendFlushPrim(void);
|
||||
|
||||
#define GFX_FIFO(T) (*(volatile T*)0xCC008000)
|
||||
|
||||
@@ -1022,7 +273,7 @@ inline void GXPosition2s8(s8 x, s8 y) {
|
||||
GFX_FIFO(s8) = y;
|
||||
}
|
||||
|
||||
inline void GXPosition3s16(s16 x, s16 y, s16 z) {
|
||||
inline void i_GXPosition3s16(s16 x, s16 y, s16 z) {
|
||||
GFX_FIFO(s16) = x;
|
||||
GFX_FIFO(s16) = y;
|
||||
GFX_FIFO(s16) = z;
|
||||
@@ -1033,7 +284,10 @@ inline void GXTexCoord2s8(s8 x, s8 y) {
|
||||
GFX_FIFO(s8) = y;
|
||||
}
|
||||
|
||||
inline void GXEnd() {}
|
||||
inline void i_GXEnd() {}
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
#include "dolphin/types.h"
|
||||
|
||||
extern "C" {
|
||||
void GXBeginDisplayList(void* pDL, u32 capacity);
|
||||
void GXBeginDisplayList(void* list, u32 capacity);
|
||||
void GXEndDisplayList(void);
|
||||
void GXCallDisplayList(const void* pDL, u32 size);
|
||||
void GXCallDisplayList(void* list, u32 nbytes);
|
||||
};
|
||||
|
||||
#endif /* GXDISPLAYLIST_H */
|
||||
|
||||
@@ -0,0 +1,779 @@
|
||||
#ifndef GXENUM_H
|
||||
#define GXENUM_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
typedef enum _GXPrimitive {
|
||||
/* 0x80 */ GX_QUADS = 0x80,
|
||||
/* 0x90 */ GX_TRIANGLES = 0x90,
|
||||
/* 0x98 */ GX_TRIANGLESTRIP = 0x98,
|
||||
/* 0xA0 */ GX_TRIANGLEFAN = 0xA0,
|
||||
/* 0xA8 */ GX_LINES = 0xA8,
|
||||
/* 0xB0 */ GX_LINESTRIP = 0xB0,
|
||||
/* 0xB8 */ GX_POINTS = 0xB8,
|
||||
} GXPrimitive;
|
||||
|
||||
typedef enum _GXCullMode {
|
||||
/* 0x0 */ GX_CULL_NONE,
|
||||
/* 0x1 */ GX_CULL_FRONT,
|
||||
/* 0x2 */ GX_CULL_BACK,
|
||||
/* 0x3 */ GX_CULL_ALL
|
||||
} GXCullMode;
|
||||
|
||||
typedef enum _GXBool {
|
||||
/* 0x0 */ GX_FALSE,
|
||||
/* 0x1 */ GX_TRUE,
|
||||
/* 0x0 */ GX_DISABLE = 0,
|
||||
/* 0x1 */ GX_ENABLE
|
||||
} GXBool;
|
||||
|
||||
typedef enum _GXTexMapID {
|
||||
/* 0x000 */ GX_TEXMAP0,
|
||||
/* 0x001 */ GX_TEXMAP1,
|
||||
/* 0x002 */ GX_TEXMAP2,
|
||||
/* 0x003 */ GX_TEXMAP3,
|
||||
/* 0x004 */ GX_TEXMAP4,
|
||||
/* 0x005 */ GX_TEXMAP5,
|
||||
/* 0x006 */ GX_TEXMAP6,
|
||||
/* 0x007 */ GX_TEXMAP7,
|
||||
/* 0x008 */ GX_MAX_TEXMAP,
|
||||
/* 0x0FF */ GX_TEXMAP_NULL = 255,
|
||||
/* 0x100 */ GX_TEXMAP_DISABLE,
|
||||
} GXTexMapID;
|
||||
|
||||
typedef enum _GXTevStageID {
|
||||
/* 0x00 */ GX_TEVSTAGE0,
|
||||
/* 0x01 */ GX_TEVSTAGE1,
|
||||
/* 0x02 */ GX_TEVSTAGE2,
|
||||
/* 0x03 */ GX_TEVSTAGE3,
|
||||
/* 0x04 */ GX_TEVSTAGE4,
|
||||
/* 0x05 */ GX_TEVSTAGE5,
|
||||
/* 0x06 */ GX_TEVSTAGE6,
|
||||
/* 0x07 */ GX_TEVSTAGE7,
|
||||
/* 0x08 */ GX_TEVSTAGE8,
|
||||
/* 0x09 */ GX_TEVSTAGE9,
|
||||
/* 0x0A */ GX_TEVSTAGE10,
|
||||
/* 0x0B */ GX_TEVSTAGE11,
|
||||
/* 0x0C */ GX_TEVSTAGE12,
|
||||
/* 0x0D */ GX_TEVSTAGE13,
|
||||
/* 0x0E */ GX_TEVSTAGE14,
|
||||
/* 0x0F */ GX_TEVSTAGE15,
|
||||
/* 0x10 */ GX_MAX_TEVSTAGE,
|
||||
} GXTevStageID;
|
||||
|
||||
typedef enum _GXTexCoordID {
|
||||
/* 0x00 */ GX_TEXCOORD0,
|
||||
/* 0x01 */ GX_TEXCOORD1,
|
||||
/* 0x02 */ GX_TEXCOORD2,
|
||||
/* 0x03 */ GX_TEXCOORD3,
|
||||
/* 0x04 */ GX_TEXCOORD4,
|
||||
/* 0x05 */ GX_TEXCOORD5,
|
||||
/* 0x06 */ GX_TEXCOORD6,
|
||||
/* 0x07 */ GX_TEXCOORD7,
|
||||
/* 0x08 */ GX_MAXCOORD,
|
||||
/* 0xFF */ GX_TEXCOORD_NULL = 255,
|
||||
} GXTexCoordID;
|
||||
|
||||
typedef enum _GXChannelID {
|
||||
/* 0x00 */ GX_COLOR0,
|
||||
/* 0x01 */ GX_COLOR1,
|
||||
/* 0x02 */ GX_ALPHA0,
|
||||
/* 0x03 */ GX_ALPHA1,
|
||||
/* 0x04 */ GX_COLOR0A0,
|
||||
/* 0x05 */ GX_COLOR1A1,
|
||||
/* 0x06 */ GX_COLOR_ZERO,
|
||||
/* 0x07 */ GX_ALPHA_BUMP,
|
||||
/* 0x08 */ GX_ALPHA_BUMPN,
|
||||
/* 0xFF */ GX_COLOR_NULL = 255,
|
||||
} GXChannelID;
|
||||
|
||||
typedef enum _GXColorSrc {
|
||||
/* 0x0 */ GX_SRC_REG,
|
||||
/* 0x1 */ GX_SRC_VTX,
|
||||
} GXColorSrc;
|
||||
|
||||
typedef enum _GXLightID {
|
||||
/* 0x000 */ GX_LIGHT_NULL = 0,
|
||||
/* 0x001 */ GX_LIGHT0 = 1 << 0,
|
||||
/* 0x002 */ GX_LIGHT1 = 1 << 1,
|
||||
/* 0x004 */ GX_LIGHT2 = 1 << 2,
|
||||
/* 0x008 */ GX_LIGHT3 = 1 << 3,
|
||||
/* 0x010 */ GX_LIGHT4 = 1 << 4,
|
||||
/* 0x020 */ GX_LIGHT5 = 1 << 5,
|
||||
/* 0x040 */ GX_LIGHT6 = 1 << 6,
|
||||
/* 0x080 */ GX_LIGHT7 = 1 << 7,
|
||||
/* 0x100 */ GX_MAX_LIGHT = 1 << 8,
|
||||
} GXLightID;
|
||||
|
||||
typedef enum _GXDiffuseFn {
|
||||
/* 0x0 */ GX_DF_NONE,
|
||||
/* 0x1 */ GX_DF_SIGN,
|
||||
/* 0x2 */ GX_DF_CLAMP,
|
||||
} GXDiffuseFn;
|
||||
|
||||
typedef enum _GXAttnFn {
|
||||
/* 0x0 */ GX_AF_SPEC,
|
||||
/* 0x1 */ GX_AF_SPOT,
|
||||
/* 0x2 */ GX_AF_NONE,
|
||||
} GXAttnFn;
|
||||
|
||||
typedef enum _GXDistAttnFn {
|
||||
/* 0x0 */ GX_DA_OFF,
|
||||
/* 0x1 */ GX_DA_GENTLE,
|
||||
/* 0x2 */ GX_DA_MEDIUM,
|
||||
/* 0x3 */ GX_DA_STEEP
|
||||
} GXDistAttnFn;
|
||||
|
||||
typedef enum _GXSpotFn {
|
||||
/* 0x0 */ GX_SP_OFF,
|
||||
/* 0x1 */ GX_SP_FLAT,
|
||||
/* 0x2 */ GX_SP_COS,
|
||||
/* 0x3 */ GX_SP_COS2,
|
||||
/* 0x4 */ GX_SP_SHARP,
|
||||
/* 0x5 */ GX_SP_RING1,
|
||||
/* 0x6 */ GX_SP_RING2
|
||||
} GXSpotFn;
|
||||
|
||||
typedef enum _GXTevMode {
|
||||
/* 0x0 */ GX_MODULATE,
|
||||
/* 0x1 */ GX_DECAL,
|
||||
/* 0x2 */ GX_BLEND,
|
||||
/* 0x3 */ GX_REPLACE,
|
||||
/* 0x4 */ GX_PASSCLR,
|
||||
} GXTevMode;
|
||||
|
||||
typedef enum _GXBlendMode {
|
||||
/* 0x0 */ GX_BM_NONE,
|
||||
/* 0x1 */ GX_BM_BLEND,
|
||||
/* 0x2 */ GX_BM_LOGIC,
|
||||
/* 0x3 */ GX_BM_SUBTRACT,
|
||||
/* 0x4 */ GX_MAX_BLENDMODE,
|
||||
} GXBlendMode;
|
||||
|
||||
typedef enum _GXBlendFactor {
|
||||
/* 0x0 */ GX_BL_ZERO,
|
||||
/* 0x1 */ GX_BL_ONE,
|
||||
/* 0x2 */ GX_BL_SRC_COLOR,
|
||||
/* 0x2 */ GX_BL_DST_COLOR = 2,
|
||||
/* 0x3 */ GX_BL_INV_SRC_COLOR,
|
||||
/* 0x3 */ GX_BL_INV_DST_COLOR = 3,
|
||||
/* 0x4 */ GX_BL_SRC_ALPHA,
|
||||
/* 0x5 */ GX_BL_INV_SRC_ALPHA,
|
||||
/* 0x6 */ GX_BL_DST_ALPHA,
|
||||
/* 0x7 */ GX_BL_INV_DST_ALPHA,
|
||||
} GXBlendFactor;
|
||||
|
||||
typedef enum _GXLogicOp {
|
||||
/* 0x0 */ GX_LO_CLEAR,
|
||||
/* 0x1 */ GX_LO_AND,
|
||||
/* 0x2 */ GX_LO_REV_AND,
|
||||
/* 0x3 */ GX_LO_COPY,
|
||||
/* 0x4 */ GX_LO_INV_AND,
|
||||
/* 0x5 */ GX_LO_NOOP,
|
||||
/* 0x6 */ GX_LO_XOR,
|
||||
/* 0x7 */ GX_LO_OR,
|
||||
/* 0x8 */ GX_LO_NOR,
|
||||
/* 0x9 */ GX_LO_EQUIV,
|
||||
/* 0xA */ GX_LO_INV,
|
||||
/* 0xB */ GX_LO_REV_OR,
|
||||
/* 0xC */ GX_LO_INV_COPY,
|
||||
/* 0xD */ GX_LO_INV_OR,
|
||||
/* 0xE */ GX_LO_NAND,
|
||||
/* 0xF */ GX_LO_SET,
|
||||
} GXLogicOp;
|
||||
|
||||
typedef enum _GXVtxFmt {
|
||||
/* 0x0 */ GX_VTXFMT0,
|
||||
/* 0x1 */ GX_VTXFMT1,
|
||||
/* 0x2 */ GX_VTXFMT2,
|
||||
/* 0x3 */ GX_VTXFMT3,
|
||||
/* 0x4 */ GX_VTXFMT4,
|
||||
/* 0x5 */ GX_VTXFMT5,
|
||||
/* 0x6 */ GX_VTXFMT6,
|
||||
/* 0x7 */ GX_VTXFMT7,
|
||||
/* 0x8 */ GX_MAX_VTXFMT,
|
||||
} GXVtxFmt;
|
||||
|
||||
typedef enum _GXAttr {
|
||||
/* 0x00 */ GX_VA_PNMTXIDX,
|
||||
/* 0x01 */ GX_VA_TEX0MTXIDX,
|
||||
/* 0x02 */ GX_VA_TEX1MTXIDX,
|
||||
/* 0x03 */ GX_VA_TEX2MTXIDX,
|
||||
/* 0x04 */ GX_VA_TEX3MTXIDX,
|
||||
/* 0x05 */ GX_VA_TEX4MTXIDX,
|
||||
/* 0x06 */ GX_VA_TEX5MTXIDX,
|
||||
/* 0x07 */ GX_VA_TEX6MTXIDX,
|
||||
/* 0x08 */ GX_VA_TEX7MTXIDX,
|
||||
/* 0x09 */ GX_VA_POS,
|
||||
/* 0x0A */ GX_VA_NRM,
|
||||
/* 0x0B */ GX_VA_CLR0,
|
||||
/* 0x0C */ GX_VA_CLR1,
|
||||
/* 0x0D */ GX_VA_TEX0,
|
||||
/* 0x0E */ GX_VA_TEX1,
|
||||
/* 0x0F */ GX_VA_TEX2,
|
||||
/* 0x10 */ GX_VA_TEX3,
|
||||
/* 0x11 */ GX_VA_TEX4,
|
||||
/* 0x12 */ GX_VA_TEX5,
|
||||
/* 0x13 */ GX_VA_TEX6,
|
||||
/* 0x14 */ GX_VA_TEX7,
|
||||
/* 0x15 */ GX_POS_MTX_ARRAY,
|
||||
/* 0x16 */ GX_NRM_MTX_ARRAY,
|
||||
/* 0x17 */ GX_TEX_MTX_ARRAY,
|
||||
/* 0x18 */ GX_LIGHT_ARRAY,
|
||||
/* 0x19 */ GX_VA_NBT,
|
||||
/* 0x1A */ GX_VA_MAX_ATTR,
|
||||
/* 0xFF */ GX_VA_NULL = 255,
|
||||
} GXAttr;
|
||||
|
||||
typedef enum _GXCompCnt {
|
||||
/* 0x0 */ GX_POS_XY = 0,
|
||||
/* 0x1 */ GX_POS_XYZ = 1,
|
||||
/* 0x0 */ GX_NRM_XYZ = 0,
|
||||
/* 0x1 */ GX_NRM_NBT = 1,
|
||||
/* 0x2 */ GX_NRM_NBT3 = 2,
|
||||
/* 0x0 */ GX_CLR_RGB = 0,
|
||||
/* 0x1 */ GX_CLR_RGBA = 1,
|
||||
/* 0x0 */ GX_TEX_S = 0,
|
||||
/* 0x1 */ GX_TEX_ST = 1,
|
||||
} GXCompCnt;
|
||||
|
||||
typedef enum _GXCompType {
|
||||
/* 0x0 */ GX_U8,
|
||||
/* 0x1 */ GX_S8,
|
||||
/* 0x2 */ GX_U16,
|
||||
/* 0x3 */ GX_S16,
|
||||
/* 0x4 */ GX_F32,
|
||||
/* 0x0 */ GX_RGB565 = 0,
|
||||
/* 0x1 */ GX_RGB8,
|
||||
/* 0x2 */ GX_RGBX8,
|
||||
/* 0x3 */ GX_RGBA4,
|
||||
/* 0x4 */ GX_RGBA6,
|
||||
/* 0x5 */ GX_RGBA8,
|
||||
} GXCompType;
|
||||
|
||||
typedef enum _GXAttrType {
|
||||
/* 0x0 */ GX_NONE,
|
||||
/* 0x1 */ GX_DIRECT,
|
||||
/* 0x2 */ GX_INDEX8,
|
||||
/* 0x3 */ GX_INDEX16,
|
||||
} GXAttrType;
|
||||
|
||||
typedef enum _GXTevOp {
|
||||
/* 0x0 */ GX_TEV_ADD,
|
||||
/* 0x1 */ GX_TEV_SUB,
|
||||
/* 0x8 */ GX_TEV_COMP_R8_GT = 8,
|
||||
/* 0x9 */ GX_TEV_COMP_R8_EQ,
|
||||
/* 0xA */ GX_TEV_COMP_GR16_GT,
|
||||
/* 0xB */ GX_TEV_COMP_GR16_EQ,
|
||||
/* 0xC */ GX_TEV_COMP_BGR24_GT,
|
||||
/* 0xD */ GX_TEV_COMP_BGR24_EQ,
|
||||
/* 0xE */ GX_TEV_COMP_A8_GT,
|
||||
/* 0xE */ GX_TEV_COMP_RGB8_GT = 14,
|
||||
/* 0xF */ GX_TEV_COMP_RGB8_EQ,
|
||||
/* 0xF */ GX_TEV_COMP_A8_EQ = 15,
|
||||
} GXTevOp;
|
||||
|
||||
typedef enum _GXTevBias {
|
||||
/* 0x0 */ GX_TB_ZERO,
|
||||
/* 0x1 */ GX_TB_ADDHALF,
|
||||
/* 0x2 */ GX_TB_SUBHALF,
|
||||
/* 0x3 */ GX_MAX_TEVBIAS,
|
||||
} GXTevBias;
|
||||
|
||||
typedef enum _GXTevColorArg {
|
||||
/* 0x0 */ GX_CC_CPREV,
|
||||
/* 0x1 */ GX_CC_APREV,
|
||||
/* 0x2 */ GX_CC_C0,
|
||||
/* 0x3 */ GX_CC_A0,
|
||||
/* 0x4 */ GX_CC_C1,
|
||||
/* 0x5 */ GX_CC_A1,
|
||||
/* 0x6 */ GX_CC_C2,
|
||||
/* 0x7 */ GX_CC_A2,
|
||||
/* 0x8 */ GX_CC_TEXC,
|
||||
/* 0x9 */ GX_CC_TEXA,
|
||||
/* 0xA */ GX_CC_RASC,
|
||||
/* 0xB */ GX_CC_RASA,
|
||||
/* 0xC */ GX_CC_ONE,
|
||||
/* 0xD */ GX_CC_HALF,
|
||||
/* 0xE */ GX_CC_KONST,
|
||||
/* 0xF */ GX_CC_ZERO,
|
||||
} GXTevColorArg;
|
||||
|
||||
typedef enum _GXTevColor {
|
||||
/* 0x0 */ GX_CH_RED,
|
||||
/* 0x1 */ GX_CH_GREEN,
|
||||
/* 0x2 */ GX_CH_BLUE,
|
||||
/* 0x3 */ GX_CH_ALPHA,
|
||||
} GXTevColor;
|
||||
|
||||
typedef enum _GXTevScale {
|
||||
/* 0x0 */ GX_CS_SCALE_1,
|
||||
/* 0x1 */ GX_CS_SCALE_2,
|
||||
/* 0x2 */ GX_CS_SCALE_4,
|
||||
/* 0x3 */ GX_CS_DIVIDE_2,
|
||||
/* 0x4 */ GX_MAX_TEVSCALE
|
||||
} GXTevScale;
|
||||
|
||||
typedef enum _GXTevRegID {
|
||||
/* 0x0 */ GX_TEVPREV,
|
||||
/* 0x1 */ GX_TEVREG0,
|
||||
/* 0x2 */ GX_TEVREG1,
|
||||
/* 0x3 */ GX_TEVREG2,
|
||||
/* 0x4 */ GX_MAX_TEVREG
|
||||
} GXTevRegID;
|
||||
|
||||
typedef enum _GXTevAlphaArg {
|
||||
/* 0x0 */ GX_CA_APREV,
|
||||
/* 0x1 */ GX_CA_A0,
|
||||
/* 0x2 */ GX_CA_A1,
|
||||
/* 0x3 */ GX_CA_A2,
|
||||
/* 0x4 */ GX_CA_TEXA,
|
||||
/* 0x5 */ GX_CA_RASA,
|
||||
/* 0x6 */ GX_CA_KONST,
|
||||
/* 0x7 */ GX_CA_ZERO,
|
||||
} GXTevAlphaArg;
|
||||
|
||||
typedef enum _GXTexFmt {
|
||||
/* 0x0 */ GX_TF_I4,
|
||||
/* 0x1 */ GX_TF_I8,
|
||||
/* 0x2 */ GX_TF_IA4,
|
||||
/* 0x3 */ GX_TF_IA8,
|
||||
/* 0x4 */ GX_TF_RGB565,
|
||||
/* 0x5 */ GX_TF_TGB5A3,
|
||||
/* 0x6 */ GX_TF_RGBA8,
|
||||
/* 0x7 */ GX_TF_CI4,
|
||||
/* 0x8 */ GX_TF_CI8,
|
||||
/* 0x9 */ GX_TF_CI14,
|
||||
/* 0xE */ GX_TF_CMPR = 14,
|
||||
/* 0x10 */ _GX_TF_ZTF = 0x10,
|
||||
/* 0x11 */ GX_TF_Z8 = (0x1 | _GX_TF_ZTF),
|
||||
/* 0x13 */ GX_TF_Z16 = (0x3 | _GX_TF_ZTF),
|
||||
/* 0x16 */ GX_TF_Z24X8 = (0x6 | _GX_TF_ZTF),
|
||||
/* 0x20 */ _GX_TF_CTF = 0x20,
|
||||
/* 0x28 */ _GX_CTF_R8 = 0x28,
|
||||
/* 0x30 */ GX_CTF_Z4 = (0x0 | _GX_TF_ZTF | _GX_TF_CTF),
|
||||
/* 0x39 */ GX_CTF_Z8M = (0x9 | _GX_TF_ZTF | _GX_TF_CTF),
|
||||
/* 0x3A */ GX_CTF_Z8L = (0xA | _GX_TF_ZTF | _GX_TF_CTF),
|
||||
/* 0x3C */ GX_CTF_Z16L = (0xC | _GX_TF_ZTF | _GX_TF_CTF),
|
||||
} GXTexFmt;
|
||||
|
||||
typedef enum _GXGamma {
|
||||
/* 0x0 */ GX_GM_1_0,
|
||||
/* 0x0 */ GX_GM_1_7,
|
||||
/* 0x0 */ GX_GM_2_2,
|
||||
} GXGamma;
|
||||
|
||||
typedef enum _GXTlutFmt {
|
||||
/* 0x0 */ GX_TL_IA8,
|
||||
/* 0x1 */ GX_TL_RGB565,
|
||||
/* 0x2 */ GX_TL_RGB5A3,
|
||||
} GXTlutFmt;
|
||||
|
||||
typedef enum _GXTlut {
|
||||
/* 0x00 */ GX_TLUT0,
|
||||
/* 0x01 */ GX_TLUT1,
|
||||
/* 0x02 */ GX_TLUT2,
|
||||
/* 0x03 */ GX_TLUT3,
|
||||
/* 0x04 */ GX_TLUT4,
|
||||
/* 0x05 */ GX_TLUT5,
|
||||
/* 0x06 */ GX_TLUT6,
|
||||
/* 0x07 */ GX_TLUT7,
|
||||
/* 0x08 */ GX_TLUT8,
|
||||
/* 0x09 */ GX_TLUT9,
|
||||
/* 0x0A */ GX_TLUT10,
|
||||
/* 0x0B */ GX_TLUT11,
|
||||
/* 0x0C */ GX_TLUT12,
|
||||
/* 0x0D */ GX_TLUT13,
|
||||
/* 0x0E */ GX_TLUT14,
|
||||
/* 0x0F */ GX_TLUT15,
|
||||
/* 0x10 */ GX_BIGTLUT0,
|
||||
/* 0x11 */ GX_BIGTLUT1,
|
||||
/* 0x12 */ GX_BIGTLUT2,
|
||||
/* 0x13 */ GX_BIGTLUT3,
|
||||
} GXTlut;
|
||||
|
||||
/* 8-bit version of GXTexFmt for use in structures */
|
||||
typedef enum _GXTexFmt8 {
|
||||
/* 0x20 */ GX_CTF_R4 = (0x0 | _GX_TF_CTF),
|
||||
/* 0x22 */ GX_CTF_RA4 = (0x2 | _GX_TF_CTF),
|
||||
/* 0x23 */ GX_CTF_RA8 = (0x3 | _GX_TF_CTF),
|
||||
/* 0x26 */ GX_CTF_YUVA8 = (0x6 | _GX_TF_CTF),
|
||||
/* 0x27 */ GX_CTF_A8 = (0x7 | _GX_TF_CTF),
|
||||
/* 0x28 */ GX_CTF_R8 = (0x8 | _GX_TF_CTF),
|
||||
/* 0x29 */ GX_CTF_G8 = (0x9 | _GX_TF_CTF),
|
||||
/* 0x2A */ GX_CTF_B8 = (0xA | _GX_TF_CTF),
|
||||
/* 0x2B */ GX_CTF_RG8 = (0xB | _GX_TF_CTF),
|
||||
/* 0x2C */ GX_CTF_GB8 = (0xC | _GX_TF_CTF),
|
||||
} GXTexFmt8;
|
||||
|
||||
typedef enum _GXTexWrapMode {
|
||||
/* 0x0 */ GX_CLAMP,
|
||||
/* 0x1 */ GX_REPEAT,
|
||||
/* 0x2 */ GX_MIRROR,
|
||||
/* 0x3 */ GX_MAX_TEXWRAP_MODE,
|
||||
} GXTexWrapMode;
|
||||
|
||||
typedef enum _GXTexFilter {
|
||||
/* 0x0 */ GX_NEAR,
|
||||
/* 0x1 */ GX_LINEAR,
|
||||
/* 0x2 */ GX_NEAR_MIP_NEAR,
|
||||
/* 0x3 */ GX_LIN_MIP_NEAR,
|
||||
/* 0x4 */ GX_NEAR_MIP_LIN,
|
||||
/* 0x5 */ GX_LIN_MIP_LIN,
|
||||
} GXTexFilter;
|
||||
|
||||
typedef enum _GXAnisotropy {
|
||||
/* 0x0 */ GX_ANISO_1,
|
||||
/* 0x1 */ GX_ANISO_2,
|
||||
/* 0x2 */ GX_ANISO_4,
|
||||
/* 0x3 */ GX_MAX_ANISOTROPY,
|
||||
} GXAnisotropy;
|
||||
|
||||
enum GXCITexFmt {
|
||||
/* 0x8 */ GX_TF_C4 = 8,
|
||||
/* 0x8 */ GX_TF_C8,
|
||||
/* 0xA */ GX_TF_C14X2
|
||||
};
|
||||
|
||||
typedef enum _GXTexMtxType {
|
||||
/* 0x0 */ GX_MTX3x4,
|
||||
/* 0x1 */ GX_MTX2x4
|
||||
} GXTexMtxType;
|
||||
|
||||
typedef enum _GXCompare {
|
||||
/* 0x0 */ GX_NEVER,
|
||||
/* 0x1 */ GX_LESS,
|
||||
/* 0x2 */ GX_EQUAL,
|
||||
/* 0x3 */ GX_LEQUAL,
|
||||
/* 0x4 */ GX_GREATER,
|
||||
/* 0x5 */ GX_NEQUAL,
|
||||
/* 0x6 */ GX_GEQUAL,
|
||||
/* 0x7 */ GX_ALWAYS,
|
||||
} GXCompare;
|
||||
|
||||
typedef enum _GXAlphaOp {
|
||||
/* 0x0 */ GX_AOP_AND,
|
||||
/* 0x1 */ GX_AOP_OR,
|
||||
/* 0x2 */ GX_AOP_XOR,
|
||||
/* 0x3 */ GX_AOP_XNOR,
|
||||
/* 0x4 */ GX_MAX_ALPHAOP
|
||||
} GXAlphaOp;
|
||||
|
||||
typedef enum _GXFogType {
|
||||
/* 0x0 */ GX_FOG_NONE,
|
||||
/* 0x2 */ GX_FOG_LIN = 2,
|
||||
/* 0x2 */ GX_FOG_PERSP_LIN = 2,
|
||||
/* 0x4 */ GX_FOG_EXP = 4,
|
||||
/* 0x4 */ GX_FOG_PERSP_EXP = 4,
|
||||
/* 0x5 */ GX_FOG_EXP2,
|
||||
/* 0x5 */ GX_FOG_PERSP_EXP2 = 5,
|
||||
/* 0x6 */ GX_FOG_REVEXP,
|
||||
/* 0x6 */ GX_FOG_PERSP_REVEXP = 6,
|
||||
/* 0x7 */ GX_FOG_REVEXP2,
|
||||
/* 0x7 */ GX_FOG_PERSP_REVEXP2 = 7,
|
||||
/* 0xA */ GX_FOG_ORTHO_LIN = 10,
|
||||
/* 0xC */ GX_FOG_ORTHO_EXP = 12,
|
||||
/* 0xD */ GX_FOG_ORTHO_EXP2,
|
||||
/* 0xE */ GX_FOG_ORTHO_REVEXP,
|
||||
/* 0xF */ GX_FOG_ORTHO_REVEXP2,
|
||||
} GXFogType;
|
||||
|
||||
typedef enum _GXProjectionType {
|
||||
/* 0x0 */ GX_PERSPECTIVE,
|
||||
/* 0x1 */ GX_ORTHOGRAPHIC
|
||||
} GXProjectionType;
|
||||
|
||||
typedef enum _GXTevKAlphaSel {
|
||||
/* 0x00 */ GX_TEV_KASEL_1,
|
||||
/* 0x01 */ GX_TEV_KASEL_7_8,
|
||||
/* 0x02 */ GX_TEV_KASEL_3_4,
|
||||
/* 0x03 */ GX_TEV_KASEL_5_8,
|
||||
/* 0x04 */ GX_TEV_KASEL_1_2,
|
||||
/* 0x05 */ GX_TEV_KASEL_3_8,
|
||||
/* 0x06 */ GX_TEV_KASEL_1_4,
|
||||
/* 0x07 */ GX_TEV_KASEL_1_8,
|
||||
|
||||
/* 0x10 */ GX_TEV_KASEL_K0_R = 0x10,
|
||||
/* 0x11 */ GX_TEV_KASEL_K1_R,
|
||||
/* 0x12 */ GX_TEV_KASEL_K2_R,
|
||||
/* 0x13 */ GX_TEV_KASEL_K3_R,
|
||||
/* 0x14 */ GX_TEV_KASEL_K0_G,
|
||||
/* 0x15 */ GX_TEV_KASEL_K1_G,
|
||||
/* 0x16 */ GX_TEV_KASEL_K2_G,
|
||||
/* 0x17 */ GX_TEV_KASEL_K3_G,
|
||||
/* 0x18 */ GX_TEV_KASEL_K0_B,
|
||||
/* 0x19 */ GX_TEV_KASEL_K1_B,
|
||||
/* 0x1A */ GX_TEV_KASEL_K2_B,
|
||||
/* 0x1B */ GX_TEV_KASEL_K3_B,
|
||||
/* 0x1C */ GX_TEV_KASEL_K0_A,
|
||||
/* 0x1D */ GX_TEV_KASEL_K1_A,
|
||||
/* 0x1E */ GX_TEV_KASEL_K2_A,
|
||||
/* 0x1F */ GX_TEV_KASEL_K3_A,
|
||||
} GXTevKAlphaSel;
|
||||
|
||||
typedef enum _GXTevKColorSel {
|
||||
/* 0x00 */ GX_TEV_KCSEL_1,
|
||||
/* 0x01 */ GX_TEV_KCSEL_7_8,
|
||||
/* 0x02 */ GX_TEV_KCSEL_3_4,
|
||||
/* 0x03 */ GX_TEV_KCSEL_5_8,
|
||||
/* 0x04 */ GX_TEV_KCSEL_1_2,
|
||||
/* 0x05 */ GX_TEV_KCSEL_3_8,
|
||||
/* 0x06 */ GX_TEV_KCSEL_1_4,
|
||||
/* 0x07 */ GX_TEV_KCSEL_1_8,
|
||||
/* 0x0C */ GX_TEV_KCSEL_K0 = 0xC,
|
||||
/* 0x0D */ GX_TEV_KCSEL_K1,
|
||||
/* 0x0E */ GX_TEV_KCSEL_K2,
|
||||
/* 0x0F */ GX_TEV_KCSEL_K3,
|
||||
/* 0x10 */ GX_TEV_KCSEL_K0_R,
|
||||
/* 0x11 */ GX_TEV_KCSEL_K1_R,
|
||||
/* 0x12 */ GX_TEV_KCSEL_K2_R,
|
||||
/* 0x13 */ GX_TEV_KCSEL_K3_R,
|
||||
/* 0x14 */ GX_TEV_KCSEL_K0_G,
|
||||
/* 0x15 */ GX_TEV_KCSEL_K1_G,
|
||||
/* 0x16 */ GX_TEV_KCSEL_K2_G,
|
||||
/* 0x17 */ GX_TEV_KCSEL_K3_G,
|
||||
/* 0x18 */ GX_TEV_KCSEL_K0_B,
|
||||
/* 0x19 */ GX_TEV_KCSEL_K1_B,
|
||||
/* 0x1A */ GX_TEV_KCSEL_K2_B,
|
||||
/* 0x1B */ GX_TEV_KCSEL_K3_B,
|
||||
/* 0x1C */ GX_TEV_KCSEL_K0_A,
|
||||
/* 0x1D */ GX_TEV_KCSEL_K1_A,
|
||||
/* 0x1E */ GX_TEV_KCSEL_K2_A,
|
||||
/* 0x1F */ GX_TEV_KCSEL_K3_A,
|
||||
} GXTevKColorSel;
|
||||
|
||||
typedef enum _GXTevSwapSel {
|
||||
/* 0x0 */ GX_TEV_SWAP0,
|
||||
/* 0x1 */ GX_TEV_SWAP1,
|
||||
/* 0x2 */ GX_TEV_SWAP2,
|
||||
/* 0x3 */ GX_TEV_SWAP3,
|
||||
/* 0x4 */ GX_MAX_TEVSWAP,
|
||||
} GXTevSwapSel;
|
||||
|
||||
typedef enum _GXTexGenType {
|
||||
/* 0x0 */ GX_TG_MTX3x4,
|
||||
/* 0x1 */ GX_TG_MTX2x4,
|
||||
/* 0x2 */ GX_TG_BUMP0,
|
||||
/* 0x3 */ GX_TG_BUMP1,
|
||||
/* 0x4 */ GX_TG_BUMP2,
|
||||
/* 0x5 */ GX_TG_BUMP3,
|
||||
/* 0x6 */ GX_TG_BUMP4,
|
||||
/* 0x7 */ GX_TG_BUMP5,
|
||||
/* 0x8 */ GX_TG_BUMP6,
|
||||
/* 0x9 */ GX_TG_BUMP7,
|
||||
/* 0xA */ GX_TG_SRTG,
|
||||
} GXTexGenType;
|
||||
|
||||
typedef enum _GXTexGenSrc {
|
||||
/* 0x00 */ GX_TG_POS,
|
||||
/* 0x01 */ GX_TG_NRM,
|
||||
/* 0x02 */ GX_TG_BINRM,
|
||||
/* 0x03 */ GX_TG_TANGENT,
|
||||
/* 0x04 */ GX_TG_TEX0,
|
||||
/* 0x05 */ GX_TG_TEX1,
|
||||
/* 0x06 */ GX_TG_TEX2,
|
||||
/* 0x07 */ GX_TG_TEX3,
|
||||
/* 0x08 */ GX_TG_TEX4,
|
||||
/* 0x09 */ GX_TG_TEX5,
|
||||
/* 0x0A */ GX_TG_TEX6,
|
||||
/* 0x0B */ GX_TG_TEX7,
|
||||
/* 0x0C */ GX_TG_TEXCOORD0,
|
||||
/* 0x0D */ GX_TG_TEXCOORD1,
|
||||
/* 0x0E */ GX_TG_TEXCOORD2,
|
||||
/* 0x0F */ GX_TG_TEXCOORD3,
|
||||
/* 0x10 */ GX_TG_TEXCOORD4,
|
||||
/* 0x11 */ GX_TG_TEXCOORD5,
|
||||
/* 0x12 */ GX_TG_TEXCOORD6,
|
||||
} GXTexGenSrc;
|
||||
|
||||
typedef enum _GXZTexOp {
|
||||
/* 0x0 */ GX_ZT_DISABLE,
|
||||
/* 0x1 */ GX_ZT_ADD,
|
||||
/* 0x2 */ GX_ZT_REPLACE,
|
||||
/* 0x3 */ GX_MAX_ZTEXOP,
|
||||
} GXZTexOp;
|
||||
|
||||
typedef enum _GXIndTexStageID {
|
||||
/* 0x0 */ GX_INDTEXSTAGE0,
|
||||
/* 0x1 */ GX_INDTEXSTAGE1,
|
||||
/* 0x2 */ GX_INDTEXSTAGE2,
|
||||
/* 0x3 */ GX_INDTEXSTAGE3,
|
||||
/* 0x4 */ GX_MAX_INDTEXSTAGE,
|
||||
} GXIndTexStageID;
|
||||
|
||||
typedef enum _GXIndTexScale {
|
||||
/* 0x0 */ GX_ITS_1,
|
||||
/* 0x1 */ GX_ITS_2,
|
||||
/* 0x2 */ GX_ITS_4,
|
||||
/* 0x3 */ GX_ITS_8,
|
||||
/* 0x4 */ GX_ITS_16,
|
||||
/* 0x5 */ GX_ITS_32,
|
||||
/* 0x6 */ GX_ITS_64,
|
||||
/* 0x7 */ GX_ITS_128,
|
||||
/* 0x8 */ GX_ITS_256,
|
||||
/* 0x9 */ GX_MAX_ITSCALE,
|
||||
} GXIndTexScale;
|
||||
|
||||
typedef enum _GXIndTexMtxID {
|
||||
/* 0x0 */ GX_ITM_OFF,
|
||||
/* 0x1 */ GX_ITM_0,
|
||||
/* 0x2 */ GX_ITM_1,
|
||||
/* 0x3 */ GX_ITM_2,
|
||||
/* 0x5 */ GX_ITM_S0 = 5,
|
||||
/* 0x6 */ GX_ITM_S1,
|
||||
/* 0x7 */ GX_ITM_S2,
|
||||
/* 0x9 */ GX_ITM_T0 = 9,
|
||||
/* 0xA */ GX_ITM_T1,
|
||||
/* 0xB */ GX_ITM_T2,
|
||||
} GXIndTexMtxID;
|
||||
|
||||
typedef enum _GXIndTexFormat {
|
||||
/* 0x0 */ GX_ITF_8,
|
||||
/* 0x1 */ GX_ITF_5,
|
||||
/* 0x2 */ GX_ITF_4,
|
||||
/* 0x3 */ GX_ITF_3,
|
||||
} GXIndTexFormat;
|
||||
|
||||
typedef enum _GXIndTexBiasSel {
|
||||
/* 0x0 */ GX_ITB_NONE,
|
||||
/* 0x1 */ GX_ITB_S,
|
||||
/* 0x2 */ GX_ITB_T,
|
||||
/* 0x3 */ GX_ITB_ST,
|
||||
/* 0x4 */ GX_ITB_U,
|
||||
/* 0x5 */ GX_ITB_SU,
|
||||
/* 0x6 */ GX_ITB_TU,
|
||||
/* 0x7 */ GX_ITB_STU,
|
||||
} GXIndTexBiasSel;
|
||||
|
||||
typedef enum _GXIndTexAlphaSel {
|
||||
/* 0x0 */ GX_ITBA_OFF,
|
||||
/* 0x1 */ GX_ITBA_S,
|
||||
/* 0x2 */ GX_ITBA_T,
|
||||
/* 0x3 */ GX_ITBA_U,
|
||||
} GXIndTexAlphaSel;
|
||||
|
||||
typedef enum _GXIndTexWrap {
|
||||
/* 0x0 */ GX_ITW_OFF,
|
||||
/* 0x1 */ GX_ITW_256,
|
||||
/* 0x2 */ GX_ITW_128,
|
||||
/* 0x3 */ GX_ITW_64,
|
||||
/* 0x4 */ GX_ITW_32,
|
||||
/* 0x5 */ GX_ITW_16,
|
||||
/* 0x6 */ GX_ITW_0,
|
||||
} GXIndTexWrap;
|
||||
|
||||
typedef enum _GXTexOffset {
|
||||
/* 0x0 */ GX_TO_ZERO,
|
||||
/* 0x1 */ GX_TO_SIXTEENTH,
|
||||
/* 0x2 */ GX_TO_EIGHTH,
|
||||
/* 0x3 */ GX_TO_FOURTH,
|
||||
/* 0x4 */ GX_TO_HALF,
|
||||
/* 0x5 */ GX_TO_ONE,
|
||||
/* 0x6 */ GX_MAX_TEXOFFSET,
|
||||
} GXTexOffset;
|
||||
|
||||
typedef enum _GXTevKColorID {
|
||||
/* 0x0 */ GX_KCOLOR0,
|
||||
/* 0x1 */ GX_KCOLOR1,
|
||||
/* 0x2 */ GX_KCOLOR2,
|
||||
/* 0x3 */ GX_KCOLOR3,
|
||||
} GXTevKColorID;
|
||||
|
||||
typedef enum _GXTexCacheSize {
|
||||
/* 0x0 */ GX_TEXCACHE_32K,
|
||||
/* 0x1 */ GX_TEXCACHE_128K,
|
||||
/* 0x2 */ GX_TEXCACHE_512K,
|
||||
/* 0x3 */ GX_TEXCACHE_NONE,
|
||||
} GXTexCacheSize;
|
||||
|
||||
typedef enum _GXPosNrmMtx {
|
||||
GX_PNMTX0 = 3 * 0,
|
||||
GX_PNMTX1 = 3 * 1,
|
||||
GX_PNMTX2 = 3 * 2,
|
||||
GX_PNMTX3 = 3 * 3,
|
||||
GX_PNMTX4 = 3 * 4,
|
||||
GX_PNMTX5 = 3 * 5,
|
||||
GX_PNMTX6 = 3 * 6,
|
||||
GX_PNMTX7 = 3 * 7,
|
||||
GX_PNMTX8 = 3 * 8,
|
||||
GX_PNMTX9 = 3 * 9,
|
||||
} GXPosNrmMtx;
|
||||
|
||||
typedef enum _GXTexMtx {
|
||||
GX_TEXMTX0 = 30 + 0 * 3,
|
||||
GX_TEXMTX1 = 30 + 1 * 3,
|
||||
GX_TEXMTX2 = 30 + 2 * 3,
|
||||
GX_TEXMTX3 = 30 + 3 * 3,
|
||||
GX_TEXMTX4 = 30 + 4 * 3,
|
||||
GX_TEXMTX5 = 30 + 5 * 3,
|
||||
GX_TEXMTX6 = 30 + 6 * 3,
|
||||
GX_TEXMTX7 = 30 + 7 * 3,
|
||||
GX_TEXMTX8 = 30 + 8 * 3,
|
||||
GX_TEXMTX9 = 30 + 9 * 3,
|
||||
GX_IDENTITY = 60,
|
||||
};
|
||||
|
||||
typedef enum _GXPTTexMtx {
|
||||
GX_PTTEXMTX0 = 64 + 0 * 3,
|
||||
GX_PTTEXMTX1 = 64 + 1 * 3,
|
||||
GX_PTTEXMTX2 = 64 + 2 * 3,
|
||||
GX_PTTEXMTX3 = 64 + 3 * 3,
|
||||
GX_PTTEXMTX4 = 64 + 4 * 3,
|
||||
GX_PTTEXMTX5 = 64 + 5 * 3,
|
||||
GX_PTTEXMTX6 = 64 + 6 * 3,
|
||||
GX_PTTEXMTX7 = 64 + 7 * 3,
|
||||
GX_PTTEXMTX8 = 64 + 8 * 3,
|
||||
GX_PTTEXMTX9 = 64 + 9 * 3,
|
||||
GX_PTTEXMTX10 = 64 + 10 * 3,
|
||||
GX_PTTEXMTX11 = 64 + 11 * 3,
|
||||
GX_PTTEXMTX12 = 64 + 12 * 3,
|
||||
GX_PTTEXMTX13 = 64 + 13 * 3,
|
||||
GX_PTTEXMTX14 = 64 + 14 * 3,
|
||||
GX_PTTEXMTX15 = 64 + 15 * 3,
|
||||
GX_PTTEXMTX16 = 64 + 16 * 3,
|
||||
GX_PTTEXMTX17 = 64 + 17 * 3,
|
||||
GX_PTTEXMTX18 = 64 + 18 * 3,
|
||||
GX_PTTEXMTX19 = 64 + 19 * 3,
|
||||
GX_PTIDENTITY = 125,
|
||||
};
|
||||
|
||||
typedef enum _GXFBClamp {
|
||||
/* 0x0 */ GX_CLAMP_NONE,
|
||||
/* 0x1 */ GX_CLAMP_TOP,
|
||||
/* 0x2 */ GX_CLAMP_BOTTOM,
|
||||
} GXFBClamp;
|
||||
|
||||
typedef enum _GXPixelFmt {
|
||||
/* 0x0 */ GX_PF_RGB8_Z24,
|
||||
/* 0x1 */ GX_PF_RGBA6_Z24,
|
||||
/* 0x2 */ GX_PF_RGB565_Z16,
|
||||
/* 0x3 */ GX_PF_Z24,
|
||||
/* 0x4 */ GX_PF_Y8,
|
||||
/* 0x5 */ GX_PF_U8,
|
||||
/* 0x6 */ GX_PF_V8,
|
||||
/* 0x7 */ GX_PF_YUV420,
|
||||
} GXPixelFmt;
|
||||
|
||||
typedef enum _GXZFmt16 {
|
||||
/* 0x0 */ GX_ZC_LINEAR,
|
||||
/* 0x1 */ GX_ZC_NEAR,
|
||||
/* 0x2 */ GX_ZC_MID,
|
||||
/* 0x3 */ GX_ZC_FAR,
|
||||
} GXZFmt16;
|
||||
|
||||
typedef enum _GXCommand {
|
||||
GX_CMD_LOAD_INDX_A = 0x20,
|
||||
GX_CMD_LOAD_INDX_B = 0x28,
|
||||
GX_CMD_LOAD_INDX_C = 0x30,
|
||||
GX_CMD_LOAD_INDX_D = 0x38,
|
||||
|
||||
GX_CMD_LOAD_CP_REG = 0x08,
|
||||
GX_CMD_LOAD_XF_REG = 0x10,
|
||||
} GXCommand;
|
||||
|
||||
typedef enum _GXClipMode {
|
||||
/* 0x0 */ GX_CLIP_ENABLE,
|
||||
/* 0x1 */ GX_CLIP_DISABLE,
|
||||
} GXClipMode;
|
||||
|
||||
#endif /* GXENUM_H */
|
||||
@@ -0,0 +1,89 @@
|
||||
#ifndef GXSTRUCT_H
|
||||
#define GXSTRUCT_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "global.h"
|
||||
|
||||
typedef struct _GXColor {
|
||||
/* 0x0 */ u8 r;
|
||||
/* 0x1 */ u8 g;
|
||||
/* 0x2 */ u8 b;
|
||||
/* 0x3 */ u8 a;
|
||||
} GXColor;
|
||||
|
||||
typedef struct _GXColorS10 {
|
||||
/* 0x0 */ s16 r;
|
||||
/* 0x2 */ s16 g;
|
||||
/* 0x4 */ s16 b;
|
||||
/* 0x6 */ s16 a;
|
||||
} GXColorS10;
|
||||
|
||||
typedef struct _GXRenderModeObj {
|
||||
/* 0x00 */ s32 vi_tv_mode;
|
||||
/* 0x04 */ u16 fb_width;
|
||||
/* 0x06 */ u16 efb_height;
|
||||
/* 0x08 */ u16 xfb_height;
|
||||
/* 0x0A */ u16 vi_x_origin;
|
||||
/* 0x0C */ u16 vi_y_origin;
|
||||
/* 0x0E */ u16 vi_width;
|
||||
/* 0x10 */ u16 vi_height;
|
||||
/* 0x14 */ s32 xfb_mode;
|
||||
/* 0x18 */ u8 field_rendering;
|
||||
/* 0x19 */ u8 antialiasing;
|
||||
/* 0x1A */ u8 sample_pattern[12][2];
|
||||
/* 0x32 */ u8 vfilter[7];
|
||||
} GXRenderModeObj;
|
||||
|
||||
STATIC_ASSERT(sizeof(_GXRenderModeObj) == 60);
|
||||
|
||||
typedef struct _GXTexObj {
|
||||
/* 0x00 */ u32 texture_filter;
|
||||
/* 0x04 */ u32 texture_lod;
|
||||
/* 0x08 */ u32 texture_size;
|
||||
/* 0x0C */ u32 texture_address;
|
||||
/* 0x10 */ u32 user_data;
|
||||
/* 0x14 */ u32 texture_format;
|
||||
/* 0x18 */ u32 tlut_name;
|
||||
/* 0x1C */ u16 texture_time_count;
|
||||
/* 0x1E */ u8 texture_tile_type;
|
||||
/* 0x1F */ u8 texture_flags;
|
||||
} GXTexObj;
|
||||
|
||||
typedef struct _GXTlutObj {
|
||||
/* 0x0 */ u32 format;
|
||||
/* 0x4 */ u32 address;
|
||||
/* 0x8 */ u32 numEntries;
|
||||
} GXTlutObj;
|
||||
|
||||
typedef struct _GXLightObj {
|
||||
/* 0x0 */ u32 data[16];
|
||||
} GXLightObj;
|
||||
|
||||
typedef struct _GXFogAdjTable {
|
||||
/* 0x0 */ u16 r[10];
|
||||
} GXFogAdjTable;
|
||||
|
||||
typedef struct _GXFifoObj {
|
||||
/* 0x00 */ void* base;
|
||||
/* 0x04 */ u32 end;
|
||||
/* 0x08 */ u32 size;
|
||||
/* 0x0C */ u32 high_wtrmark;
|
||||
/* 0x10 */ u32 low_wtrmark;
|
||||
/* 0x14 */ void* read_ptr;
|
||||
/* 0x18 */ void* write_ptr;
|
||||
/* 0x1C */ void* rw_dst;
|
||||
/* 0x20 */ u8 fifo_wrap;
|
||||
/* 0x21 */ u8 cpu_fifo_ready;
|
||||
/* 0x22 */ u8 gp_fifo_ready;
|
||||
/* 0x23 */ u8 field_0x23[93];
|
||||
} GXFifoObj; // Size: 0x80
|
||||
|
||||
typedef struct _GXTexRegion {
|
||||
/* 0x00 */ u8 dummy[0x10];
|
||||
} GXTexRegion; // Size: 0x10
|
||||
|
||||
typedef struct _GXTlutRegion {
|
||||
/* 0x00 */ u8 dummy[0x10];
|
||||
} GXTlutRegion; // Size: 0x10
|
||||
|
||||
#endif /* GXSTRUCT_H */
|
||||
+57
-216
@@ -1,236 +1,81 @@
|
||||
// at some point: we should split this up into various OS/... headers. but not
|
||||
// yet, since barely any files include this atm.
|
||||
|
||||
#ifndef OS_H_
|
||||
#define OS_H_
|
||||
|
||||
#include "Runtime.PPCEABI.H/__va_arg.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
#include "Runtime.PPCEABI.H/__va_arg.h"
|
||||
#include "dolphin/os/OSAlarm.h"
|
||||
#include "dolphin/os/OSAlloc.h"
|
||||
#include "dolphin/os/OSArena.h"
|
||||
#include "dolphin/os/OSAudioSystem.h"
|
||||
#include "dolphin/os/OSCache.h"
|
||||
#include "dolphin/os/OSContext.h"
|
||||
#include "dolphin/os/OSError.h"
|
||||
#include "dolphin/os/OSExec.h"
|
||||
#include "dolphin/os/OSFont.h"
|
||||
#include "dolphin/os/OSInterrupt.h"
|
||||
#include "dolphin/os/OSLink.h"
|
||||
#include "dolphin/os/OSMemory.h"
|
||||
#include "dolphin/os/OSMessage.h"
|
||||
#include "dolphin/os/OSMutex.h"
|
||||
#include "dolphin/os/OSReboot.h"
|
||||
#include "dolphin/os/OSReset.h"
|
||||
#include "dolphin/os/OSResetSW.h"
|
||||
#include "dolphin/os/OSRtc.h"
|
||||
#include "dolphin/os/OSSync.h"
|
||||
#include "dolphin/os/OSThread.h"
|
||||
#include "dolphin/os/OSTime.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define OS_BUS_CLOCK (*(u32*)0x800000F8)
|
||||
#define OS_CORE_CLOCK (*(u32*)0x800000FC)
|
||||
#define OS_TIMER_CLOCK (OS_BUS_CLOCK / 4)
|
||||
|
||||
/* TODO: more structs, and get rid of the ones that are faked! */
|
||||
|
||||
#define OS_MESSAGE_NON_BLOCKING 0
|
||||
#define OS_MESSAGE_BLOCKING 1
|
||||
|
||||
struct OSThread;
|
||||
struct OSMutex {
|
||||
u8 unk[24];
|
||||
};
|
||||
|
||||
struct OSMutexLink {
|
||||
struct OSMutex* prev;
|
||||
struct OSMutex* next;
|
||||
};
|
||||
|
||||
struct OSMutexQueue {
|
||||
struct OSMutex* prev;
|
||||
struct OSMutex* next;
|
||||
};
|
||||
|
||||
struct OSContext {
|
||||
u32 gpr[32];
|
||||
u32 cr;
|
||||
u32 lr;
|
||||
u32 ctr;
|
||||
u32 xer;
|
||||
double fpr[32];
|
||||
u32 padding_1;
|
||||
u32 fpscr;
|
||||
u32 srr0;
|
||||
u32 srr1;
|
||||
u16 mode;
|
||||
u16 state;
|
||||
u32 gqr[8];
|
||||
u32 padding_2;
|
||||
double ps[32];
|
||||
};
|
||||
|
||||
typedef void (*OSSwitchThreadCallback)(OSThread* from, OSThread* to);
|
||||
|
||||
struct OSThreadLink {
|
||||
struct OSThread* prev;
|
||||
struct OSThread* next;
|
||||
};
|
||||
|
||||
struct OSThreadQueue {
|
||||
struct OSThread* head;
|
||||
struct OSThread* tail;
|
||||
};
|
||||
|
||||
struct OSCond {
|
||||
struct OSThreadQueue queue;
|
||||
};
|
||||
|
||||
typedef void* OSMessage;
|
||||
|
||||
struct OSMessageQueue {
|
||||
struct OSThreadQueue sending_queue;
|
||||
struct OSThreadQueue receiving_queue;
|
||||
void** message_array;
|
||||
s32 num_messages;
|
||||
s32 first_index;
|
||||
s32 num_used;
|
||||
};
|
||||
|
||||
typedef u32 OSTick;
|
||||
|
||||
typedef s64 OSTime;
|
||||
|
||||
struct OSCalendarTime {
|
||||
s32 seconds;
|
||||
s32 minutes;
|
||||
s32 hours;
|
||||
s32 day_of_month;
|
||||
s32 month;
|
||||
s32 year;
|
||||
s32 week_day;
|
||||
s32 year_day;
|
||||
s32 milliseconds;
|
||||
s32 microseconds;
|
||||
};
|
||||
|
||||
typedef s32 OSHeapHandle;
|
||||
|
||||
typedef enum OSSoundMode {
|
||||
SOUND_MODE_MONO = 0,
|
||||
SOUND_MODE_STEREO = 1,
|
||||
} OSSoundMode;
|
||||
|
||||
typedef u16 OSThreadState;
|
||||
#define OS_THREAD_STATE_UNINITIALIZED 0
|
||||
#define OS_THREAD_STATE_READY 1
|
||||
#define OS_THREAD_STATE_RUNNING 2
|
||||
#define OS_THREAD_STATE_WAITING 4
|
||||
#define OS_THREAD_STATE_DEAD 8
|
||||
|
||||
struct OSThread {
|
||||
OSContext context;
|
||||
OSThreadState state;
|
||||
u16 attributes;
|
||||
s32 suspend_count;
|
||||
u32 effective_priority;
|
||||
u32 base_priority;
|
||||
void* exit_value;
|
||||
OSThreadQueue* queue;
|
||||
OSThreadLink link;
|
||||
OSThreadQueue join_queue;
|
||||
OSMutex* mutex;
|
||||
OSMutexQueue owned_mutexes;
|
||||
OSThreadLink active_threads_link;
|
||||
u8* stack_base;
|
||||
u8* stack_end;
|
||||
u8* error_code;
|
||||
void* data[2];
|
||||
};
|
||||
|
||||
struct OSAlarm;
|
||||
struct OSAlarmLink {
|
||||
/* 0x0 */ OSAlarm* prev;
|
||||
/* 0x4 */ OSAlarm* next;
|
||||
};
|
||||
|
||||
typedef void (*OSAlarmHandler)(OSAlarm* alarm, OSContext* context);
|
||||
|
||||
struct OSAlarm {
|
||||
/* 0x00 */ OSAlarmHandler handler;
|
||||
/* 0x04 */ u32 tag;
|
||||
/* 0x08 */ OSTime fire_time;
|
||||
/* 0x10 */ OSAlarmLink link;
|
||||
/* 0x18 */ OSTime period_time;
|
||||
/* 0x20 */ OSTime start_time;
|
||||
}; // Size: 0x28
|
||||
|
||||
extern "C" {
|
||||
s32 OSEnableScheduler(void);
|
||||
s32 OSDisableScheduler(void);
|
||||
s32 OSCheckActiveThreads(void);
|
||||
OSThread* OSGetCurrentThread(void);
|
||||
|
||||
s32 OSSuspendThread(OSThread* thread);
|
||||
s32 OSSetThreadPriority(OSThread* thread, u32 pri);
|
||||
s32 OSGetThreadPriority(OSThread* thread);
|
||||
BOOL OSCreateThread(OSThread* thread, void* func, void* param, void* stack, u32 stackSize,
|
||||
int priority, int attr);
|
||||
void OSCancelThread(OSThread* thread);
|
||||
void OSDetachThread(OSThread* thread);
|
||||
s32 OSResumeThread(OSThread* thread);
|
||||
void OSExitThread(void* exit_val);
|
||||
BOOL OSIsThreadSuspended(OSThread* thread);
|
||||
BOOL OSIsThreadTerminated(OSThread* thread);
|
||||
OSSwitchThreadCallback OSSetSwitchThreadCallback(OSSwitchThreadCallback callback);
|
||||
|
||||
void OSInitMessageQueue(OSMessageQueue* queue, OSMessage* messages, int message_count);
|
||||
BOOL OSReceiveMessage(OSMessageQueue* queue, OSMessage* message, int flags);
|
||||
BOOL OSSendMessage(OSMessageQueue* queue, OSMessage message, int flags);
|
||||
BOOL OSJamMessage(OSMessageQueue* queue, OSMessage message, int flags);
|
||||
u32 OSGetConsoleType(void);
|
||||
|
||||
s32 OSGetConsoleType(void);
|
||||
u32 OSGetResetCode(void);
|
||||
|
||||
u32 OSGetSoundMode(void);
|
||||
void OSSetSoundMode(OSSoundMode mode);
|
||||
|
||||
void OSAttention(const char* msg, ...);
|
||||
void OSPanic(const char* file, s32 line, const char* fmt, ...);
|
||||
void OSReport(const char* fmt, ...);
|
||||
void OSReport_Error(const char* fmt, ...);
|
||||
void OSReport_FatalError(const char* fmt, ...);
|
||||
void OSReport_System(const char* fmt, ...);
|
||||
void OSReport_Warning(const char* fmt, ...);
|
||||
void OSAttention(char* msg, ...);
|
||||
void OSPanic(char* file, s32 line, char* fmt, ...);
|
||||
void OSReport(char* fmt, ...);
|
||||
void OSReport_Error(char* fmt, ...);
|
||||
void OSReport_FatalError(char* fmt, ...);
|
||||
void OSReport_System(char* fmt, ...);
|
||||
void OSReport_Warning(char* fmt, ...);
|
||||
void OSReportDisable(void);
|
||||
void OSReportEnable(void);
|
||||
void OSReportForceEnableOff(void);
|
||||
void OSReportForceEnableOn(void);
|
||||
void OSVReport(const char* format, va_list list);
|
||||
|
||||
void OSTicksToCalendarTime(OSTime ticks, OSCalendarTime* out_time);
|
||||
OSTime OSGetTime(void);
|
||||
OSTick OSGetTick(void);
|
||||
|
||||
u32 OSGetArenaLo();
|
||||
u32 OSGetArenaHi();
|
||||
u32 OSInitAlloc(u32 low, u32 high, int maxHeaps);
|
||||
void OSSetArenaLo(u32 newLo);
|
||||
void OSSetArenaHi(u32 newHi);
|
||||
void* OSAllocFromArenaLo(u32 size, int alignment);
|
||||
|
||||
void OSInitMutex(OSMutex* mutex);
|
||||
void OSLockMutex(OSMutex* mutex);
|
||||
BOOL OSTryLockMutex(OSMutex* mutex);
|
||||
void OSUnlockMutex(OSMutex* mutex);
|
||||
|
||||
BOOL OSDisableInterrupts();
|
||||
BOOL OSEnableInterrupts();
|
||||
BOOL OSRestoreInterrupts(s32 level);
|
||||
|
||||
void OSResetSystem(s32 param_1, u32 param_2, s32 param_3);
|
||||
|
||||
void OSSetSaveRegion(void* start, void* end);
|
||||
|
||||
void LCDisable(void);
|
||||
void OSVReport(char* format, va_list list);
|
||||
void OSVAttention(char* fmt, va_list args);
|
||||
void OSReportInit(void);
|
||||
|
||||
void OSReportInit__Fv(void); // needed for inline asm
|
||||
|
||||
u8* OSGetStackPointer(void);
|
||||
void __OSFPRInit(void);
|
||||
static void InquiryCallback(u32 param_0, void* param_1);
|
||||
void OSInit(void);
|
||||
static void OSExceptionInit(void);
|
||||
void __OSDBIntegrator(void);
|
||||
void __OSDBJump(void);
|
||||
|
||||
void OSCreateAlarm(OSAlarm* alarm);
|
||||
void OSCancelAlarm(OSAlarm* alarm);
|
||||
void OSSetAlarm(OSAlarm* alarm, OSTime time, OSAlarmHandler handler);
|
||||
void OSSetPeriodicAlarm(OSAlarm*, OSTime, OSTime, OSAlarmHandler);
|
||||
|
||||
void OSInitCond(OSCond* cond);
|
||||
void OSWaitCond(OSCond* cond, OSMutex* mutex);
|
||||
void OSSignalCond(OSCond* cond);
|
||||
|
||||
void DCStoreRangeNoSync(void*, u32);
|
||||
typedef void (*OSExceptionHandler)(OSException, OSContext*);
|
||||
OSExceptionHandler __OSSetExceptionHandler(OSException exception, OSExceptionHandler handler);
|
||||
OSExceptionHandler __OSGetExceptionHandler(OSException exception);
|
||||
static void OSExceptionVector(void);
|
||||
void __DBVECTOR();
|
||||
void __OSEVSetNumber();
|
||||
void __OSEVEnd();
|
||||
static void OSDefaultExceptionHandler(OSException exception, OSContext* context);
|
||||
void __OSPSInit(void);
|
||||
void __OSGetDIConfig(void);
|
||||
void OSRegisterVersion(char* version);
|
||||
void OSSwitchFiberEx(u32, u32, u32, u32, u32, u32);
|
||||
|
||||
inline s16 __OSf32tos16(register f32 inF) {
|
||||
register s16 out;
|
||||
@@ -268,7 +113,7 @@ inline void OSf32tou8(f32* f, u8* out) {
|
||||
*out = __OSf32tou8(*f);
|
||||
}
|
||||
|
||||
inline void OSInitFastCast(void) {
|
||||
inline void i_OSInitFastCast(void) {
|
||||
// clang-format off
|
||||
asm {
|
||||
li r3, 4
|
||||
@@ -287,14 +132,6 @@ inline void OSInitFastCast(void) {
|
||||
// clang-format on
|
||||
}
|
||||
|
||||
}; // extern "C"
|
||||
|
||||
void OSSwitchFiberEx(u32, u32, u32, u32, u32, u32);
|
||||
|
||||
void OSVAttention(const char* fmt, va_list args);
|
||||
|
||||
void OSReportInit(void);
|
||||
|
||||
#include "dolphin/dvd/dvd.h"
|
||||
|
||||
struct GLOBAL_MEMORY {
|
||||
@@ -386,4 +223,8 @@ inline void* OSPhysicalToCached(u32 offset) {
|
||||
return (void*)(offset + 0x80000000);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -2,5 +2,41 @@
|
||||
#define OSALARM_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "dolphin/os/OSTime.h"
|
||||
#include "dolphin/os/OSError.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct OSAlarmLink {
|
||||
/* 0x0 */ struct OSAlarm* prev;
|
||||
/* 0x4 */ struct OSAlarm* next;
|
||||
} OSAlarmLink;
|
||||
|
||||
typedef void (*OSAlarmHandler)(struct OSAlarm* alarm, struct OSContext* context);
|
||||
|
||||
typedef struct OSAlarm {
|
||||
/* 0x00 */ OSAlarmHandler handler;
|
||||
/* 0x04 */ u32 tag;
|
||||
/* 0x08 */ OSTime fire_time;
|
||||
/* 0x10 */ OSAlarmLink link;
|
||||
/* 0x18 */ OSTime period_time;
|
||||
/* 0x20 */ OSTime start_time;
|
||||
} OSAlarm; // Size: 0x28
|
||||
|
||||
void OSInitAlarm(void);
|
||||
void OSCreateAlarm(OSAlarm* alarm);
|
||||
static void InsertAlarm(OSAlarm* alarm, s64 time, OSAlarmHandler* handler);
|
||||
void OSSetAlarm(OSAlarm* alarm, s64 time, OSAlarmHandler* handler);
|
||||
void OSSetPeriodicAlarm(OSAlarm* alarm, s64 start, s64 period, OSAlarmHandler* handler);
|
||||
void OSCancelAlarm(OSAlarm* alarm);
|
||||
static void DecrementerExceptionCallback(OSException* exception, struct OSContext* context);
|
||||
static void DecrementerExceptionHandler(OSException* exception, struct OSContext* context);
|
||||
static s32 OnReset(s32 param_0);
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif /* OSALARM_H */
|
||||
|
||||
@@ -3,4 +3,20 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef u32 OSHeapHandle;
|
||||
|
||||
static void* DLInsert(void* param_0, void* param_1);
|
||||
void OSFreeToHeap(OSHeapHandle heap, void* ptr);
|
||||
void OSSetCurrentHeap(OSHeapHandle heap);
|
||||
void* OSInitAlloc(void* lo, void* hi, s32 maxHeaps);
|
||||
OSHeapHandle OSCreateHeap(void* start, void* end);
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif /* OSALLOC_H */
|
||||
|
||||
@@ -3,4 +3,18 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void* OSGetArenaHi(void);
|
||||
void* OSGetArenaLo(void);
|
||||
void OSSetArenaHi(void* hi);
|
||||
void OSSetArenaLo(void* lo);
|
||||
void* OSAllocFromArenaLo(u32 size, s32 alignment);
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif /* OSARENA_H */
|
||||
|
||||
@@ -3,4 +3,15 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void __OSInitAudioSystem(void);
|
||||
void __OSStopAudioSystem(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif /* OSAUDIOSYSTEM_H */
|
||||
|
||||
@@ -3,10 +3,32 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
void DCInvalidateRange(void*, u32);
|
||||
void DCStoreRange(void*, u32);
|
||||
void DCStoreRangeNoSync(void*, u32);
|
||||
}
|
||||
#endif
|
||||
|
||||
static void DCEnable(void);
|
||||
void DCInvalidateRange(void* start, u32 nBytes);
|
||||
void DCFlushRange(void* start, u32 nBytes);
|
||||
void DCStoreRange(void* start, u32 nBytes);
|
||||
void DCFlushRangeNoSync(void* start, u32 nBytes);
|
||||
void DCStoreRangeNoSync(void* start, u32 nBytes);
|
||||
void DCZeroRange(void* start, u32 nBytes);
|
||||
void ICInvalidateRange(void* start, u32 nBytes);
|
||||
void ICFlashInvalidate(void);
|
||||
static void ICEnable(void);
|
||||
void __LCEnable(void);
|
||||
void LCEnable(void);
|
||||
void LCDisable(void);
|
||||
static void LCStoreBlocks(void* destAddr, void* srcAddr, u32 blockNum);
|
||||
u32 LCStoreData(void* destAddr, void* srcAddr, u32 nBytes);
|
||||
void LCQueueWait(u32 len);
|
||||
static void L2GlobalInvalidate(void);
|
||||
static void DMAErrorHandler(s32 error, struct OSContext* context);
|
||||
void __OSCacheInit(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif /* OSCACHE_H */
|
||||
|
||||
@@ -3,4 +3,45 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef void (*OSSwitchThreadCallback)(struct OSThread* from, struct OSThread* to);
|
||||
|
||||
typedef struct OSContext {
|
||||
/* 0x000 */ u32 gpr[32];
|
||||
/* 0x080 */ u32 cr;
|
||||
/* 0x084 */ u32 lr;
|
||||
/* 0x088 */ u32 ctr;
|
||||
/* 0x08C */ u32 xer;
|
||||
/* 0x090 */ f64 fpr[32];
|
||||
/* 0x190 */ u32 padding_1;
|
||||
/* 0x194 */ u32 fpscr;
|
||||
/* 0x198 */ u32 srr0;
|
||||
/* 0x19C */ u32 srr1;
|
||||
/* 0x1A0 */ u16 mode;
|
||||
/* 0x1A2 */ u16 state;
|
||||
/* 0x1A4 */ u32 gqr[8];
|
||||
/* 0x1C4 */ f64 ps[32];
|
||||
} OSContext;
|
||||
|
||||
void __OSLoadFPUContext(void);
|
||||
void __OSSaveFPUContext(OSContext* context);
|
||||
void OSSaveFPUContext(OSContext* context);
|
||||
void OSSetCurrentContext(OSContext* context);
|
||||
OSContext* OSGetCurrentContext(void);
|
||||
void OSSaveContext(OSContext* context);
|
||||
void OSLoadContext(OSContext* context);
|
||||
void OSClearContext(OSContext* context);
|
||||
void OSInitContext(OSContext* context, u32 pc, u32 lr);
|
||||
void OSDumpContext(OSContext* context);
|
||||
static void OSSwitchFPUContext(OSContext* context);
|
||||
void __OSContextInit(void);
|
||||
void OSFillFPUContext(OSContext* context);
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif /* OSCONTEXT_H */
|
||||
|
||||
@@ -3,31 +3,60 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
struct OSContext;
|
||||
|
||||
extern u32 __OSFpscrEnableBits;
|
||||
|
||||
typedef u16 OSError;
|
||||
typedef void (*OSErrorHandler)(OSError, OSContext*, u32, u32);
|
||||
typedef void (*OSErrorHandler)(OSError error, OSContext* context, u32, u32);
|
||||
|
||||
#define OS_ERROR_SYSTEM_RESET 0x0
|
||||
#define OS_ERROR_MACHINE_CHECK 0x1
|
||||
#define OS_ERROR_DSI 0x2
|
||||
#define OS_ERROR_ISI 0x3
|
||||
#define OS_ERROR_INTERRUPT 0x4
|
||||
#define OS_ERROR_ALIGNMENT 0x5
|
||||
#define OS_ERROR_PROGRAM 0x6
|
||||
#define OS_ERROR_FLOATING_POINT 0x7
|
||||
#define OS_ERROR_DECREMENTER 0x8
|
||||
#define OS_ERROR_SYSTEM_CALL 0x9
|
||||
#define OS_ERROR_TRACE 0xa
|
||||
#define OS_ERROR_PERFORMANCE_MONITOR 0xb
|
||||
#define OS_ERROR_BREAKPOINT 0xc
|
||||
#define OS_ERROR_RESERVED 0xd
|
||||
#define OS_ERROR_THERMAL_INTERRUPT 0xe
|
||||
#define OS_ERROR_MEMORY_PROTECTION 0xf
|
||||
#define OS_ERROR_FLOATING_POINT_EXCEPTION 0x10
|
||||
#define OS_ERROR_SYSTEM_RESET 0
|
||||
#define OS_ERROR_MACHINE_CHECK 1
|
||||
#define OS_ERROR_DSI 2
|
||||
#define OS_ERROR_ISI 3
|
||||
#define OS_ERROR_INTERRUPT 4
|
||||
#define OS_ERROR_ALIGNMENT 5
|
||||
#define OS_ERROR_PROGRAM 6
|
||||
#define OS_ERROR_FLOATING_POINT 7
|
||||
#define OS_ERROR_DECREMENTER 8
|
||||
#define OS_ERROR_SYSTEM_CALL 9
|
||||
#define OS_ERROR_TRACE 10
|
||||
#define OS_ERROR_PERFORMANCE_MONITOR 11
|
||||
#define OS_ERROR_BREAKPOINT 12
|
||||
#define OS_ERROR_RESERVED 13
|
||||
#define OS_ERROR_THERMAL_INTERRUPT 14
|
||||
#define OS_ERROR_MEMORY_PROTECTION 15
|
||||
#define OS_ERROR_FLOATING_POINT_EXCEPTION 16
|
||||
|
||||
extern "C" void OSSetErrorHandler(OSError, OSErrorHandler);
|
||||
typedef enum OSException {
|
||||
EXCEPTION_SYSTEM_RESET,
|
||||
EXCEPTION_MACHINE_CHECK,
|
||||
EXCEPTION_DSI,
|
||||
EXCEPTION_ISI,
|
||||
EXCEPTION_EXTERNAL_INTERRUPT,
|
||||
EXCEPTION_ALIGNMENT,
|
||||
EXCEPTION_PROGRAM,
|
||||
EXCEPTION_FLOATING_POINT,
|
||||
EXCEPTION_DECREMENTER,
|
||||
EXCEPTION_SYSTEM_CALL,
|
||||
EXCEPTION_TRACE ,
|
||||
EXCEPTION_PERFORMANCE_MONITOR,
|
||||
EXCEPTION_BREAKPOINT,
|
||||
EXCEPTION_RESERVED,
|
||||
EXCEPTION_THERMAL_INTERRUPT,
|
||||
EXCEPTION_MEMORY_PROTECTION,
|
||||
EXCEPTION_FLOATING_POINT_EXCEPTION,
|
||||
} OSException;
|
||||
|
||||
OSErrorHandler OSSetErrorHandler(OSError error, OSErrorHandler handler);
|
||||
void __OSUnhandledException(OSException exception, OSContext* context, u32 dsisr, u32 dar);
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif /* OSERROR_H */
|
||||
|
||||
@@ -3,4 +3,21 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
static s32 PackArgs(void* param_0, u32 param_1, void* param_2);
|
||||
static void Run(void);
|
||||
static void ReadDisc(void* param_0, s32 param_1, s32 param_2);
|
||||
static void Callback(void);
|
||||
void __OSGetExecParams(void* param_0);
|
||||
static void GetApploaderPosition(void);
|
||||
void __OSBootDolSimple(u32 param_0, u32 param_1, void* param_2, void* param_3, s32 param_4, u32 param_5, void* param_6);
|
||||
void __OSBootDol(s32 param_0, u32 param_1, s32 param_2);
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif /* OSEXEC_H */
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user