mirror of
https://github.com/zeldaret/tp
synced 2026-07-07 14:13:27 -04:00
move J2D / JUTResFont (#144)
* move some JSystem and meter2_info stuff * more J2D / JUTTexture / JUTPalette * setup dScnKy_env_light_c
This commit is contained in:
+335
-3
@@ -28,6 +28,262 @@ typedef enum _GXTexMapID {
|
||||
GX_MAX_TEXMAP = 8
|
||||
} 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,
|
||||
} 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,
|
||||
/* 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 {
|
||||
/* 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,
|
||||
} 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 _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,
|
||||
} GXBlendMode;
|
||||
|
||||
typedef enum _GXBlendFactor {
|
||||
/* 0x0 */ GX_BL_ZERO,
|
||||
/* 0x1 */ GX_BL_ONE,
|
||||
/* 0x2 */ GX_BL_SRC_COLOR,
|
||||
/* 0x3 */ GX_BL_INV_SRC_COLOR,
|
||||
/* 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_OP,
|
||||
/* 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,
|
||||
} GXVtxFmt;
|
||||
|
||||
typedef enum _GXAttr {
|
||||
/* 0x00 */ GX_VA_PTNMTXIDX,
|
||||
/* 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_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,
|
||||
} 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,
|
||||
/* 0x3 */ GX_S16,
|
||||
/* 0x3 */ GX_RGBA4 = 3,
|
||||
/* 0x4 */ GX_RGBA6,
|
||||
/* 0x4 */ GX_F32 = 4,
|
||||
/* 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,
|
||||
} 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 _GXTevScale {
|
||||
/* 0x0 */ GX_CS_SCALE_1,
|
||||
/* 0x1 */ GX_CS_SCALE_2,
|
||||
/* 0x2 */ GX_CS_SCALE_4,
|
||||
/* 0x3 */ GX_CS_DIVIDE_2,
|
||||
} GXTevScale;
|
||||
|
||||
typedef enum _GXTevRegID {
|
||||
/* 0x0 */ GX_TEVPREV,
|
||||
/* 0x1 */ GX_TEVREG0,
|
||||
/* 0x2 */ GX_TEVREG1,
|
||||
/* 0x3 */ GX_TEVREG2,
|
||||
} 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_TEXB,
|
||||
/* 0x6 */ GX_CA_ZERO,
|
||||
} GXTevAlphaArg;
|
||||
|
||||
struct GXRenderModeObj {
|
||||
s32 vi_tv_mode;
|
||||
u16 fb_width;
|
||||
@@ -44,6 +300,25 @@ struct GXRenderModeObj {
|
||||
u8 vfilter[7];
|
||||
};
|
||||
|
||||
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,
|
||||
@@ -72,12 +347,46 @@ typedef enum GXTexFmt8 { /* 8-bit version of GXTexFmt for use in structures */
|
||||
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
|
||||
} 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 GXTexWrapMode {
|
||||
_GX_CLAMP,
|
||||
_GX_REPEAT,
|
||||
_GX_MIRROR,
|
||||
} 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,
|
||||
@@ -88,14 +397,37 @@ typedef enum GXTexFilter8 { /* Same as GXTexFilter, but as 1 byte for use within
|
||||
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,
|
||||
} GXTexFilter;
|
||||
|
||||
typedef enum GXAnisotropy {
|
||||
GX_ANISO_1,
|
||||
GX_ANISO_2,
|
||||
GX_ANISO_4,
|
||||
} GXAnisotropy;
|
||||
|
||||
typedef enum GXTlutFmt {
|
||||
GX_TL_IA8,
|
||||
GX_TL_RGB565,
|
||||
GX_TL_RGB5A3,
|
||||
} GXTlutFmt;
|
||||
|
||||
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(u32*, s32);
|
||||
void GXInitTexObjLOD(f32, f32, f32, u32*, s32, s32, u32, u8, u32);
|
||||
void GXInitTexObj(u32*, u32, u32, u32, u32, u32, u8);
|
||||
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 GXSetNumChans(u32);
|
||||
void GXSetNumTevStages(u32);
|
||||
|
||||
Reference in New Issue
Block a user