J2D structs + print / fix GX + MSL string headers (#157)

* J2D structs + print / fix GX + MSL string headers

* remove msl_c/string.h
This commit is contained in:
TakaRikka
2021-10-24 14:35:00 -07:00
committed by GitHub
parent bf5416a23d
commit 6d4520da66
71 changed files with 2069 additions and 2054 deletions
+225 -73
View File
@@ -1,80 +1,13 @@
#ifndef J2DANIMATION_H
#define J2DANIMATION_H
#include "dolphin/gx/GXTexture.h"
#include "JSystem/JUtility/JUTNameTab.h"
#include "JSystem/JUtility/JUTTexture.h"
#include "dolphin/gx/GX.h"
#include "dolphin/types.h"
struct J3DTransformInfo;
struct J3DTextureSRTInfo;
class J2DScreen;
struct J2DAnmVtxColorKey {
/* 8030B704 */ void getColor(u8, u16, _GXColor*) const;
/* 8030CC20 */ ~J2DAnmVtxColorKey();
};
struct J2DAnmVtxColorFull {
/* 8030B4C4 */ void getColor(u8, u16, _GXColor*) const;
/* 8030CC8C */ ~J2DAnmVtxColorFull();
};
struct J2DAnmVisibilityFull {
/* 8030C048 */ void getVisibility(u16, u8*) const;
};
struct J2DAnmTransformKey {
/* 801959C0 */ ~J2DAnmTransformKey();
/* 8030AAFC */ void calcTransform(f32, u16, J3DTransformInfo*) const;
/* 8030CD7C */ void getTransform(u16, J3DTransformInfo*) const;
};
struct J2DAnmTransformFull {
/* 8030A590 */ void getTransform(u16, J3DTransformInfo*) const;
/* 8030CDAC */ ~J2DAnmTransformFull();
};
struct J2DAnmTextureSRTKey {
/* 80184274 */ ~J2DAnmTextureSRTKey();
/* 8030B9F0 */ void calcTransform(f32, u16, J3DTextureSRTInfo*) const;
/* 8030BC60 */ void searchUpdateMaterialID(J2DScreen*);
};
struct J2DAnmTexPattern {
struct J2DAnmTexPatternTIMGPointer {
/* 8030CB2C */ J2DAnmTexPatternTIMGPointer();
/* 8030CB3C */ ~J2DAnmTexPatternTIMGPointer();
};
/* 8030BD10 */ void searchUpdateMaterialID(J2DScreen*);
/* 8030BEE8 */ void getTexNo(u16, u16*) const;
/* 8030BF9C */ void getResTIMG(u16) const;
/* 8030BFF0 */ void getPalette(u16) const;
/* 8030CB90 */ ~J2DAnmTexPattern();
};
struct J2DAnmTevRegKey {
/* 801841EC */ ~J2DAnmTevRegKey();
/* 8030C0F0 */ void getTevColorReg(u16, _GXColorS10*) const;
/* 8030C3B4 */ void getTevKonstReg(u16, _GXColor*) const;
/* 8030C678 */ void searchUpdateMaterialID(J2DScreen*);
};
struct J2DAnmColorKey {
/* 80239BE0 */ ~J2DAnmColorKey();
/* 8030B200 */ void getColor(u16, _GXColor*) const;
};
struct J2DAnmColorFull {
/* 8030AFC8 */ void getColor(u16, _GXColor*) const;
/* 8030CCF8 */ ~J2DAnmColorFull();
};
struct J2DAnmColor {
/* 801842FC */ ~J2DAnmColor();
/* 802EB390 */ void getColor(u16, _GXColor*) const;
/* 8030AF24 */ void searchUpdateMaterialID(J2DScreen*);
};
class J2DAnmBase {
public:
/* 80053C94 */ virtual ~J2DAnmBase();
@@ -88,11 +21,230 @@ private:
/* 0x4 */ u8 field_0x4[2];
/* 0x6 */ s16 mFrameMax;
/* 0x8 */ f32 mFrame;
/* 0xC */ int mKind;
/* 0xC */ s32 mKind;
}; // Size: 0x10
class J2DAnmVtxColor : public J2DAnmBase {
public:
/* 8030A358 */ virtual ~J2DAnmVtxColor();
/* 8030363C */ virtual void getColor(u8, u16, _GXColor*) const;
private:
/* 0x10 */ u16 mAnmTableNum[2];
/* 0x14 */ void* mVtxColorIndexData[2];
/* 0x1C */ void* mVtxColorIndexPointer[2];
}; // Size: 0x24
struct J3DTransformInfo;
struct J3DTextureSRTInfo;
class J2DAnmVtxColorKey : public J2DAnmVtxColor {
/* 8030CC20 */ virtual ~J2DAnmVtxColorKey();
/* 8030B704 */ virtual void getColor(u8, u16, _GXColor*) const;
private:
/* 0x24 */ void* field_0x24[2];
/* 0x2C */ void* field_0x2c;
/* 0x30 */ void* field_0x30;
/* 0x34 */ void* field_0x34;
/* 0x38 */ void* field_0x38;
}; // Size: 0x3C
class J2DAnmVtxColorFull : public J2DAnmVtxColor {
public:
/* 8030CC8C */ virtual ~J2DAnmVtxColorFull();
/* 8030B4C4 */ virtual void getColor(u8, u16, _GXColor*) const;
private:
/* 0x24 */ void* field_0x24[2];
/* 0x2C */ void* field_0x2c;
/* 0x30 */ void* field_0x30;
/* 0x34 */ void* field_0x34;
/* 0x38 */ void* field_0x38;
}; // Size: 0x3C
class J2DAnmVisibilityFull : public J2DAnmBase {
public:
/* 8030A3B4 */ virtual ~J2DAnmVisibilityFull();
/* 8030C048 */ void getVisibility(u16, u8*) const;
private:
/* 0x10 */ u16 field_0x10;
/* 0x12 */ u16 field_0x12;
/* 0x14 */ void* field_0x14;
/* 0x18 */ void* field_0x18;
}; // Size: 0x1C
class J2DAnmTransform : public J2DAnmBase {
public:
/* 80184370 */ virtual ~J2DAnmTransform();
/* 80191130 */ virtual void getTransform(u16, J3DTransformInfo*) const;
private:
/* 0x10 */ f32* field_0x10;
/* 0x14 */ s16* field_0x14;
/* 0x18 */ f32* field_0x18;
}; // Size: 0x1C
class J2DAnmTransformKey : public J2DAnmTransform {
public:
/* 801959C0 */ virtual ~J2DAnmTransformKey();
/* 8030CD7C */ virtual void getTransform(u16, J3DTransformInfo*) const;
/* 8030AAFC */ virtual void calcTransform(f32, u16, J3DTransformInfo*) const;
private:
/* 0x1C */ u8 field_0x1c[8];
/* 0x24 */ void* field_0x24;
/* 0x28 */ void* field_0x28;
};
struct J2DAnmVtxColor {};
class J2DAnmTransformFull : public J2DAnmTransform {
public:
/* 8030CDAC */ virtual ~J2DAnmTransformFull();
/* 8030A590 */ virtual void getTransform(u16, J3DTransformInfo*) const;
struct J2DAnmTransform {};
private:
/* 0x1C */ u8 field_0x1c[6];
/* 0x22 */ u16 field_0x22;
/* 0x24 */ void* field_0x24;
};
class J2DAnmTextureSRTKey : public J2DAnmBase {
public:
/* 8030B9F0 */ void calcTransform(f32, u16, J3DTextureSRTInfo*) const;
/* 80184274 */ virtual ~J2DAnmTextureSRTKey();
/* 8030BC60 */ virtual void searchUpdateMaterialID(J2DScreen*);
private:
/* 0x10 */ int field_0x10;
/* 0x14 */ int field_0x14;
/* 0x18 */ u16 mUpdateMaterialNum;
/* 0x1A */ u16 field_0x1a;
/* 0x1C */ u16 field_0x1c;
/* 0x20 */ int field_0x20;
/* 0x24 */ int field_0x24;
/* 0x28 */ int field_0x28;
/* 0x2C */ u8* mUpdateTexMtxID;
/* 0x30 */ u16* mUpdateMaterialID;
/* 0x34 */ JUTNameTab field_0x34;
/* 0x44 */ u8 field_0x44[4];
/* 0x48 */ u16 field_0x48;
/* 0x4A */ u16 field_0x4a;
/* 0x4C */ u16 field_0x4c;
/* 0x4E */ u16 field_0x4e;
/* 0x50 */ int field_0x50;
/* 0x54 */ int field_0x54;
/* 0x58 */ int field_0x58;
/* 0x5C */ int field_0x5c;
/* 0x60 */ u8 field_0x60[8];
/* 0x68 */ JUTNameTab field_0x68;
/* 0x78 */ u8 field_0x78[4];
/* 0x7C */ int field_0x7c;
};
class J2DAnmTexPattern : public J2DAnmBase {
public:
struct J2DAnmTexPatternTIMGPointer {
/* 8030CB2C */ J2DAnmTexPatternTIMGPointer();
/* 8030CB3C */ ~J2DAnmTexPatternTIMGPointer();
/* 0x0 */ ResTIMG* mRes;
/* 0x4 */ JUTPalette* mPalette;
}; // Size: 0x8
/* 8030BEE8 */ void getTexNo(u16, u16*) const;
/* 8030BF9C */ void getResTIMG(u16) const;
/* 8030BFF0 */ void getPalette(u16) const;
/* 8030CB90 */ virtual ~J2DAnmTexPattern();
/* 8030BD10 */ virtual void searchUpdateMaterialID(J2DScreen*);
private:
/* 0x10 */ int field_0x10;
/* 0x14 */ void* mAnmTable;
/* 0x18 */ u8 field_0x18[2];
/* 0x1A */ u16 mUpdateMaterialNum;
/* 0x1C */ u16* mUpdaterMaterialID;
/* 0x20 */ JUTNameTab field_0x20;
/* 0x30 */ J2DAnmTexPatternTIMGPointer* mTIMGPtrArray;
};
class J2DAnmTevRegKey : public J2DAnmBase {
public:
/* 8030C0F0 */ void getTevColorReg(u16, _GXColorS10*) const;
/* 8030C3B4 */ void getTevKonstReg(u16, _GXColor*) const;
/* 801841EC */ virtual ~J2DAnmTevRegKey();
/* 8030C678 */ virtual void searchUpdateMaterialID(J2DScreen*);
private:
/* 0x10 */ u16 mCRegUpdateMaterialNum;
/* 0x12 */ u16 mKRegUpdateMaterialNum;
/* 0x14 */ u16 field_0x14;
/* 0x16 */ u16 field_0x16;
/* 0x18 */ u16 field_0x18;
/* 0x1A */ u16 field_0x1a;
/* 0x1C */ u16 field_0x1c;
/* 0x1E */ u16 field_0x1e;
/* 0x20 */ u16 field_0x20;
/* 0x22 */ u16 field_0x22;
/* 0x24 */ u16* mCRegUpdateMaterialID;
/* 0x28 */ JUTNameTab field_0x28;
/* 0x38 */ u16* mKRegUpdateMaterialID;
/* 0x3C */ JUTNameTab field_0x3c;
/* 0x4C */ void* mAnmCRegKeyTable;
/* 0x50 */ void* mAnmKRegKeyTable;
/* 0x54 */ int field_0x54;
/* 0x58 */ int field_0x58;
/* 0x5C */ int field_0x5c;
/* 0x60 */ int field_0x60;
/* 0x64 */ int field_0x64;
/* 0x68 */ int field_0x68;
/* 0x6C */ int field_0x6c;
/* 0x70 */ int field_0x70;
};
class J2DAnmColor : public J2DAnmBase {
public:
/* 801842FC */ virtual ~J2DAnmColor();
/* 8030AF24 */ virtual void searchUpdateMaterialID(J2DScreen*);
/* 802EB390 */ virtual void getColor(u16, _GXColor*) const;
private:
/* 0x10 */ u16 field_0x10;
/* 0x10 */ u16 field_0x12;
/* 0x14 */ u16 field_0x14;
/* 0x16 */ u16 field_0x16;
/* 0x18 */ u16 mUpdateMaterialNum;
/* 0x1C */ u16* mUpdateMaterialID;
/* 0x20 */ JUTNameTab field_0x20;
}; // Size: 0x30
class J2DAnmColorKey : public J2DAnmColor {
public:
/* 80239BE0 */ virtual ~J2DAnmColorKey();
/* 8030B200 */ virtual void getColor(u16, _GXColor*) const;
private:
/* 0x30 */ int field_0x30;
/* 0x34 */ int field_0x34;
/* 0x38 */ int field_0x38;
/* 0x3C */ int field_0x3c;
/* 0x40 */ int field_0x40;
};
class J2DAnmColorFull : public J2DAnmColor {
public:
/* 8030CCF8 */ virtual ~J2DAnmColorFull();
/* 8030AFC8 */ virtual void getColor(u16, _GXColor*) const;
private:
/* 0x30 */ int field_0x30;
/* 0x34 */ int field_0x34;
/* 0x38 */ int field_0x38;
/* 0x3C */ int field_0x3c;
/* 0x40 */ int field_0x40;
};
#endif /* J2DANIMATION_H */
+62
View File
@@ -1,6 +1,68 @@
#ifndef J2DANMLOADER_H
#define J2DANMLOADER_H
#include "JSystem/J2DGraph/J2DAnimation.h"
#include "JSystem/J3DGraphAnimator/J3DAnimation.h"
#include "dolphin/types.h"
struct J2DAnmLoaderDataBase {
/* 80308A6C */ static void load(void const*);
};
class J2DAnmLoader {
public:
virtual void load(void const*) = 0;
virtual void setResource(J2DAnmBase*, void const*) = 0;
/* 8030A410 */ virtual ~J2DAnmLoader();
};
struct J3DAnmTransformKeyData;
struct J3DAnmTextureSRTKeyData;
struct J3DAnmColorKeyData;
struct J3DAnmVtxColorKeyData;
struct J3DAnmTevRegKeyData;
struct J3DAnmTransformFullData;
struct J3DAnmColorFullData;
struct J3DAnmTexPatternFullData;
struct J3DAnmVisibilityFullData;
struct J3DAnmVtxColorFullData;
class J2DAnmKeyLoader_v15 : public J2DAnmLoader {
public:
/* 80309290 */ J2DAnmKeyLoader_v15();
/* 80309570 */ void readAnmTransform(J3DAnmTransformKeyData const*);
/* 80309598 */ void setAnmTransform(J2DAnmTransformKey*, J3DAnmTransformKeyData const*);
/* 80309634 */ void readAnmTextureSRT(J3DAnmTextureSRTKeyData const*);
/* 8030965C */ void setAnmTextureSRT(J2DAnmTextureSRTKey*, J3DAnmTextureSRTKeyData const*);
/* 80309848 */ void readAnmColor(J3DAnmColorKeyData const*);
/* 80309870 */ void setAnmColor(J2DAnmColorKey*, J3DAnmColorKeyData const*);
/* 8030995C */ void readAnmVtxColor(J3DAnmVtxColorKeyData const*);
/* 80309984 */ void setAnmVtxColor(J2DAnmVtxColorKey*, J3DAnmVtxColorKeyData const*);
/* 80309FDC */ void readAnmTevReg(J3DAnmTevRegKeyData const*);
/* 8030A004 */ void setAnmTevReg(J2DAnmTevRegKey*, J3DAnmTevRegKeyData const*);
/* 80309308 */ virtual void load(void const*);
/* 80309414 */ virtual void setResource(J2DAnmBase*, void const*);
/* 803092AC */ virtual ~J2DAnmKeyLoader_v15();
};
class J2DAnmFullLoader_v15 : public J2DAnmLoader {
public:
/* 80309CE8 */ J2DAnmFullLoader_v15();
/* 80309D60 */ void readAnmTransform(J3DAnmTransformFullData const*);
/* 80309D88 */ void setAnmTransform(J2DAnmTransformFull*, J3DAnmTransformFullData const*);
/* 80309E1C */ void readAnmColor(J3DAnmColorFullData const*);
/* 80309E44 */ void setAnmColor(J2DAnmColorFull*, J3DAnmColorFullData const*);
/* 80309F10 */ void readAnmTexPattern(J3DAnmTexPatternFullData const*);
/* 80309F38 */ void setAnmTexPattern(J2DAnmTexPattern*, J3DAnmTexPatternFullData const*);
/* 8030A190 */ void readAnmVisibility(J3DAnmVisibilityFullData const*);
/* 8030A1B8 */ void setAnmVisibility(J2DAnmVisibilityFull*, J3DAnmVisibilityFullData const*);
/* 8030A234 */ void readAnmVtxColor(J3DAnmVtxColorFullData const*);
/* 8030A25C */ void setAnmVtxColor(J2DAnmVtxColorFull*, J3DAnmVtxColorFullData const*);
/* 80309A80 */ virtual void load(void const*);
/* 80309B8C */ virtual void setResource(J2DAnmBase*, void const*);
/* 80309D04 */ virtual ~J2DAnmFullLoader_v15();
};
#endif /* J2DANMLOADER_H */
+514
View File
@@ -1,6 +1,520 @@
#ifndef J2DMATBLOCK_H
#define J2DMATBLOCK_H
#include "JSystem/J2DGraph/J2DTevs.h"
#include "JSystem/JUtility/JUTResFont.h"
#include "JSystem/JUtility/JUTTexture.h"
#include "JSystem/JUtility/TColor.h"
#include "dolphin/types.h"
struct J2DGXColorS10 : public GXColorS10 {
/* 802F1B90 */ J2DGXColorS10();
};
struct J2DTevSwapModeInfo;
class J2DTevBlock {
public:
/* 802F2A40 */ virtual void initialize();
/* 802EB1D0 */ virtual void setGX();
/* 802F2A44 */ virtual void loadTexture(_GXTexMapID, u32);
virtual void getType() = 0;
virtual s32 getMaxStage() = 0;
/* 802EB1DC */ virtual void setTexNo(u32, u16);
/* 802EA170 */ virtual void getTexNo(u32) const;
/* 802F2A48 */ virtual void setFontNo(u16);
/* 802EA164 */ virtual void getFontNo() const;
/* 802F2A4C */ virtual void setTevOrder(u32, J2DTevOrder);
/* 802EA144 */ virtual bool getTevOrder(u32);
/* 802EB1D8 */ virtual void setTevColor(u32, J2DGXColorS10);
/* 802EA13C */ virtual bool getTevColor(u32);
/* 802EB1D4 */ virtual void setTevKColor(u32, JUtility::TColor);
/* 802EA15C */ virtual bool getTevKColor(u32);
/* 802F2A50 */ virtual void setTevKColorSel(u32, u8);
/* 802EA154 */ virtual bool getTevKColorSel(u32);
/* 802F2A54 */ virtual void setTevKAlphaSel(u32, u8);
/* 802EA14C */ virtual bool getTevKAlphaSel(u32);
/* 802F2A58 */ virtual void setTevStageNum(u8);
/* 802EA17C */ virtual bool getTevStageNum() const;
/* 802F2A5C */ virtual void setTevStage(u32, J2DTevStage);
/* 802EA134 */ virtual bool getTevStage(u32);
/* 802F2A60 */ virtual void setTevSwapModeInfo(u32, J2DTevSwapModeInfo);
/* 802F2A64 */ virtual void setTevSwapModeTable(u32, J2DTevSwapModeTable);
/* 802EA12C */ virtual bool getTevSwapModeTable(u32);
/* 802F2A68 */ virtual void setIndTevStage(u32, J2DIndTevStage);
/* 802EA184 */ virtual bool getIndTevStage(u32);
/* 802F2A7C */ virtual bool insertTexture(u32, ResTIMG const*);
/* 802F2A74 */ virtual bool insertTexture(u32, ResTIMG const*, JUTPalette*);
/* 802F2A6C */ virtual bool insertTexture(u32, JUTTexture*);
/* 802F2A8C */ virtual bool setTexture(u32, ResTIMG const*);
/* 802F2A84 */ virtual bool setTexture(u32, JUTTexture*);
/* 802F2A94 */ virtual bool removeTexture(u32);
/* 802F2AA4 */ virtual bool setFont(ResFONT*);
/* 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();
/* 802F2AC4 */ virtual void shiftDeleteFlag(u8, bool);
/* 802F2AC8 */ virtual void setUndeleteFlag(u8);
/* 802F2ACC */ virtual void setFontUndeleteFlag();
/* 802EB184 */ virtual ~J2DTevBlock();
};
class J2DTevBlock1 : public J2DTevBlock {
public:
/* 802EB88C */ J2DTevBlock1();
/* 802EBA50 */ virtual void initialize();
/* 802EC328 */ virtual void setGX();
/* 802EC570 */ virtual void loadTexture(_GXTexMapID, u32);
/* 802F27A0 */ virtual void getType();
/* 802F27AC */ virtual s32 getMaxStage();
/* 802F27B4 */ virtual void setTexNo(u32, u16);
/* 802F27C4 */ virtual void getTexNo(u32) const;
/* 802F27D4 */ virtual void setFontNo(u16);
/* 802F27DC */ virtual void getFontNo() const;
/* 802F27E4 */ virtual void setTevOrder(u32, J2DTevOrder);
/* 802F2808 */ virtual void getTevOrder(u32);
/* 802F281C */ virtual void setTevColor(u32, J2DGXColorS10);
/* 802F2848 */ virtual void getTevColor(u32);
/* 802F285C */ virtual void setTevKColor(u32, JUtility::TColor);
/* 802F2888 */ virtual void getTevKColor(u32);
/* 802F289C */ virtual void setTevKColorSel(u32, u8);
/* 802F28A8 */ virtual void getTevKColorSel(u32);
/* 802F28B4 */ virtual void setTevKAlphaSel(u32, u8);
/* 802F28C0 */ virtual void getTevKAlphaSel(u32);
/* 802F28CC */ virtual void setTevStageNum(u8);
/* 802F28D0 */ virtual bool getTevStageNum() const;
/* 802F28D8 */ virtual void setTevStage(u32, J2DTevStage);
/* 802F2914 */ virtual void getTevStage(u32);
/* 802F2928 */ virtual void setTevSwapModeInfo(u32, J2DTevSwapModeInfo);
/* 802F2960 */ virtual void setTevSwapModeTable(u32, J2DTevSwapModeTable);
/* 802F2970 */ virtual void getTevSwapModeTable(u32);
/* 802F2980 */ virtual void setIndTevStage(u32, J2DIndTevStage);
/* 802F2994 */ virtual void getIndTevStage(u32);
/* 802F29A8 */ virtual void insertTexture(u32, ResTIMG const*);
/* 802EBCC0 */ virtual void insertTexture(u32, ResTIMG const*, JUTPalette*);
/* 802EBDE4 */ virtual void insertTexture(u32, JUTTexture*);
/* 802EBE8C */ virtual void setTexture(u32, ResTIMG const*);
/* 802EC01C */ virtual void setTexture(u32, JUTTexture*);
/* 802EC0A8 */ virtual void removeTexture(u32);
/* 802EC124 */ virtual void setFont(ResFONT*);
/* 802EC1D8 */ virtual void setFont(JUTFont*);
/* 802EC258 */ virtual void setPalette(u32, ResTLUT const*);
/* 802EBC0C */ virtual void prepareTexture(u8);
/* 802F29D8 */ virtual void getTexture(u32);
/* 802F29F8 */ virtual void getPalette(u32);
/* 802F2A18 */ virtual void getFont();
/* 802EC318 */ virtual void shiftDeleteFlag(u8, bool);
/* 802F2A20 */ virtual void setUndeleteFlag(u8);
/* 802F2A30 */ virtual void setFontUndeleteFlag();
/* 802EB998 */ virtual ~J2DTevBlock1();
private:
/* 0x004 */ u16 mTexNo[1];
/* 0x006 */ u16 mFontNo;
/* 0x008 */ J2DTevOrder mTevOrder[1];
/* 0x00C */ J2DGXColorS10 mTevColor[4];
/* 0x02C */ J2DTevStage mTevStage[1];
/* 0x034 */ JUtility::TColor mTevKColor[4];
/* 0x044 */ u8 mTevKColorSel[1];
/* 0x045 */ u8 mTevKAlphaSel[1];
/* 0x046 */ J2DTevSwapModeTable mTevSwapModeTable[4];
/* 0x04C */ J2DIndTevStage mIndTevStage[1];
/* 0x050 */ JUTTexture* mTexture[1];
/* 0x054 */ JUTPalette* mPalette[1];
/* 0x058 */ JUTResFont* mFont;
/* 0x05C */ u8 mUndeleteFlag;
}; // Size: 0x60
class J2DTevBlock2 : public J2DTevBlock {
public:
/* 802EC5B8 */ J2DTevBlock2();
/* 802EC7A0 */ virtual void initialize();
/* 802ED584 */ virtual void setGX();
/* 802ED874 */ virtual void loadTexture(_GXTexMapID, u32);
/* 802F24FC */ virtual void getType();
/* 802F2508 */ virtual s32 getMaxStage();
/* 802F2510 */ virtual void setTexNo(u32, u16);
/* 802F2520 */ virtual void getTexNo(u32) const;
/* 802F2530 */ virtual void setFontNo(u16);
/* 802F2538 */ virtual void getFontNo() const;
/* 802F2540 */ virtual void setTevOrder(u32, J2DTevOrder);
/* 802F2564 */ virtual void getTevOrder(u32);
/* 802F2578 */ virtual void setTevColor(u32, J2DGXColorS10);
/* 802F25A4 */ virtual void getTevColor(u32);
/* 802F25B8 */ virtual void setTevKColor(u32, JUtility::TColor);
/* 802F25E4 */ virtual void getTevKColor(u32);
/* 802F25F8 */ virtual void setTevKColorSel(u32, u8);
/* 802F2604 */ virtual void getTevKColorSel(u32);
/* 802F2610 */ virtual void setTevKAlphaSel(u32, u8);
/* 802F261C */ virtual void getTevKAlphaSel(u32);
/* 802F2628 */ virtual void setTevStageNum(u8);
/* 802F2630 */ virtual void getTevStageNum() const;
/* 802F2638 */ virtual void setTevStage(u32, J2DTevStage);
/* 802F2674 */ virtual void getTevStage(u32);
/* 802F2688 */ virtual void setTevSwapModeInfo(u32, J2DTevSwapModeInfo);
/* 802F26C0 */ virtual void setTevSwapModeTable(u32, J2DTevSwapModeTable);
/* 802F26D0 */ virtual void getTevSwapModeTable(u32);
/* 802F26E0 */ virtual void setIndTevStage(u32, J2DIndTevStage);
/* 802F26F4 */ virtual void getIndTevStage(u32);
/* 802F2708 */ virtual void insertTexture(u32, ResTIMG const*);
/* 802ECAE8 */ virtual void insertTexture(u32, ResTIMG const*, JUTPalette*);
/* 802ECDE8 */ virtual void insertTexture(u32, JUTTexture*);
/* 802ECF48 */ virtual void setTexture(u32, ResTIMG const*);
/* 802ED16C */ virtual void setTexture(u32, JUTTexture*);
/* 802ED21C */ virtual void removeTexture(u32);
/* 802ED2F0 */ virtual void setFont(ResFONT*);
/* 802ED3A4 */ virtual void setFont(JUTFont*);
/* 802ED424 */ virtual void setPalette(u32, ResTLUT const*);
/* 802ECA18 */ virtual void prepareTexture(u8);
/* 802F2738 */ virtual void getTexture(u32);
/* 802F2758 */ virtual void getPalette(u32);
/* 802F2778 */ virtual void getFont();
/* 802ED4FC */ virtual void shiftDeleteFlag(u8, bool);
/* 802F2780 */ virtual void setUndeleteFlag(u8);
/* 802F2790 */ virtual void setFontUndeleteFlag();
/* 802EC6C8 */ virtual ~J2DTevBlock2();
private:
/* 0x004 */ u16 mTexNo[2];
/* 0x008 */ u16 mFontNo;
/* 0x00A */ J2DTevOrder mTevOrder[2];
/* 0x012 */ J2DGXColorS10 mTevColor[4];
/* 0x032 */ u8 mTevStageNum;
/* 0x033 */ J2DTevStage mTevStage[2];
/* 0x044 */ JUtility::TColor mTevKColor[4];
/* 0x054 */ u8 mTevKColorSel[2];
/* 0x056 */ u8 mTevKAlphaSel[2];
/* 0x058 */ J2DTevSwapModeTable mTevSwapModeTable[4];
/* 0x05C */ J2DIndTevStage mIndTevStage[2];
/* 0x064 */ JUTTexture* mTexture[2];
/* 0x06C */ JUTPalette* mPalette[2];
/* 0x064 */ JUTFont* mFont;
/* 0x078 */ u8 mUndeleteFlag;
}; // Size: 0x7C
class J2DTevBlock4 : public J2DTevBlock {
public:
/* 802ED8BC */ J2DTevBlock4();
/* 802EDAC4 */ virtual void initialize();
/* 802EEA2C */ virtual void setGX();
/* 802EED1C */ virtual void loadTexture(_GXTexMapID, u32);
/* 802F2258 */ virtual void getType();
/* 802F2264 */ virtual s32 getMaxStage();
/* 802F226C */ virtual void setTexNo(u32, u16);
/* 802F227C */ virtual void getTexNo(u32) const;
/* 802F228C */ virtual void setFontNo(u16);
/* 802F2294 */ virtual void getFontNo() const;
/* 802F229C */ virtual void setTevOrder(u32, J2DTevOrder);
/* 802F22C0 */ virtual void getTevOrder(u32);
/* 802F22D4 */ virtual void setTevColor(u32, J2DGXColorS10);
/* 802F2300 */ virtual void getTevColor(u32);
/* 802F2314 */ virtual void setTevKColor(u32, JUtility::TColor);
/* 802F2340 */ virtual void getTevKColor(u32);
/* 802F2354 */ virtual void setTevKColorSel(u32, u8);
/* 802F2360 */ virtual void getTevKColorSel(u32);
/* 802F236C */ virtual void setTevKAlphaSel(u32, u8);
/* 802F2378 */ virtual void getTevKAlphaSel(u32);
/* 802F2384 */ virtual void setTevStageNum(u8);
/* 802F238C */ virtual void getTevStageNum() const;
/* 802F2394 */ virtual void setTevStage(u32, J2DTevStage);
/* 802F23D0 */ virtual void getTevStage(u32);
/* 802F23E4 */ virtual void setTevSwapModeInfo(u32, J2DTevSwapModeInfo);
/* 802F241C */ virtual void setTevSwapModeTable(u32, J2DTevSwapModeTable);
/* 802F242C */ virtual void getTevSwapModeTable(u32);
/* 802F243C */ virtual void setIndTevStage(u32, J2DIndTevStage);
/* 802F2450 */ virtual void getIndTevStage(u32);
/* 802F2464 */ virtual void insertTexture(u32, ResTIMG const*);
/* 802EDE04 */ virtual void insertTexture(u32, ResTIMG const*, JUTPalette*);
/* 802EE1D4 */ virtual void insertTexture(u32, JUTTexture*);
/* 802EE364 */ virtual void setTexture(u32, ResTIMG const*);
/* 802EE5F0 */ virtual void setTexture(u32, JUTTexture*);
/* 802EE6A0 */ virtual void removeTexture(u32);
/* 802EE798 */ virtual void setFont(ResFONT*);
/* 802EE84C */ virtual void setFont(JUTFont*);
/* 802EE8CC */ virtual void setPalette(u32, ResTLUT const*);
/* 802EDD34 */ virtual void prepareTexture(u8);
/* 802F2494 */ virtual void getTexture(u32);
/* 802F24B4 */ virtual void getPalette(u32);
/* 802F24D4 */ virtual void getFont();
/* 802EE9A4 */ virtual void shiftDeleteFlag(u8, bool);
/* 802F24DC */ virtual void setUndeleteFlag(u8);
/* 802F24EC */ virtual void setFontUndeleteFlag();
/* 802ED9E4 */ virtual ~J2DTevBlock4();
private:
/* 0x004 */ u16 mTexNo[4];
/* 0x00C */ u16 mFontNo;
/* 0x00E */ J2DTevOrder mTevOrder[4];
/* 0x01E */ J2DGXColorS10 mTevColor[4];
/* 0x03E */ u8 mTevStageNum;
/* 0x03F */ J2DTevStage mTevStage[4];
/* 0x060 */ JUtility::TColor mTevKColor[4];
/* 0x070 */ u8 mTevKColorSel[4];
/* 0x074 */ u8 mTevKAlphaSel[4];
/* 0x078 */ J2DTevSwapModeTable mTevSwapModeTable[4];
/* 0x07C */ J2DIndTevStage mIndTevStage[4];
/* 0x08C */ JUTTexture* mTexture[4];
/* 0x09C */ JUTPalette* mPalette[4];
/* 0x0AC */ JUTFont* mFont;
/* 0x0B0 */ u8 mUndeleteFlag;
}; // Size: 0xB4
class J2DTevBlock8 : public J2DTevBlock {
public:
/* 802EED64 */ J2DTevBlock8();
/* 802EEF6C */ virtual void initialize();
/* 802EFEAC */ virtual void setGX();
/* 802F019C */ virtual void loadTexture(_GXTexMapID, u32);
/* 802F1FB8 */ virtual void getType();
/* 802F1FC4 */ virtual s32 getMaxStage();
/* 802F1FCC */ virtual void setTexNo(u32, u16);
/* 802F1FDC */ virtual void getTexNo(u32) const;
/* 802F1FEC */ virtual void setFontNo(u16);
/* 802F1FF4 */ virtual void getFontNo() const;
/* 802F1FFC */ virtual void setTevOrder(u32, J2DTevOrder);
/* 802F2020 */ virtual void getTevOrder(u32);
/* 802F2034 */ virtual void setTevColor(u32, J2DGXColorS10);
/* 802F2060 */ virtual void getTevColor(u32);
/* 802F2074 */ virtual void setTevKColor(u32, JUtility::TColor);
/* 802F20A0 */ virtual void getTevKColor(u32);
/* 802F20B4 */ virtual void setTevKColorSel(u32, u8);
/* 802F20C0 */ virtual void getTevKColorSel(u32);
/* 802F20CC */ virtual void setTevKAlphaSel(u32, u8);
/* 802F20D8 */ virtual void getTevKAlphaSel(u32);
/* 802F20E4 */ virtual void setTevStageNum(u8);
/* 802F20EC */ virtual void getTevStageNum() const;
/* 802F20F4 */ virtual void setTevStage(u32, J2DTevStage);
/* 802F2130 */ virtual void getTevStage(u32);
/* 802F2144 */ virtual void setTevSwapModeInfo(u32, J2DTevSwapModeInfo);
/* 802F217C */ virtual void setTevSwapModeTable(u32, J2DTevSwapModeTable);
/* 802F218C */ virtual void getTevSwapModeTable(u32);
/* 802F219C */ virtual void setIndTevStage(u32, J2DIndTevStage);
/* 802F21B0 */ virtual void getIndTevStage(u32);
/* 802F21C4 */ virtual void insertTexture(u32, ResTIMG const*);
/* 802EF2B0 */ virtual void insertTexture(u32, ResTIMG const*, JUTPalette*);
/* 802EF67C */ virtual void insertTexture(u32, JUTTexture*);
/* 802EF80C */ virtual void setTexture(u32, ResTIMG const*);
/* 802EFA98 */ virtual void setTexture(u32, JUTTexture*);
/* 802EFB48 */ virtual void removeTexture(u32);
/* 802EFC40 */ virtual void setFont(ResFONT*);
/* 802EFCEC */ virtual void setFont(JUTFont*);
/* 802EFD68 */ virtual void setPalette(u32, ResTLUT const*);
/* 802EF1E0 */ virtual void prepareTexture(u8);
/* 802F21F4 */ virtual void getTexture(u32);
/* 802F2214 */ virtual void getPalette(u32);
/* 802F2234 */ virtual void getFont();
/* 802EFE40 */ virtual void shiftDeleteFlag(u8, bool);
/* 802F223C */ virtual void setUndeleteFlag(u8);
/* 802F224C */ virtual void setFontUndeleteFlag();
/* 802EEE8C */ virtual ~J2DTevBlock8();
private:
/* 0x004 */ u16 mTexNo[8];
/* 0x014 */ u16 mFontNo;
/* 0x016 */ J2DTevOrder mTevOrder[8];
/* 0x036 */ J2DGXColorS10 mTevColor[4];
/* 0x056 */ u8 mTevStageNum;
/* 0x057 */ J2DTevStage mTevStage[8];
/* 0x098 */ JUtility::TColor mTevKColor[4];
/* 0x0A8 */ u8 mTevKColorSel[8];
/* 0x0B0 */ u8 mTevKAlphaSel[8];
/* 0x0B8 */ J2DTevSwapModeTable mTevSwapModeTable[4];
/* 0x0BC */ J2DIndTevStage mIndTevStage[8];
/* 0x0DC */ JUTTexture* mTexture[8];
/* 0x0FC */ JUTPalette* mPalette[8];
/* 0x11C */ JUTFont* mFont;
/* 0x120 */ u8 mUndeleteFlag;
/* 0x121 */ bool mFontUndeleteFlag;
};
class J2DTevBlock16 : public J2DTevBlock {
public:
/* 802F01E4 */ J2DTevBlock16();
/* 802F03EC */ virtual void initialize();
/* 802F132C */ virtual void setGX();
/* 802F161C */ virtual void loadTexture(_GXTexMapID, u32);
/* 802F1D18 */ virtual void getType();
/* 802F1D24 */ virtual s32 getMaxStage();
/* 802F1D2C */ virtual void setTexNo(u32, u16);
/* 802F1D3C */ virtual void getTexNo(u32) const;
/* 802F1D4C */ virtual void setFontNo(u16);
/* 802F1D54 */ virtual void getFontNo() const;
/* 802F1D5C */ virtual void setTevOrder(u32, J2DTevOrder);
/* 802F1D80 */ virtual void getTevOrder(u32);
/* 802F1D94 */ virtual void setTevColor(u32, J2DGXColorS10);
/* 802F1DC0 */ virtual void getTevColor(u32);
/* 802F1DD4 */ virtual void setTevKColor(u32, JUtility::TColor);
/* 802F1E00 */ virtual void getTevKColor(u32);
/* 802F1E14 */ virtual void setTevKColorSel(u32, u8);
/* 802F1E20 */ virtual void getTevKColorSel(u32);
/* 802F1E2C */ virtual void setTevKAlphaSel(u32, u8);
/* 802F1E38 */ virtual void getTevKAlphaSel(u32);
/* 802F1E44 */ virtual void setTevStageNum(u8);
/* 802F1E4C */ virtual void getTevStageNum() const;
/* 802F1E54 */ virtual void setTevStage(u32, J2DTevStage);
/* 802F1E90 */ virtual void getTevStage(u32);
/* 802F1EA4 */ virtual void setTevSwapModeInfo(u32, J2DTevSwapModeInfo);
/* 802F1EDC */ virtual void setTevSwapModeTable(u32, J2DTevSwapModeTable);
/* 802F1EEC */ virtual void getTevSwapModeTable(u32);
/* 802F1EFC */ virtual void setIndTevStage(u32, J2DIndTevStage);
/* 802F1F10 */ virtual void getIndTevStage(u32);
/* 802F1F24 */ virtual void insertTexture(u32, ResTIMG const*);
/* 802F0730 */ virtual void insertTexture(u32, ResTIMG const*, JUTPalette*);
/* 802F0AFC */ virtual void insertTexture(u32, JUTTexture*);
/* 802F0C8C */ virtual void setTexture(u32, ResTIMG const*);
/* 802F0F18 */ virtual void setTexture(u32, JUTTexture*);
/* 802F0FC8 */ virtual void removeTexture(u32);
/* 802F10C0 */ virtual void setFont(ResFONT*);
/* 802F116C */ virtual void setFont(JUTFont*);
/* 802F11E8 */ virtual void setPalette(u32, ResTLUT const*);
/* 802F0660 */ virtual void prepareTexture(u8);
/* 802F1F54 */ virtual void getTexture(u32);
/* 802F1F74 */ virtual void getPalette(u32);
/* 802F1F94 */ virtual void getFont();
/* 802F12C0 */ virtual void shiftDeleteFlag(u8, bool);
/* 802F1F9C */ virtual void setUndeleteFlag(u8);
/* 802F1FAC */ virtual void setFontUndeleteFlag();
/* 802F030C */ virtual ~J2DTevBlock16();
private:
/* 0x004 */ u16 mTexNo[8];
/* 0x014 */ u16 mFontNo;
/* 0x016 */ J2DTevOrder mTevOrder[16];
/* 0x056 */ J2DGXColorS10 mTevColor[4];
/* 0x076 */ u8 mTevStageNum;
/* 0x077 */ J2DTevStage mTevStage[16];
/* 0x0F8 */ JUtility::TColor mTevKColor[4];
/* 0x108 */ u8 mTevKColorSel[16];
/* 0x118 */ u8 mTevKAlphaSel[16];
/* 0x128 */ J2DTevSwapModeTable mTevSwapModeTable[4];
/* 0x12C */ J2DIndTevStage mIndTevStage[16];
/* 0x16C */ JUTTexture* mTexture[16];
/* 0x18C */ JUTPalette* mPalette[16];
/* 0x1AC */ JUTFont* mFont;
/* 0x1B0 */ u8 mUndeleteFlag;
/* 0x1B1 */ bool mFontUndeleteFlag;
}; // Size: 0x1B4
struct J2DAlphaComp {
/* 0x0 */ u8 field_0x0;
/* 0x1 */ u8 field_0x1;
/* 0x2 */ u8 mRef0;
/* 0x3 */ u8 mRef1;
};
struct J2DBlendInfo {
/* 0x0 */ u8 mType;
/* 0x1 */ u8 mSrcFactor;
/* 0x2 */ u8 mDstFactor;
/* 0x3 */ u8 mOp;
};
struct J2DBlend {
/* 0x0 */ J2DBlendInfo mBlendInfo;
};
class J2DPEBlock {
public:
/* 802F17FC */ void initialize();
/* 802F1840 */ void setGX();
private:
/* 0x0 */ J2DAlphaComp mAlphaComp;
/* 0x4 */ J2DBlend mBlend;
/* 0x8 */ u8 mDither;
};
class J2DIndBlock {
public:
/* 802EB24C */ virtual void initialize();
/* 802EB1CC */ virtual void setGX();
virtual void getType() = 0;
/* 802EB250 */ virtual void setIndTexStageNum(u8);
/* 802EA1A4 */ virtual bool getIndTexStageNum() const;
/* 802EB254 */ virtual void setIndTexOrder(u32, J2DIndTexOrder);
/* 802EA19C */ virtual bool getIndTexOrder(u32);
/* 802EB258 */ virtual void setIndTexMtx(u32, J2DIndTexMtx);
/* 802EA194 */ virtual bool getIndTexMtx(u32);
/* 802EB25C */ virtual void setIndTexCoordScale(u32, J2DIndTexCoordScale);
/* 802EA18C */ virtual bool getIndTexCoordScale(u32);
/* 802EB13C */ virtual ~J2DIndBlock();
};
class J2DIndBlockFull : public J2DIndBlock {
public:
/* 802F1664 */ virtual void initialize();
/* 802F1730 */ virtual void setGX();
/* 802F1B94 */ virtual void getType();
/* 802F1BA0 */ virtual void setIndTexStageNum(u8);
/* 802F1BA8 */ virtual void getIndTexStageNum() const;
/* 802F1BB0 */ virtual void setIndTexOrder(u32, J2DIndTexOrder);
/* 802F1BCC */ virtual void getIndTexOrder(u32);
/* 802F1BE0 */ virtual void setIndTexMtx(u32, J2DIndTexMtx);
/* 802F1C38 */ virtual void getIndTexMtx(u32);
/* 802F1C4C */ virtual void setIndTexCoordScale(u32, J2DIndTexCoordScale);
/* 802F1C68 */ virtual void getIndTexCoordScale(u32);
/* 802F1C7C */ virtual ~J2DIndBlockFull();
private:
/* 0x04 */ u8 mIndTexStageNum;
/* 0x05 */ J2DIndTexOrder mIndTexOrder[4];
/* 0x10 */ J2DIndTexMtx mIndTexMtx[3];
/* 0x64 */ J2DIndTexCoordScale mTexCoordScale[4];
};
class J2DIndBlockNull : public J2DIndBlock {
/* 802EB1E0 */ virtual void setGX();
/* 802EB1E4 */ virtual void getType();
/* 802EB1F0 */ virtual ~J2DIndBlockNull();
};
class J2DTexGenBlock {
private:
/* 0x00 */ u32 mTexGenNum;
/* 0x04 */ J2DTexCoord mTexGenCoord[8];
/* 0x24 */ J2DTexMtx* mTexMtx[8];
public:
/* 802EB510 */ void initialize();
/* 802EB570 */ void setGX();
/* 802EB6A4 */ void setTexMtx(u32, J2DTexMtx&);
/* 802EB7E0 */ void getTexMtx(u32, J2DTexMtx&);
/* 802EB620 */ virtual ~J2DTexGenBlock();
}; // Size: 0x48
struct J2DColorChanInfo {
/* 0x0 */ u16 field_0x0;
};
class J2DColorChan {
public:
/* 802EB280 */ J2DColorChan();
private:
/* 0x0 */ J2DColorChanInfo mColorChanInfo;
};
class J2DColorBlock {
private:
/* 0x00 */ JUtility::TColor mMatColor[2];
/* 0x08 */ u8 mColorChanNum;
/* 0x0A */ J2DColorChan mColorChan[4];
/* 0x12 */ u8 mCullMode;
public:
/* 802EB394 */ void initialize();
/* 802EB424 */ void setGX();
/* 802EB0F4 */ virtual ~J2DColorBlock();
};
#endif /* J2DMATBLOCK_H */
+30 -3
View File
@@ -2,15 +2,27 @@
#define J2DMATERIAL_H
#include "JSystem/J2DGraph/J2DAnimation.h"
#include "JSystem/J2DGraph/J2DMatBlock.h"
#include "dolphin/gx/GX.h"
#include "dolphin/types.h"
struct J2DMaterial {
class J2DMaterial {
public:
struct J2DMaterialAnmPointer {
/* 802EA79C */ J2DMaterialAnmPointer();
};
/* 0x00 */ int field_0x0;
/* 0x04 */ int field_0x4;
/* 0x08 */ int field_0x8;
/* 0x0C */ int field_0xc;
/* 0x10 */ u16 field_0x10;
/* 0x12 */ u16 field_0x12[8];
/* 0x22 */ u16 field_0x22[8];
/* 0x32 */ u16 field_0x32[4];
/* 0x3A */ u16 field_0x3a[4];
}; // Size: 0x44
/* 802EA1AC */ J2DMaterial();
/* 802EA2CC */ ~J2DMaterial();
/* 802EA38C */ void setGX();
/* 802EA410 */ void createTevBlock(int, bool);
/* 802EA5C4 */ void createIndBlock(int, bool);
@@ -20,6 +32,21 @@ struct J2DMaterial {
/* 802EAB0C */ void setAnimation(J2DAnmTevRegKey*);
/* 802EA89C */ void setAnimation(J2DAnmColor*);
/* 802EAC78 */ void animation();
/* 802EA2CC */ virtual ~J2DMaterial();
private:
/* 0x04 */ int field_0x4;
/* 0x08 */ int field_0x8;
/* 0x0C */ u16 mIndex;
/* 0x0E */ bool mVisible;
/* 0x0F */ u8 mMaterialAlphaCalc;
/* 0x10 */ J2DColorBlock mColorBlock;
/* 0x28 */ J2DTexGenBlock mTexGenBlock;
/* 0x70 */ J2DTevBlock* mTevBlock;
/* 0x74 */ J2DIndBlock* mIndBlock;
/* 0x78 */ J2DPEBlock mPEBlock;
/* 0x84 */ J2DMaterialAnmPointer* mAnmPointer;
};
#endif /* J2DMATERIAL_H */
@@ -1,6 +1,72 @@
#ifndef J2DMATERIALFACTORY_H
#define J2DMATERIALFACTORY_H
#include "JSystem/J2DGraph/J2DManage.h"
#include "JSystem/J2DGraph/J2DMaterial.h"
#include "JSystem/JKernel/JKRArchive.h"
#include "dolphin/types.h"
struct J2DMaterialBlock {};
struct J2DMaterialInitData;
struct J2DIndInitData;
struct J2DTevSwapModeTableInfo;
struct J2DAlphaCompInfo;
class J2DMaterialFactory {
public:
/* 802F2AD0 */ J2DMaterialFactory(J2DMaterialBlock const&);
/* 802F2C94 */ void countStages(int) const;
/* 802F2D1C */ void create(J2DMaterial*, int, u32, J2DResReference*, J2DResReference*,
JKRArchive*) const;
/* 802F362C */ void newMatColor(int, int) const;
/* 802F36CC */ void newColorChanNum(int) const;
/* 802F3704 */ void newColorChan(int, int) const;
/* 802F3758 */ void newTexGenNum(int) const;
/* 802F3790 */ void newTexCoord(int, int) const;
/* 802F3804 */ void newTexMtx(int, int) const;
/* 802F38E0 */ void newCullMode(int) const;
/* 802F3920 */ void newTexNo(int, int) const;
/* 802F3968 */ void newFontNo(int) const;
/* 802F39A8 */ void newTevOrder(int, int) const;
/* 802F3A1C */ void newTevColor(int, int) const;
/* 802F3AB4 */ void newTevKColor(int, int) const;
/* 802F3B54 */ void newTevStageNum(int) const;
/* 802F3B8C */ void newTevStage(int, int) const;
/* 802F3BEC */ void newTevSwapModeTable(int, int) const;
/* 802F3C88 */ void newIndTexStageNum(int) const;
/* 802F3CB8 */ void newIndTexOrder(int, int) const;
/* 802F3D20 */ void newIndTexMtx(int, int) const;
/* 802F3E24 */ void newIndTevStage(int, int) const;
/* 802F3F78 */ void newIndTexCoordScale(int, int) const;
/* 802F3FE0 */ void newAlphaComp(int) const;
/* 802F405C */ void newBlend(int) const;
/* 802F40D8 */ void newDither(int) const;
private:
/* 0x00 */ int field_0x0;
/* 0x04 */ J2DMaterialInitData* field_0x4;
/* 0x08 */ u16* field_0x8;
/* 0x0C */ J2DIndInitData* field_0xc;
/* 0x10 */ GXColor* field_0x10;
/* 0x14 */ u8* field_0x14;
/* 0x18 */ J2DColorChanInfo* field_0x18;
/* 0x1C */ u8* field_0x1c;
/* 0x20 */ J2DTexCoordInfo* field_0x20;
/* 0x24 */ J2DTexMtxInfo* field_0x24;
/* 0x28 */ u16* field_0x28;
/* 0x2C */ u16* field_0x2c;
/* 0x30 */ _GXCullMode* field_0x30;
/* 0x34 */ J2DTevOrderInfo* field_0x34;
/* 0x38 */ GXColorS10* field_0x38;
/* 0x3C */ GXColor* field_0x3c;
/* 0x40 */ u8* field_0x40;
/* 0x44 */ J2DTevStageInfo* field_0x44;
/* 0x48 */ J2DTevSwapModeInfo* field_0x48;
/* 0x4C */ J2DTevSwapModeTableInfo* field_0x4c;
/* 0x50 */ J2DAlphaCompInfo* field_0x50;
/* 0x54 */ J2DBlendInfo* field_0x54;
/* 0x58 */ u8* field_0x58;
};
#endif /* J2DMATERIALFACTORY_H */
+96
View File
@@ -1,6 +1,102 @@
#ifndef J2DPICTUREEX_H
#define J2DPICTUREEX_H
#include "JSystem/J2DGraph/J2DMaterial.h"
#include "JSystem/J2DGraph/J2DPicture.h"
#include "dolphin/types.h"
class J2DPictureEx : public J2DPicture {
public:
enum stage_enum {};
/* 803036EC */ J2DPictureEx(J2DPane*, JSURandomInputStream*, u32, J2DMaterial*);
/* 803040E4 */ void insertCommon(u8, f32);
/* 8030437C */ void isInsert(u8) const;
/* 80304728 */ void isRemove(u8) const;
/* 803052AC */ void setTevOrder(u8, u8, bool);
/* 803053E0 */ void setTevStage(u8, u8, bool);
/* 80305688 */ void setStage(J2DTevStage*, J2DPictureEx::stage_enum);
/* 80305928 */ void setTevKColor(u8);
/* 80305C70 */ void setTevKColorSel(u8);
/* 80305D18 */ void setTevKAlphaSel(u8);
/* 80305DC0 */ void shiftSetBlendRatio(u8, f32, bool, bool);
/* 80306664 */ void getBlackWhite(JUtility::TColor*, JUtility::TColor*) const;
/* 80306824 */ void isSetBlackWhite(JUtility::TColor, JUtility::TColor) const;
/* 8030393C */ virtual ~J2DPictureEx();
/* 80307168 */ virtual void setCullBack(bool);
/* 803069D8 */ virtual void setCullBack(_GXCullMode);
/* 803069B8 */ virtual void setAlpha(u8);
/* 80303AB4 */ virtual void drawSelf(f32, f32, f32 (*)[3][4]);
/* 80306A24 */ virtual void isUsed(ResTIMG const*);
/* 803071A4 */ virtual void isUsed(ResFONT const*);
/* 80306A0C */ virtual void rewriteAlpha();
/* 803071C4 */ virtual void setAnimation(J2DAnmBase*);
/* 80256064 */ virtual void setAnimation(J2DAnmTransform*);
/* 80306AC4 */ virtual void setAnimation(J2DAnmColor*);
/* 80306B1C */ virtual void setAnimation(J2DAnmTexPattern*);
/* 80306AF0 */ virtual void setAnimation(J2DAnmTextureSRTKey*);
/* 80306B48 */ virtual void setAnimation(J2DAnmTevRegKey*);
/* 80306B74 */ virtual void setAnimation(J2DAnmVisibilityFull*);
/* 80306B7C */ virtual void setAnimation(J2DAnmVtxColor*);
/* 80306C70 */ virtual void animationPane(J2DAnmTransform const*);
/* 80303640 */ virtual void initiate(ResTIMG const*, ResTLUT const*);
/* 803039CC */ virtual void prepareTexture(u8);
/* 80306ED4 */ virtual void append(ResTIMG const*, f32);
/* 80303E5C */ virtual void append(ResTIMG const*, JUTPalette*, f32);
/* 80306F04 */ virtual void append(char const*, f32);
/* 80303EA4 */ virtual void append(char const*, JUTPalette*, f32);
/* 80303EEC */ virtual void append(JUTTexture*, f32);
/* 80306FF4 */ virtual void prepend(ResTIMG const*, f32);
/* 80306FC4 */ virtual void prepend(ResTIMG const*, JUTPalette*, f32);
/* 80306F94 */ virtual void prepend(char const*, f32);
/* 80306F64 */ virtual void prepend(char const*, JUTPalette*, f32);
/* 80306F34 */ virtual void prepend(JUTTexture*, f32);
/* 80307058 */ virtual void insert(ResTIMG const*, u8, f32);
/* 80303F34 */ virtual void insert(ResTIMG const*, JUTPalette*, u8, f32);
/* 80307024 */ virtual void insert(char const*, u8, f32);
/* 80303FD8 */ virtual void insert(char const*, JUTPalette*, u8, f32);
/* 80304048 */ virtual void insert(JUTTexture*, u8, f32);
/* 8030446C */ virtual void remove(u8);
/* 80304608 */ virtual void remove();
/* 8030466C */ virtual void remove(JUTTexture*);
/* 8030708C */ virtual void draw(f32, f32, bool, bool, bool);
/* 8030477C */ virtual void draw(f32, f32, u8, bool, bool, bool);
/* 80304890 */ virtual void draw(f32, f32, f32, f32, bool, bool, bool);
/* 80304D88 */ virtual void drawOut(f32, f32, f32, f32, f32, f32);
/* 803070D0 */ virtual void drawOut(f32, f32, f32, f32, f32, f32, f32, f32);
/* 80304EF0 */ virtual void drawOut(JGeometry::TBox2<f32> const&, JGeometry::TBox2<f32> const&);
/* 80305264 */ virtual void load(_GXTexMapID, u8);
/* 80307134 */ virtual void load(u8);
/* 80305ED4 */ virtual void setBlendColorRatio(f32, f32);
/* 80305F34 */ virtual void setBlendAlphaRatio(f32, f32);
/* 80305F94 */ virtual void changeTexture(ResTIMG const*, u8);
/* 803060DC */ virtual void changeTexture(char const*, u8);
/* 80306134 */ virtual void changeTexture(ResTIMG const*, u8, JUTPalette*);
/* 80306298 */ virtual void changeTexture(char const*, u8, JUTPalette*);
/* 803062F8 */ virtual void getTexture(u8) const;
/* 80306350 */ virtual void getTextureCount() const;
/* 80306370 */ virtual void setBlack(JUtility::TColor);
/* 803063F8 */ virtual void setWhite(JUtility::TColor);
/* 80306480 */ virtual void setBlackWhite(JUtility::TColor, JUtility::TColor);
/* 803068F8 */ virtual void getBlack() const;
/* 80306958 */ virtual void getWhite() const;
/* 80256034 */ virtual void getMaterial() const;
/* 80303B80 */ virtual void drawFullSet(f32, f32, f32, f32, f32 (*)[3][4]);
/* 80303BDC */ virtual void drawTexCoord(f32, f32, f32, f32, s16, s16, s16, s16, s16, s16, s16,
s16, f32 (*)[3][4]);
/* 80306DC8 */ virtual void getUsableTlut(u8);
private:
/* 0x150 */ J2DMaterial* mMaterial;
/* 0x154 */ u16 field_0x154;
/* 0x156 */ u16 field_0x156;
/* 0x158 */ u16 field_0x158[4];
/* 0x160 */ f32 field_0x160[6]; // related to blend color ratio
/* 0x178 */ f32 field_0x178[6]; // related to blend alpha ratio
/* 0x190 */ u8 field_0x190;
/* 0x194 */ int field_0x194;
/* 0x198 */ int field_0x198;
};
#endif /* J2DPICTUREEX_H */
+62
View File
@@ -1,6 +1,68 @@
#ifndef J2DPRINT_H
#define J2DPRINT_H
#include "JSystem/J2DGraph/J2DTextBox.h"
#include "JSystem/JUtility/TColor.h"
#include "MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf.h"
#include "dolphin/types.h"
class J2DPrint {
public:
struct TSize {
/* 0x0 */ f32 field_0x0;
/* 0x4 */ f32 field_0x4;
};
/* 802F4394 */ J2DPrint(JUTFont*, f32, f32, JUtility::TColor, JUtility::TColor,
JUtility::TColor, JUtility::TColor);
/* 802F4658 */ static u8* setBuffer(size_t);
/* 802F46C4 */ void setFontSize();
/* 802F475C */ void locate(f32, f32);
/* 802F4778 */ void print(f32, f32, u8, char const*, ...);
/* 802F4828 */ void printReturn(char const*, f32, f32, J2DTextBoxHBinding, J2DTextBoxVBinding,
f32, f32, u8);
/* 802F4B4C */ void parse(u8 const*, int, int, u16*, J2DPrint::TSize&, u8, bool);
/* 802F52E8 */ void doCtrlCode(int);
/* 802F5410 */ void doEscapeCode(u8 const**, u8);
/* 802F594C */ void initchar();
/* 802F59C0 */ void getNumberS32(u8 const**, s32, s32, int);
/* 802F5AC4 */ void getNumberF32(u8 const**, f32, f32, int);
/* 802F4420 */ virtual ~J2DPrint();
static const u8* mStrBuff;
static size_t mStrBuffSize;
private:
/* 802F4468 */ void private_initiate(JUTFont*, f32, f32, JUtility::TColor, JUtility::TColor,
JUtility::TColor, JUtility::TColor, bool);
/* 0x04 */ JUTFont* mFont;
/* 0x08 */ JUtility::TColor field_0x8;
/* 0x0C */ JUtility::TColor field_0xc;
/* 0x10 */ f32 field_0x10;
/* 0x14 */ f32 field_0x14;
/* 0x18 */ f32 field_0x18;
/* 0x1C */ f32 field_0x1c;
/* 0x20 */ s16 field_0x20;
/* 0x22 */ u8 field_0x22;
/* 0x24 */ f32 field_0x24;
/* 0x28 */ f32 field_0x28;
/* 0x2C */ f32 field_0x2c;
/* 0x30 */ f32 mCursorV;
/* 0x34 */ f32 field_0x34;
/* 0x38 */ JUtility::TColor field_0x38;
/* 0x3C */ JUtility::TColor field_0x3c;
/* 0x40 */ JUtility::TColor mCharColor;
/* 0x44 */ JUtility::TColor mGradColor;
/* 0x48 */ f32 field_0x48;
/* 0x4C */ f32 field_0x4c;
/* 0x50 */ f32 mFontSizeX;
/* 0x54 */ f32 mFontSizeY;
/* 0x58 */ s16 field_0x58;
/* 0x5A */ u8 field_0x5a;
}; // Size: 0x5C
f32 J2DPrint_print_alpha_va(J2DPrint*, u8, const char*, va_list);
#endif /* J2DPRINT_H */
+163
View File
@@ -1,6 +1,169 @@
#ifndef J2DTEVS_H
#define J2DTEVS_H
#include "dolphin/mtx/mtxvec.h"
#include "dolphin/types.h"
struct J2DTextureSRTInfo {
/* 0x00 */ f32 field_0x0;
/* 0x04 */ f32 field_0x4;
/* 0x08 */ f32 field_0x8;
/* 0x0C */ f32 field_0xc;
/* 0x10 */ f32 field_0x10;
}; // Size: 0x14
struct J2DTexMtxInfo {
/* 0x00 */ u8 field_0x0;
/* 0x01 */ u8 field_0x1;
/* 0x02 */ u8 field_0x2; // padding ?
/* 0x03 */ u8 field_0x3; // padding ?
/* 0x04 */ Vec field_0x4;
/* 0x10 */ J2DTextureSRTInfo mTexSRTInfo;
}; // Size: 0x24
class J2DTexMtx {
public:
/* 802E9C90 */ void load(u32);
/* 802E9CC4 */ void calc();
/* 802E9D2C */ void getTextureMtx(J2DTextureSRTInfo const&, Vec, f32 (*)[4]);
/* 802E9EBC */ void getTextureMtxMaya(J2DTextureSRTInfo const&, f32 (*)[4]);
private:
/* 0x00 */ J2DTexMtxInfo mTexMtxInfo;
/* 0x24 */ Mtx mTexMtx;
};
struct J2DIndTexOrderInfo {
/* 0x0 */ u8 field_0x0;
/* 0x1 */ u8 field_0x1;
};
class J2DIndTexOrder {
public:
/* 802EB378 */ J2DIndTexOrder();
/* 802EA0FC */ void load(u8);
private:
/* 0x0 */ J2DIndTexOrderInfo mIndTexOrderInfo;
};
struct J2DIndTexMtxInfo {
/* 0x00 */ Mtx23 mMtx;
/* 0x18 */ u8 field_0x18;
};
class J2DIndTexMtx {
public:
/* 802EB2E4 */ ~J2DIndTexMtx();
/* 802EB320 */ J2DIndTexMtx();
/* 802EA098 */ void load(u8);
/* 802E9C90 */ void load(u32);
/* 802E9CC4 */ void calc();
private:
/* 0x0 */ J2DIndTexMtxInfo mIndTexMtxInfo;
}; // Size: 0x1C
struct J2DIndTexCoordScaleInfo {
/* 0x0 */ u8 field_0x0;
/* 0x0 */ u8 field_0x1;
};
class J2DIndTexCoordScale {
public:
/* 802EB290 */ ~J2DIndTexCoordScale();
/* 802EB2CC */ J2DIndTexCoordScale();
/* 802EA0CC */ void load(u8);
private:
/* 0x0 */ J2DIndTexCoordScaleInfo mIndTexCoordScaleInfo;
}; // Size: 0x2
class J2DIndTevStage {
public:
/* 802EA044 */ void load(u8);
/* 802F18A0 */ J2DIndTevStage();
private:
/* 0x0 */ u32 mFlags;
};
struct J2DTexCoordInfo {
/* 0x0 */ u8 mTexGenType;
/* 0x1 */ u8 mTexGenSrc;
/* 0x2 */ u8 mTexGenMtx;
u8 padding; // ?
};
class J2DTexCoord {
public:
/* 802EB260 */ J2DTexCoord();
private:
/* 0x0 */ J2DTexCoordInfo mTexCoordInfo;
};
struct J2DTevOrderInfo {
/* 0x0 */ u8 mTexCoord;
/* 0x1 */ u8 mTexMap;
/* 0x2 */ u8 mColor;
};
class J2DTevOrder {
public:
/* 802F1B70 */ J2DTevOrder();
private:
/* 0x0 */ J2DTevOrderInfo mTevOrderInfo;
};
struct J2DTevStageInfo {
/* 0x00 */ u8 field_0x0;
/* 0x01 */ u8 field_0x1;
/* 0x02 */ u8 field_0x2;
/* 0x03 */ u8 field_0x3;
/* 0x04 */ u8 field_0x4;
/* 0x05 */ u8 field_0x5;
/* 0x06 */ u8 field_0x6;
/* 0x07 */ u8 field_0x7;
/* 0x08 */ u8 field_0x8;
/* 0x09 */ u8 field_0x9;
/* 0x0A */ u8 field_0xa;
/* 0x0B */ u8 field_0xb;
/* 0x0C */ u8 field_0xc;
/* 0x0D */ u8 field_0xd;
/* 0x0E */ u8 field_0xe;
/* 0x0F */ u8 field_0xf;
/* 0x10 */ u8 field_0x10;
/* 0x11 */ u8 field_0x11;
/* 0x12 */ u8 field_0x12;
};
class J2DTevStage {
public:
/* 802F4110 */ J2DTevStage(J2DTevStageInfo const&);
/* 802F1940 */ J2DTevStage();
/* 802F19A8 */ void setTevStageInfo(J2DTevStageInfo const&);
private:
/* 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;
};
struct J2DTevSwapModeInfo {};
class J2DTevSwapModeTable {
public:
/* 802F1934 */ J2DTevSwapModeTable();
private:
/* 0x0 */ u8 field_0x0;
};
#endif /* J2DTEVS_H */
+50
View File
@@ -1,6 +1,56 @@
#ifndef J2DTEXTBOXEX_H
#define J2DTEXTBOXEX_H
#include "JSystem/J2DGraph/J2DMaterial.h"
#include "JSystem/J2DGraph/J2DPrint.h"
#include "JSystem/J2DGraph/J2DTextBox.h"
#include "dolphin/types.h"
class J2DTextBoxEx : public J2DTextBox {
public:
enum stage_enum {};
/* 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;
/* 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*);
/* 80308810 */ virtual void rewriteAlpha();
/* 80308A4C */ virtual void setAnimation(J2DAnmBase*);
/* 80256044 */ virtual void setAnimation(J2DAnmTransform*);
/* 803088B4 */ virtual void setAnimation(J2DAnmColor*);
/* 8030890C */ virtual void setAnimation(J2DAnmTexPattern*);
/* 803088E0 */ virtual void setAnimation(J2DAnmTextureSRTKey*);
/* 80308938 */ virtual void setAnimation(J2DAnmTevRegKey*);
/* 80308964 */ virtual void setAnimation(J2DAnmVisibilityFull*);
/* 80308A48 */ virtual void setAnimation(J2DAnmVtxColor*);
/* 8030896C */ virtual void animationPane(J2DAnmTransform const*);
/* 803078AC */ virtual void draw(f32, f32);
/* 80307AF0 */ virtual void draw(f32, f32, f32, J2DTextBoxHBinding);
/* 80307D5C */ virtual void setFont(JUTFont*);
/* 80307DC0 */ virtual void 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;
private:
/* 0x134 */ u8 field_0x134[4];
/* 0x138 */ J2DMaterial* mMaterial;
/* 0x13C */ u16 field_0x13c;
/* 0x13E */ u16 field_0x13e;
/* 0x140 */ u8 field_0x140;
}; // Size: 0x144
#endif /* J2DTEXTBOXEX_H */
+62
View File
@@ -1,6 +1,68 @@
#ifndef J2DWINDOWEX_H
#define J2DWINDOWEX_H
#include "JSystem/J2DGraph/J2DMaterial.h"
#include "JSystem/J2DGraph/J2DWindow.h"
#include "dolphin/types.h"
class J2DWindowEx : public J2DWindow {
public:
enum stage_enum {};
/* 80300C94 */ J2DWindowEx(J2DPane*, JSURandomInputStream*, u32, J2DMaterial*);
/* 80300F80 */ void setMinSize();
/* 803012CC */ void draw_private(JGeometry::TBox2<f32> const&, JGeometry::TBox2<f32> const&);
/* 80301D74 */ void drawFrameTexture(f32, f32, f32, f32, u16, u16, u16, u16, J2DMaterial*,
bool);
/* 80302284 */ void setTevOrder(bool);
/* 80302388 */ void setTevStage(bool);
/* 803024B4 */ void setStage(J2DTevStage*, J2DWindowEx::stage_enum);
/* 80302A4C */ void getBlackWhite(JUtility::TColor*, JUtility::TColor*) const;
/* 80302BE8 */ void isSetBlackWhite(JUtility::TColor, JUtility::TColor) const;
/* 8030321C */ void isNeedSetAnm(u8);
/* 80301144 */ virtual ~J2DWindowEx();
/* 803035C0 */ virtual void setCullBack(bool);
/* 80302D98 */ virtual void setCullBack(_GXCullMode);
/* 80302D48 */ virtual void setAlpha(u8);
/* 8030122C */ virtual void drawSelf(f32, f32, f32 (*)[3][4]);
/* 80302EDC */ virtual void isUsed(ResTIMG const*);
/* 803035FC */ virtual void isUsed(ResFONT const*);
/* 80302DF4 */ virtual void rewriteAlpha();
/* 8030361C */ virtual void setAnimation(J2DAnmBase*);
/* 80256084 */ virtual void setAnimation(J2DAnmTransform*);
/* 80302FFC */ virtual void setAnimation(J2DAnmColor*);
/* 8030310C */ virtual void setAnimation(J2DAnmTexPattern*);
/* 80303084 */ virtual void setAnimation(J2DAnmTextureSRTKey*);
/* 80303194 */ virtual void setAnimation(J2DAnmTevRegKey*);
/* 80303274 */ virtual void setAnimation(J2DAnmVisibilityFull*);
/* 8030327C */ virtual void setAnimation(J2DAnmVtxColor*);
/* 80303370 */ virtual void animationPane(J2DAnmTransform const*);
/* 80301FC8 */ virtual void draw(JGeometry::TBox2<f32> const&);
/* 80302164 */ virtual void draw(JGeometry::TBox2<f32> const&, JGeometry::TBox2<f32> const&);
/* 80303568 */ virtual void draw(f32, f32, f32, f32);
/* 80302764 */ virtual void setBlack(JUtility::TColor);
/* 803027EC */ virtual void setWhite(JUtility::TColor);
/* 80302874 */ virtual void setBlackWhite(JUtility::TColor, JUtility::TColor);
/* 80302C88 */ virtual void getBlack() const;
/* 80302CE8 */ virtual void getWhite() const;
/* 80302E0C */ virtual void getFrameTexture(u8, u8) const;
/* 80302E74 */ virtual void getContentsTexture(u8) const;
/* 8030353C */ virtual void getMaterial(J2DWindow::TMaterial&) const;
/* 80303510 */ virtual void getFrameMaterial(u8) const;
/* 80303534 */ virtual void getContentsMaterial() const;
/* 80301994 */ virtual void drawContents(JGeometry::TBox2<f32> const&);
private:
/* 0x148 */ J2DMaterial* mFrameMaterial[4];
/* 0x158 */ u16 field_0x158[4];
/* 0x160 */ J2DMaterial* mContentsMaterial;
/* 0x164 */ u16 field_0x164;
/* 0x166 */ u16 field_0x166;
/* 0x168 */ u16 field_0x168[4];
/* 0x170 */ u8 field_0x170;
/* 0x174 */ J2DAnmVisibilityFull* mAnmVisibilityFull;
/* 0x178 */ J2DAnmVtxColor* mAnmVtxColor;
};
#endif /* J2DWINDOWEX_H */
@@ -3,7 +3,7 @@
#include "JSystem/J3DGraphAnimator/J3DMaterialAttach.h"
#include "JSystem/J3DGraphAnimator/J3DModelData.h"
#include "dolphin/gx/GXTexture.h"
#include "dolphin/gx/GX.h"
#include "dolphin/types.h"
class J3DAnmBase {
+1 -1
View File
@@ -4,7 +4,7 @@
#include "JSystem/J3DGraphBase/J3DStruct.h"
#include "JSystem/J3DGraphBase/J3DTevs.h"
#include "JSystem/J3DGraphBase/J3DTexture.h"
#include "dolphin/gx/GXTexture.h"
#include "dolphin/gx/GX.h"
#include "dolphin/mtx/mtx.h"
#include "dolphin/types.h"
+1 -1
View File
@@ -2,7 +2,7 @@
#define J3DSTRUCT_H
#include "SSystem/SComponent/c_xyz.h"
#include "dolphin/gx/GXTexture.h"
#include "dolphin/gx/GX.h"
#include "dolphin/types.h"
class J3DLightInfo {
+1 -3
View File
@@ -1,7 +1,7 @@
#ifndef J3DSYS_H
#define J3DSYS_H
#include "dolphin/gx/GXTexture.h"
#include "dolphin/gx/GX.h"
#include "dolphin/mtx/mtx.h"
#include "dolphin/types.h"
@@ -11,8 +11,6 @@ enum J3DError {
kJ3DError_Alloc = 4,
};
struct _GXTexCacheSize {};
class J3DMtxCalc;
class J3DModel;
class J3DMatPacket;
-27
View File
@@ -6,33 +6,6 @@
enum JUTTransparency { UNK0, UNK1 };
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,
};
enum _GXTlutFmt {
/* 0x00 */ UNK,
};
struct ResTLUT {
u8 format;
u8 transparency;
+1 -1
View File
@@ -1,7 +1,7 @@
#ifndef TCOLOR_H
#define TCOLOR_H
#include "dolphin/gx/GXTexture.h"
#include "dolphin/gx/GX.h"
#include "dolphin/types.h"
namespace JUtility {
@@ -3,4 +3,8 @@
#include "dolphin/types.h"
extern "C" {
int tolower(int);
};
#endif /* MSL_COMMON_SRC_CTYPE_H */
@@ -5,6 +5,17 @@
extern "C" {
void* memcpy(void*, const void*, s32);
void* memset(void*, int, u32);
char* strrchr(const char*, int);
char* strchr(const char*, int);
int strncmp(const char*, const char*, u32);
int strcmp(const char*, const char*);
char* strcat(char*, const char*);
char* strncpy(char*, const char*, u32);
char* strcpy(char*, const char*);
u32 strlen(const char*);
int stricmp(const char*, const char*);
};
#endif /* MSL_COMMON_SRC_STRING_H */
+1 -1
View File
@@ -7,7 +7,7 @@
#include "SSystem/SComponent/c_m3d_g_cyl.h"
#include "SSystem/SComponent/c_m3d_g_sph.h"
#include "SSystem/SComponent/c_m3d_g_tri.h"
#include "dolphin/gx/GXTexture.h"
#include "dolphin/gx/GX.h"
#include "f_op/f_op_actor.h"
#include "global.h"
-1
View File
@@ -8,7 +8,6 @@
#include "dolphin/types.h"
#include "f_op/f_op_actor.h"
#include "f_op/f_op_actor_mng.h"
#include "msl_c/string.h"
struct stage_vrboxcol_info_class {};
+1 -5
View File
@@ -7,7 +7,7 @@
#include "JSystem/JParticle/JPAParticle.h"
#include "SSystem/SComponent/c_sxyz.h"
#include "SSystem/SComponent/c_xyz.h"
#include "dolphin/gx/GXTexture.h"
#include "dolphin/gx/GX.h"
#include "dolphin/types.h"
#include "m_Do/m_Do_ext.h"
@@ -328,10 +328,6 @@ private:
/* 0x18 */ EVIL_EFF field_0x18[2000];
};
struct GXFogAdjTable {
u16 field_0x0[10];
};
class fopAc_ac_c;
class dScnKy_env_light_c {
+2 -1
View File
@@ -1,9 +1,10 @@
#ifndef D_SAVE_D_SAVE_H
#define D_SAVE_D_SAVE_H
#include "MSL_C.PPCEABI.bare.H/MSL_Common/src/printf.h"
#include "MSL_C.PPCEABI.bare.H/MSL_Common/src/string.h"
#include "SSystem/SComponent/c_xyz.h"
#include "dolphin/types.h"
#include "msl_c/string.h"
#define DEFAULT_SELECT_ITEM_INDEX 0
#define MAX_SELECT_ITEM 4
+526 -242
View File
@@ -2,49 +2,123 @@
#define GX_H_
#include "dolphin/gx/GXDisplayList.h"
#include "dolphin/gx/GXTexture.h"
#include "dolphin/mtx/mtx.h"
#include "dolphin/mtx/mtx44.h"
#include "dolphin/types.h"
// TODO: maybe split?
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;
u8 antialiasing;
u8 sample_pattern[12][2];
u8 vfilter[7];
} GXRenderModeObj;
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 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 {
GX_CULL_NONE = 0,
GX_CULL_FRONT = 1,
GX_CULL_BACK = 2,
GX_CULL_ALL = 3
/* 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 {
GX_TEXMAP1 = 1,
GX_TEXMAP2 = 2,
GX_TEXMAP0 = 0,
GX_TEXMAP5 = 5,
GX_TEXMAP6 = 6,
GX_TEXMAP3 = 3,
GX_TEXMAP4 = 4,
GX_TEXMAP_NULL = 255,
GX_TEX_DISABLE = 256,
GX_TEXMAP7 = 7,
GX_MAX_TEXMAP = 8
/* 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 {
/* 0x0 */ GX_TEVSTAGE0,
/* 0x1 */ GX_TEVSTAGE1,
/* 0x2 */ GX_TEVSTAGE2,
/* 0x3 */ GX_TEVSTAGE3,
/* 0x4 */ GX_TEVSTAGE4,
/* 0x5 */ GX_TEVSTAGE5,
/* 0x6 */ GX_TEVSTAGE6,
/* 0x7 */ GX_TEVSTAGE7,
/* 0x8 */ GX_TEVSTAGE8,
/* 0x9 */ GX_TEVSTAGE9,
/* 0xA */ GX_TEVSTAGE10,
/* 0xB */ GX_TEVSTAGE11,
/* 0xC */ GX_TEVSTAGE12,
/* 0xD */ GX_TEVSTAGE13,
/* 0xE */ GX_TEVSTAGE14,
/* 0xF */ GX_TEVSTAGE15,
/* 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 {
@@ -56,6 +130,7 @@ typedef enum _GXTexCoordID {
/* 0x05 */ GX_TEXCOORD5,
/* 0x06 */ GX_TEXCOORD6,
/* 0x07 */ GX_TEXCOORD7,
/* 0x08 */ GX_MAXCOORD,
/* 0xFF */ GX_TEXCOORD_NULL = 255,
} GXTexCoordID;
@@ -78,14 +153,16 @@ typedef enum _GXColorSrc {
} GXColorSrc;
typedef enum _GXLightID {
/* 0x00 */ GX_LIGHT0,
/* 0x02 */ GX_LIGHT1 = 0x2,
/* 0x04 */ GX_LIGHT2 = 0x4,
/* 0x08 */ GX_LIGHT3 = 0x8,
/* 0x10 */ GX_LIGHT4 = 0x10,
/* 0x20 */ GX_LIGHT5 = 0x20,
/* 0x40 */ GX_LIGHT6 = 0x40,
/* 0x80 */ GX_LIGHT7 = 0x80,
/* 0x000 */ GX_LIGHT_NULL,
/* 0x001 */ GX_LIGHT0,
/* 0x002 */ GX_LIGHT1,
/* 0x004 */ GX_LIGHT2 = 0x4,
/* 0x008 */ GX_LIGHT3 = 0x8,
/* 0x010 */ GX_LIGHT4 = 0x10,
/* 0x020 */ GX_LIGHT5 = 0x20,
/* 0x040 */ GX_LIGHT6 = 0x40,
/* 0x080 */ GX_LIGHT7 = 0x80,
/* 0x100 */ GX_MAX_LIGHT = 0x100,
} GXLightID;
typedef enum _GXDiffuseFn {
@@ -100,6 +177,23 @@ typedef enum _GXAttnFn {
/* 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,
@@ -113,13 +207,16 @@ typedef enum _GXBlendMode {
/* 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,
@@ -154,6 +251,7 @@ typedef enum _GXVtxFmt {
/* 0x5 */ GX_VTXFMT5,
/* 0x6 */ GX_VTXFMT6,
/* 0x7 */ GX_VTXFMT7,
/* 0x8 */ GX_MAX_VTXFMT,
} GXVtxFmt;
typedef enum _GXAttr {
@@ -188,28 +286,28 @@ typedef enum _GXAttr {
} GXAttr;
typedef enum _GXCompCnt {
/* 0x0 */ GX_TEX_S,
/* 0x0 */ GX_NRM_XYZ = 0,
/* 0x0 */ GX_CLR_RGB = 0,
/* 0x0 */ GX_POS_XY = 0,
/* 0x1 */ GX_TEX_ST = 1,
/* 0x1 */ GX_NRM_NBT = 1,
/* 0x1 */ GX_CLR_RGBA = 1,
/* 0x1 */ GX_POS_XYZ = 1,
/* 0x2 */ GX_NRM_NBT3,
/* 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,
/* 0x0 */ GX_RGB565 = 0,
/* 0x1 */ GX_S8,
/* 0x1 */ GX_RGB8 = 1,
/* 0x2 */ GX_RGBX8,
/* 0x2 */ GX_U16 = 2,
/* 0x2 */ GX_U16,
/* 0x3 */ GX_S16,
/* 0x3 */ GX_RGBA4 = 3,
/* 0x4 */ GX_F32,
/* 0x0 */ GX_RGB565 = 0,
/* 0x1 */ GX_RGB8,
/* 0x2 */ GX_RGBX8,
/* 0x3 */ GX_RGBA4,
/* 0x4 */ GX_RGBA6,
/* 0x4 */ GX_F32 = 4,
/* 0x5 */ GX_RGBA8,
} GXCompType;
@@ -239,6 +337,7 @@ typedef enum _GXTevBias {
/* 0x0 */ GX_TB_ZERO,
/* 0x1 */ GX_TB_ADDHALF,
/* 0x2 */ GX_TB_SUBHALF,
/* 0x3 */ GX_MAX_TEVBIAS,
} GXTevBias;
typedef enum _GXTevColorArg {
@@ -272,6 +371,7 @@ typedef enum _GXTevScale {
/* 0x1 */ GX_CS_SCALE_2,
/* 0x2 */ GX_CS_SCALE_4,
/* 0x3 */ GX_CS_DIVIDE_2,
/* 0x4 */ GX_MAX_TEVSCALE
} GXTevScale;
typedef enum _GXTevRegID {
@@ -279,6 +379,7 @@ typedef enum _GXTevRegID {
/* 0x1 */ GX_TEVREG0,
/* 0x2 */ GX_TEVREG1,
/* 0x3 */ GX_TEVREG2,
/* 0x4 */ GX_MAX_TEVREG
} GXTevRegID;
typedef enum _GXTevAlphaArg {
@@ -287,178 +388,354 @@ typedef enum _GXTevAlphaArg {
/* 0x2 */ GX_CA_A1,
/* 0x3 */ GX_CA_A2,
/* 0x4 */ GX_CA_TEXA,
/* 0x5 */ GX_CA_TEXB,
/* 0x6 */ GX_CA_ZERO,
/* 0x5 */ GX_CA_RASA,
/* 0x6 */ GX_CA_KONST,
/* 0x7 */ GX_CA_ZERO,
} GXTevAlphaArg;
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;
u8 antialiasing;
u8 sample_pattern[12][2];
u8 vfilter[7];
} GXRenderModeObj;
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,
struct _GXTexObj {
u32 texture_filter;
u32 texture_lod;
u32 texture_size;
u32 texture_address;
u32 user_data;
u32 texture_format;
u32 tlut_name;
u16 texture_time_count;
u8 texture_tile_type;
u8 texture_flags;
};
struct _GXTlutObj {
u32 format;
u32 address;
u32 numEntries;
};
typedef enum GXTexFmt8 { /* 8-bit version of GXTexFmt for use in structures */
GX_CTF_A8 = 39,
GX_CTF_B8 = 42,
GX_CTF_G8 = 41,
GX_CTF_GB8 = 44,
GX_CTF_R4 = 32,
GX_CTF_R8 = 40,
GX_CTF_RA4 = 34,
GX_CTF_RA8 = 35,
GX_CTF_RG8 = 43,
GX_CTF_YUVA8 = 38,
GX_CTF_Z16L = 60,
GX_CTF_Z4 = 48,
GX_CTF_Z8L = 58,
GX_CTF_Z8M = 57,
GX_TF_CMPR = 14,
GX_TF_I4 = 0,
GX_TF_I8 = 1,
GX_TF_IA4 = 2,
GX_TF_IA8 = 3,
GX_TF_RGB565 = 4,
GX_TF_RGB5A3 = 5,
GX_TF_RGBA8 = 6,
GX_TF_Z16 = 19,
GX_TF_Z24X8 = 22,
GX_TF_Z8 = 17
} GXTexFmt8;
typedef enum GXTexFmt {
_GX_TF_I4,
_GX_TF_I8,
_GX_TF_IA4,
_GX_TF_IA8,
_GX_TF_RGB565,
_GX_TF_TGB5A3,
_GX_TF_RGBA8,
_GX_TF_CMPR = 14,
_GX_TF_Z8 = 17,
_GX_TF_Z16 = 19,
_GX_TF_Z24X8 = 22,
_GX_CTF_R4 = 32,
_GX_CTF_RA4 = 34,
_GX_CTF_RA8,
_GX_CTF_YUVA8 = 38,
_GX_CTF_A8,
_GX_CTF_R8,
_GX_CTF_G8,
_GX_CTF_B8,
_GX_CTF_RG8,
_GX_CTF_GB8,
_GX_CTF_Z4 = 48,
_GX_CTF_Z8M = 57,
_GX_CTF_Z8L,
_GX_CTF_Z16L = 60
/* 0x10 */ _GX_TF_ZTF = 0x10,
/* 0x20 */ _GX_TF_CTF = 0x20
} GXTexFmt;
typedef enum GXTexWrapMode8 { /* Same as GXTexWrapMode, but as 1 byte for use inside structures */
GX_CLAMP = 0,
GX_MIRROR = 2,
GX_REPEAT = 1
} GXTexWrapMode8;
typedef enum _GXTlutFmt {
/* 0x0 */ GX_TL_IA8,
/* 0x1 */ GX_TL_RGB565,
/* 0x2 */ GX_TL_RGB5A3,
} GXTlutFmt;
typedef enum GXTexWrapMode {
_GX_CLAMP,
_GX_REPEAT,
_GX_MIRROR,
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 _GXZTexFmt {
/* 0x11 */ GX_TF_Z8 = (0x1 | _GX_TF_ZTF),
/* 0x13 */ GX_TF_Z16 = (0x3 | _GX_TF_ZTF),
/* 0x16 */ GX_TF_Z24X8 = (0x6 | _GX_TF_ZTF),
/* 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),
} GXZTexFmt;
typedef enum _GXTexWrapMode {
/* 0x0 */ GX_CLAMP,
/* 0x1 */ GX_REPEAT,
/* 0x2 */ GX_MIRROR,
/* 0x3 */ GX_MAX_TEXWRAP_MODE,
} GXTexWrapMode;
typedef enum GXTexFilter8 { /* Same as GXTexFilter, but as 1 byte for use within structures that
store the value as a byte */
GX_LINEAR = 1,
GX_LIN_MIP_LIN = 5,
GX_LIN_MIP_NEAR = 3,
GX_NEAR = 0,
GX_NEAR_MIP_LIN = 4,
GX_NEAR_MIP_NEAR = 2
} GXTexFilter8;
typedef enum GXTexFilter {
_GX_NEAR,
_GX_LINEAR,
_GX_NEAR_MIP_NEAR,
_GX_LIN_MIP_NEAR,
_GX_NEAR_MIP_LIN,
_GX_LIN_MIP_LIN,
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 {
GX_ANISO_1,
GX_ANISO_2,
GX_ANISO_4,
typedef enum _GXAnisotropy {
/* 0x0 */ GX_ANISO_1,
/* 0x1 */ GX_ANISO_2,
/* 0x2 */ GX_ANISO_4,
/* 0x3 */ GX_MAX_ANISOTROPY,
} GXAnisotropy;
typedef enum GXTlutFmt {
GX_TL_IA8,
GX_TL_RGB565,
GX_TL_RGB5A3,
} GXTlutFmt;
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 _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;
extern "C" {
f32 GXGetYScaleFactor(u16 efb_height, u16 xfb_height);
u16 GXGetNumXfbLines(u32 efb_height, f32 y_scale);
void GXBegin(u8, u8, u16);
void GXLoadTexObj(_GXTexObj*, _GXTexMapID);
void GXInitTexObjLOD(_GXTexObj*, GXTexFilter, GXTexFilter, f32, f32, f32, s32, s32, GXAnisotropy);
void GXInitTexObj(_GXTexObj*, void*, u16, u16, GXTexFmt, GXTexWrapMode, GXTexWrapMode, s32);
void GXInitTlutObj(_GXTlutObj*, void*, GXTlutFmt, u16);
void GXLoadTlut(_GXTlutObj*, u32);
void GXInitTexObjCI(_GXTexObj*, void*, u16, u16, GXCITexFmt, GXTexWrapMode, GXTexWrapMode, s32,
void GXBegin(GXPrimitive, GXVtxFmt, u16);
void GXLoadTexObj(GXTexObj*, GXTexMapID);
void GXInitTexObjLOD(GXTexObj*, GXTexFilter, GXTexFilter, f32, f32, f32, GXBool, GXBool,
GXAnisotropy);
void GXInitTexObj(GXTexObj*, void*, u16, u16, GXTexFmt, GXTexWrapMode, GXTexWrapMode, GXBool);
void GXInitTlutObj(GXTlutObj*, void*, GXTlutFmt, u16);
void GXLoadTlut(GXTlutObj*, u32);
void GXInitTexObjCI(GXTexObj*, void*, u16, u16, GXCITexFmt, GXTexWrapMode, GXTexWrapMode, GXBool,
u32);
void GXSetNumChans(u32);
void GXSetNumTevStages(u32);
void GXSetNumTexGens(u32);
void GXSetTevOrder(u32, u32, u32, u32);
void GXSetChanCtrl(u32, u32, u32, u32, u32, u32, s32);
void GXSetTevOp(s32, s32);
void GXSetTevColor(s32, _GXColor);
void GXSetTevColorIn(s32, u32, u32, u32, u32);
void GXSetTevAlphaIn(s32, u32, u32, u32, u32);
void GXSetTevColorOp(s32, u32, u32, u32, u32, u32);
void GXSetTevAlphaOp(s32, u32, u32, u32, u32, u32);
void GXSetBlendMode(u32, u32, u32, u32);
void GXSetVtxAttrFmt(u32, u32, u32, u32, u32);
void GXSetNumChans(u8);
void GXSetNumTevStages(u8);
void GXSetNumTexGens(u8);
void GXSetTevOrder(GXTevStageID, GXTexCoordID, GXTexMapID, GXChannelID);
void GXSetChanCtrl(GXChannelID, GXBool, GXColorSrc, GXColorSrc, GXLightID, GXDiffuseFn, GXAttnFn);
void GXSetTevOp(GXTevStageID, GXTevMode);
void GXSetTevColor(GXTevRegID, GXColor);
void GXSetTevColorIn(GXTevStageID, GXTevColorArg, GXTevColorArg, GXTevColorArg, GXTevColorArg);
void GXSetTevAlphaIn(GXTevStageID, GXTevAlphaArg, GXTevAlphaArg, GXTevAlphaArg, GXTevAlphaArg);
void GXSetTevColorOp(GXTevStageID, GXTevOp, GXTevBias, GXTevScale, GXBool, GXTevRegID);
void GXSetTevAlphaOp(GXTevStageID, GXTevOp, GXTevBias, GXTevScale, GXBool, GXTevRegID);
void GXSetBlendMode(GXBlendMode, GXBlendFactor, GXBlendFactor, GXLogicOp);
void GXSetVtxAttrFmt(GXVtxFmt, GXAttr, GXCompCnt, GXCompType, u32);
void GXClearVtxDesc();
void GXSetVtxDesc(u32, u32);
void GXSetVtxDesc(GXAttr, GXAttrType);
typedef void (*GXDrawDoneCallback)(void);
void GXSetDrawDoneCallback(GXDrawDoneCallback);
void GXDrawDone(void);
@@ -469,48 +746,55 @@ struct OSThread;
OSThread* GXSetCurrentGXThread(void);
OSThread* GXGetCurrentGXThread(void);
// Below needs proper symbols
void GXClearVtxDesc(void);
void GXCopyTex(void);
void GXGetProjectionv(void);
u32 GXGetTexBufferSize(u16 width, u16 height, u32 format, s32 is_mip_map, u8 max_lod);
void GXGetViewportv(void);
void GXInitLightColor(void);
void GXInitLightDir(void);
void GXInitLightDistAttn(void);
void GXInitLightPos(void);
void GXInitLightSpot(void);
void GXCopyTex(void*, GXBool);
void GXGetProjectionv(f32*);
u32 GXGetTexBufferSize(u16 width, u16 height, u32 format, GXBool is_mip_map, u8 max_lod);
void GXGetViewportv(f32*);
void GXInitLightColor(GXLightObj*, GXColor);
void GXInitLightDir(GXLightObj*, f32, f32, f32);
void GXInitLightDistAttn(GXLightObj*, f32, f32, GXDistAttnFn);
void GXInitLightPos(GXLightObj*, f32, f32, f32);
void GXInitLightSpot(GXLightObj*, f32, GXSpotFn);
void GXInvalidateTexAll(void);
void GXLoadLightObjImm(void);
void GXLoadPosMtxImm(void);
void GXLoadTexMtxImm(void);
void GXLoadLightObjImm(GXLightObj*, GXLightID);
void GXLoadPosMtxImm(Mtx, u32);
void GXLoadTexMtxImm(Mtx, u32, GXTexMtxType);
void GXPixModeSync(void);
void GXProject(void);
void GXSetAlphaCompare(void);
void GXSetAlphaUpdate(void);
void GXSetChanMatColor(void);
void GXSetClipMode(void);
void GXSetCoPlanar(void);
void GXSetCopyFilter(void);
void GXSetCullMode(void);
void GXSetCurrentMtx(void);
void GXSetDither(void);
void GXSetFog(void);
void GXSetFogRangeAdj(void);
void GXSetNumIndStages(void);
void GXSetProjection(void);
void GXSetScissor(void);
void GXSetTevColorS10(void);
void GXSetTevKAlphaSel(void);
void GXSetTevSwapMode(void);
void GXSetTevSwapModeTable(void);
void GXSetTexCoordGen2(void);
void GXSetTexCopyDst(void);
void GXSetTexCopySrc(void);
void GXSetViewport(void);
void GXSetZCompLoc(void);
void GXSetZMode(void);
void GXSetZTexture(void);
void GXProject(f32, f32, f32, Mtx, f32*, f32*, f32*, f32*, f32*);
void GXSetAlphaCompare(GXCompare, u8, GXAlphaOp, GXCompare, u8);
void GXSetAlphaUpdate(GXBool);
void GXSetChanMatColor(GXChannelID, GXColor);
void GXSetClipMode(GXBool);
void GXSetCoPlanar(GXBool);
void GXSetCopyFilter(GXBool, u8[12][2], GXBool, u8[7]);
void GXSetCullMode(GXCullMode);
void GXSetCurrentMtx(u32);
void GXSetDither(GXBool);
void GXSetFog(GXFogType, f32, f32, f32, f32, GXColor);
void GXSetFogRangeAdj(GXBool, u16, GXFogAdjTable*);
void GXSetNumIndStages(u8);
void GXSetProjection(Mtx44, GXProjectionType);
void GXSetScissor(u32, u32, u32, u32);
void GXSetTevColorS10(GXTevRegID, GXColorS10);
void GXSetTevKAlphaSel(GXTevStageID, GXTevKAlphaSel);
void GXSetTevSwapMode(GXTevStageID, GXTevSwapSel);
void GXSetTevSwapModeTable(GXTevSwapSel, GXTevColor, GXTevColor, GXTevColor, GXTevColor);
void GXSetTexCoordGen2(GXTexCoordID, GXTexGenType, GXTexGenSrc, u32, GXBool, u32);
void GXSetTexCopyDst(u16, u16, GXTexFmt, GXBool);
void GXSetTexCopySrc(u16, u16, u16, u16);
void GXSetViewport(f32, f32, f32, f32, f32, f32);
void GXSetZCompLoc(GXBool);
void GXSetZMode(GXBool, GXCompare, GXBool);
void GXSetZTexture(GXZTexOp, GXZTexFmt, u32);
void GXClearVtxDesc(void);
void GXSetLineWidth(u8, GXTexOffset);
void GXSetTevDirect(GXTevStageID);
void GXSetTevKColor(GXTevKColorID, GXColor);
void GXSetTevKColorSel(GXTevStageID, GXTevKColorSel);
void GXGetScissor(u32*, u32*, u32*, u32*);
void GXSetIndTexMtx(GXIndTexMtxID, Mtx23, s8);
void GXSetIndTexCoordScale(GXIndTexStageID, GXIndTexScale, GXIndTexScale);
void GXSetIndTexOrder(GXIndTexStageID, GXTexCoordID, GXTexMapID);
};
#endif
-14
View File
@@ -3,18 +3,4 @@
#include "dolphin/types.h"
typedef struct _GXColor {
u8 r;
u8 g;
u8 b;
u8 a;
} GXColor;
typedef struct _GXColorS10 {
s16 r;
s16 g;
s16 b;
s16 a;
} GXColorS10;
#endif /* GXTEXTURE_H */
-27
View File
@@ -1,27 +0,0 @@
#ifndef MSL_STRING_H_
#define MSL_STRING_H_
#include "Runtime.PPCEABI.H/__va_arg.h"
#include "dolphin/types.h"
// TODO: move to MSL_C.PPCEABI.bare.H/
extern "C" {
void memcpy(void*, const void*, s32);
void* memset(void* dest, int ch, u32 count);
char* strrchr(const char* s, int c);
char* strchr(const char* s, int c);
int strncmp(const char* s1, const char* s2, u32 n);
int strcmp(const char* s1, const char* s2);
int stricmp(const char*, const char*);
char* strcat(char* dest, const char* source);
char* strncpy(char* dest, const char* source, u32 n);
char* strcpy(char* dest, const char* source);
u32 strlen(const char* s);
int tolower(int);
int sprintf(char*, const char*, ...);
int printf(const char*, ...);
int snprintf(char*, u32, const char*, ...);
size_t vsnprintf(char* buffer, size_t buffer_size, const char* format, va_list args);
}
#endif