NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches

Description

Classes

struct  _GXColor
 A 32-bit RGBA color. More...
 
struct  _GXTexObj
 
struct  _GXRenderModeObj
 
union  _GXFifo
 

Typedefs

typedef struct _GXColor GXColor
 A 32-bit RGBA color.
 
typedef enum _GXAttr GXAttr
 
typedef enum _GXMtxType GXMtxType
 
typedef enum _GXVtxFmt GXVtxFmt
 
typedef enum _GXPrimitive GXPrimitive
 
typedef enum _GXCompare GXCompare
 
typedef enum _GXCompCnt GXCompCnt
 
typedef enum _GXCompType GXCompType
 
typedef enum _GXTevStageID GXTevStageID
 
typedef enum _GXTevKColorID GXTevKColorID
 
typedef enum _GXTevColorArg GXTevColorArg
 
typedef enum _GXTevAlphaArg GXTevAlphaArg
 
typedef enum _GXTevBias GXTevBias
 
typedef enum _GXTevScale GXTevScale
 
typedef enum _GXTevOp GXTevOp
 
typedef enum _GXTevRegID GXTevRegID
 
typedef enum _GXAlphaOp GXAlphaOp
 
typedef struct _GXTexObj GXTexObj
 
typedef enum _GXTexFmt GXTexFmt
 
typedef enum _GXTexFilter GXTexFilter
 
typedef enum _GXPixelFmt GXPixelFmt
 
typedef enum _GXTexWrapMode GXTexWrapMode
 
typedef enum _GXTexCoordID GXTexCoordID
 
typedef enum _GXTexGenSrc GXTexGenSrc
 
typedef enum _GXTexGenType GXTexGenType
 
typedef enum _GXTexMapID GXTexMapID
 
typedef enum _GXProjectionType GXProjectionType
 
typedef enum _GXChannelID GXChannelID
 
typedef enum _GXColorSrc GXColorSrc
 
typedef enum _GXLightID GXLightID
 
typedef enum _GXDiffuseFn GXDiffuseFn
 
typedef enum _GXAttnFn GXAttnFn
 
typedef enum _GXBlendMode GXBlendMode
 
typedef enum _GXBlendFactor GXBlendFactor
 
typedef enum _GXLogicOp GXLogicOp
 
typedef struct _GXRenderModeObj GXRenderModeObj
 
typedef union _GXFifo GXFifo
 

Enumerations

enum  _GXAttr {
  GX_VA_PNMTXIDX ,
  GX_VA_TEX0MTXIDX ,
  GX_VA_TEX1MTXIDX ,
  GX_VA_TEX2MTXIDX ,
  GX_VA_TEX3MTXIDX ,
  GX_VA_TEX4MTXIDX ,
  GX_VA_TEX5MTXIDX ,
  GX_VA_TEX6MTXIDX ,
  GX_VA_TEX7MTXIDX ,
  GX_VA_POS ,
  GX_VA_NRM ,
  GX_VA_CLR0 ,
  GX_VA_CLR1 ,
  GX_VA_TEX0 ,
  GX_VA_TEX1 ,
  GX_VA_TEX2 ,
  GX_VA_TEX3 ,
  GX_VA_TEX4 ,
  GX_VA_TEX5 ,
  GX_VA_TEX6 ,
  GX_VA_TEX7 ,
  GX_POS_MTX_ARRAY ,
  GX_NRM_MTX_ARRAY ,
  GX_TEX_MTX_ARRAY ,
  GX_LIGHT_ARRAY ,
  GX_VA_NBT ,
  GX_VA_MAX_ATTR ,
  GX_VA_NULL = 255
}
 
enum  _GXMtxType {
  GX_MTX_3x4 ,
  GX_MTX_2x4
}
 
enum  _GXVtxFmt { GX_VTXFMT0 }
 
enum  _GXPrimitive {
  GX_POINTS = 0xB8 ,
  GX_LINES = 0xA8 ,
  GX_LINESTRIP = 0xB0 ,
  GX_TRIANGLES = 0x90 ,
  GX_TRIANGLESTRIP = 0x98 ,
  GX_TRIANGLEFAN = 0xA0 ,
  GX_QUADS = 0x80
}
 
enum  _GXCompare {
  GX_NEVER ,
  GX_LESS ,
  GX_EQUAL ,
  GX_LEQUAL ,
  GX_GREATER ,
  GX_NEQUAL ,
  GX_GEQUAL ,
  GX_ALWAYS
}
 
enum  _GXCompCnt {
  GX_POS_XY = 0 ,
  GX_POS_XYZ ,
  GX_NRM_XYZ = 0 ,
  GX_NRM_NBT ,
  GX_NRM_NBT3 ,
  GX_CLR_RGB = 0 ,
  GX_CLR_RGBA ,
  GX_TEX_S = 0 ,
  GX_TEX_ST
}
 
enum  _GXCompType {
  GX_U8 ,
  GX_S8 ,
  GX_U16 ,
  GX_S16 ,
  GX_F32 ,
  GX_RGB565 = 0 ,
  GX_RGB8 ,
  GX_RGBX8 ,
  GX_RGBA4 ,
  GX_RGBA6 ,
  GX_RGBA8
}
 
enum  _GXTevStageID {
  GX_TEVSTAGE0 ,
  GX_TEVSTAGE1 ,
  GX_TEVSTAGE2 ,
  GX_TEVSTAGE3 ,
  GX_TEVSTAGE4 ,
  GX_TEVSTAGE5 ,
  GX_TEVSTAGE6 ,
  GX_TEVSTAGE7 ,
  GX_TEVSTAGE8 ,
  GX_TEVSTAGE9 ,
  GX_TEVSTAGE10 ,
  GX_TEVSTAGE11 ,
  GX_TEVSTAGE12 ,
  GX_TEVSTAGE13 ,
  GX_TEVSTAGE14 ,
  GX_TEVSTAGE15 ,
  GX_MAX_TEVSTAGE
}
 
enum  _GXTevKColorID {
  GX_KCOLOR0 ,
  GX_KCOLOR1 ,
  GX_KCOLOR2 ,
  GX_KCOLOR3 ,
  GX_MAX_KCOLOR
}
 
enum  _GXTevColorArg {
  GX_CC_CPREV ,
  GX_CC_APREV ,
  GX_CC_C0 ,
  GX_CC_A0 ,
  GX_CC_C1 ,
  GX_CC_A1 ,
  GX_CC_C2 ,
  GX_CC_A2 ,
  GX_CC_TEXC ,
  GX_CC_TEXA ,
  GX_CC_RASC ,
  GX_CC_RASA ,
  GX_CC_ONE ,
  GX_CC_HALF ,
  GX_CC_KONST ,
  GX_CC_ZERO ,
  GX_CC_TEXRRR ,
  GX_CC_TEXGGG ,
  GX_CC_TEXBBB ,
  GX_CC_QUARTER = GX_CC_KONST
}
 
enum  _GXTevAlphaArg {
  GX_CA_APREV ,
  GX_CA_A0 ,
  GX_CA_A1 ,
  GX_CA_A2 ,
  GX_CA_TEXA ,
  GX_CA_RASA ,
  GX_CA_KONST ,
  GX_CA_ZERO ,
  GX_CA_ONE
}
 
enum  _GXTevBias {
  GX_TB_ZERO ,
  GX_TB_ADDHALF ,
  GX_TB_SUBHALF ,
  GX_MAX_TEVBIAS
}
 
enum  _GXTevScale {
  GX_TEV_SCALE_0 ,
  GX_TEV_SCALE_1 ,
  GX_TEV_SCALE_2 ,
  GX_TEV_SCALE_3
}
 
enum  _GXTevOp {
  GX_TEV_ADD ,
  GX_TEV_SUB ,
  GX_TEV_COMP_R8_GT = 8 ,
  GX_TEV_COMP_R8_EQ ,
  GX_TEV_COMP_GR16_GT ,
  GX_TEV_COMP_GR16_EQ ,
  GX_TEV_COMP_BGR24_GT ,
  GX_TEV_COMP_BGR24_EQ ,
  GX_TEV_COMP_RGB8_GT ,
  GX_TEV_COMP_RGB8_EQ ,
  GX_TEV_COMP_A8_GT = GX_TEV_COMP_RGB8_GT ,
  GX_TEV_COMP_A8_EQ = GX_TEV_COMP_RGB8_EQ
}
 
enum  _GXTevRegID {
  GX_TEVPREV ,
  GX_TEVREG0 ,
  GX_TEVREG1 ,
  GX_TEVREG2 ,
  GX_MAX_TEVREG
}
 
enum  _GXAlphaOp {
  GX_AOP_AND ,
  GX_AOP_OR ,
  GX_AOP_XOR ,
  GX_AOP_XNOR ,
  GX_MAX_ALPHAOP
}
 
enum  _GXTexFmt {
  GX_TF_I4 ,
  GX_TF_I8 ,
  GX_TF_IA4 ,
  GX_TF_IA8 ,
  GX_TF_RGB565 ,
  GX_TF_RGB5A3 ,
  GX_TF_RGBA8 ,
  GX_TF_CMPR = 14 ,
  GX_CTF_R4 = 32 ,
  GX_CTF_RA4 = 34 ,
  GX_CTF_RA8 = 35 ,
  GX_CTF_YUVA8 = 38 ,
  GX_CTF_A8 = 39 ,
  GX_CTF_R8 = 40 ,
  GX_CTF_G8 = 41 ,
  GX_CTF_B8 = 42 ,
  GX_CTF_RG8 = 43 ,
  GX_CTF_GB8 = 44 ,
  GX_TF_Z8 = 17 ,
  GX_TF_Z16 = 19 ,
  GX_TF_Z24X8 = 22 ,
  GX_CTF_Z4 = 48 ,
  GX_CTF_Z8M = 57 ,
  GX_CTF_Z8L = 58 ,
  GX_CTF_Z16L = 60 ,
  GX_TF_A8 = GX_CTF_YUVA8
}
 
enum  _GXTexFilter
 
enum  _GXPixelFmt
 
enum  _GXTexWrapMode {
  GX_CLAMP ,
  GX_REPEAT ,
  GX_MIRROR ,
  GX_MAX_TEXWRAPMODE
}
 
enum  _GXTexCoordID {
  GX_TEXCOORD0 ,
  GX_TEXCOORD1 ,
  GX_TEXCOORD2 ,
  GX_TEXCOORD3 ,
  GX_TEXCOORD4 ,
  GX_TEXCOORD5 ,
  GX_TEXCOORD6 ,
  GX_TEXCOORD7 ,
  GX_MAX_TEXCOORD ,
  GX_TEXCOORD_NULL = 255
}
 
enum  _GXTexGenSrc {
  GX_TG_POS ,
  GX_TG_NRM ,
  GX_TG_BINRM ,
  GX_TG_TANGENT ,
  GX_TG_TEX0 ,
  GX_TG_TEX1 ,
  GX_TG_TEX2 ,
  GX_TG_TEX3 ,
  GX_TG_TEX4 ,
  GX_TG_TEX5 ,
  GX_TG_TEX6 ,
  GX_TG_TEX7 ,
  GX_TG_TEXCOORD0 ,
  GX_TG_TEXCOORD1 ,
  GX_TG_TEXCOORD2 ,
  GX_TG_TEXCOORD3 ,
  GX_TG_TEXCOORD4 ,
  GX_TG_TEXCOORD5 ,
  GX_TG_TEXCOORD6 ,
  GX_TG_COLOR0 ,
  GX_TG_COLOR1
}
 
enum  _GXTexGenType {
  GX_TG_MTX3x4 ,
  GX_TG_MTX2x4 ,
  GX_TG_BUMP0 ,
  GX_TG_BUMP1 ,
  GX_TG_BUMP2 ,
  GX_TG_BUMP3 ,
  GX_TG_BUMP4 ,
  GX_TG_BUMP5 ,
  GX_TG_BUMP6 ,
  GX_TG_BUMP7 ,
  GX_TG_SRTG
}
 
enum  _GXTexMapID {
  GX_TEXMAP0 ,
  GX_TEXMAP1 ,
  GX_TEXMAP2 ,
  GX_TEXMAP3 ,
  GX_TEXMAP4 ,
  GX_TEXMAP5 ,
  GX_TEXMAP6 ,
  GX_TEXMAP7 ,
  GX_MAX_TEXMAP ,
  GX_TEXMAP_NULL = 255 ,
  GX_TEX_DISABLE
}
 
enum  _GXProjectionType {
  GX_PERSPECTIVE ,
  GX_ORTHOGRAPHIC
}
 
enum  _GXChannelID {
  GX_COLOR0 ,
  GX_COLOR1 ,
  GX_ALPHA0 ,
  GX_ALPHA1 ,
  GX_COLOR0A0 ,
  GX_COLOR1A1 ,
  GX_COLOR_ZERO ,
  GX_ALPHA_BUMP ,
  GX_ALPHA_BUMPN ,
  GX_COLOR_NULL = 255
}
 
enum  _GXColorSrc {
  GX_SRC_REG ,
  GX_SRC_VTX
}
 
enum  _GXLightID {
  GX_LIGHT0 = 1 ,
  GX_LIGHT1 = 2 ,
  GX_LIGHT2 = 4 ,
  GX_LIGHT3 = 8 ,
  GX_LIGHT4 = 16 ,
  GX_LIGHT5 = 32 ,
  GX_LIGHT6 = 64 ,
  GX_LIGHT7 = 128 ,
  GX_MAX_LIGHT = 256 ,
  GX_LIGHT_NULL = 0
}
 
enum  _GXDiffuseFn {
  GX_DF_NONE ,
  GX_DF_SIGN ,
  GX_DF_CLAMP
}
 
enum  _GXAttnFn {
  GX_AF_SPEC ,
  GX_AF_SPOT ,
  GX_AF_NONE
}
 
enum  _GXBlendMode {
  GX_BM_NONE ,
  GX_BM_BLEND ,
  GX_BM_LOGIC ,
  GX_BM_SUBTRACT ,
  GX_MAX_BLENDMODE
}
 
enum  _GXBlendFactor {
  GX_BL_ZERO ,
  GX_BL_ONE ,
  GX_BL_SRCCLR ,
  GX_BL_INVSRCCLR ,
  GX_BL_SRCALPHA ,
  GX_BL_INVSRCALPHA ,
  GX_BL_DSTALPHA ,
  GX_BL_INVDSTALPHA ,
  GX_BL_DSTCLR = GX_BL_SRCCLR ,
  GX_BL_INVDSTCLR = GX_BL_INVSRCCLR
}
 
enum  _GXLogicOp {
  GX_LO_CLEAR ,
  GX_LO_AND ,
  GX_LO_REVAND ,
  GX_LO_COPY ,
  GX_LO_INVAND ,
  GX_LO_NOOP ,
  GX_LO_XOR ,
  GX_LO_OR ,
  GX_LO_NOR ,
  GX_LO_EQUIV ,
  GX_LO_INV ,
  GX_LO_REVOR ,
  GX_LO_INVCOPY ,
  GX_LO_INVOR ,
  GX_LO_NAND ,
  GX_LO_SET
}
 

Functions

void GXSetProjection (const Mtx44 *, GXProjectionType)
 
void GXLoadPosMtxImm (const Mtx *, u32)
 
void GXSetCurrentMtx (u32 id)
 
void GXLoadTexMtxImm (const Mtx *, u32, GXMtxType)
 
void GXSetViewport (float, float, float, float, float, float)
 
void GXSetScissor (u32, u32, u32, u32)
 
void GXSetVtxDesc (GXAttr, GXAttr)
 
void GXClearVtxDesc ()
 
void GXSetVtxAttrFmt (GXVtxFmt, GXAttr, GXCompCnt, GXCompType, u8)
 
void GXSetNumTexGens (u8)
 
void GXSetTexCoordGen2 (GXTexCoordID, GXTexGenType, GXTexGenSrc, u8, u8, u32)
 
void GXBegin (GXPrimitive, GXVtxFmt, u16)
 
void GXSetCullMode (int)
 
static void GXEnd ()
 
void GXSetNumIndStages (u8)
 
void __GXSetIndirectMask (u32)
 
void GXSetColorUpdate (u8)
 
void GXSetAlphaUpdate (u8)
 
void GXSetZMode (u8, GXCompare, u8)
 
void GXSetZCompLoc (u8)
 
void GXSetTevColorIn (GXTevStageID, GXTevColorArg, GXTevColorArg, GXTevColorArg, GXTevColorArg)
 
void GXSetTevAlphaIn (GXTevStageID, GXTevAlphaArg, GXTevAlphaArg, GXTevAlphaArg, GXTevAlphaArg)
 
void GXSetTevColorOp (GXTevStageID, GXTevOp, GXTevBias, GXTevScale, u8, GXTevRegID)
 
void GXSetTevAlphaOp (GXTevStageID, GXTevOp, GXTevBias, GXTevScale, u8, GXTevRegID)
 
void GXSetTevOp (GXTevStageID, u32)
 
void GXSetTevOrder (GXTevStageID, GXTexCoordID, GXTexMapID, GXChannelID)
 
void GXSetAlphaCompare (GXCompare, u8, GXAlphaOp, GXCompare, u8)
 
void GXSetNumTevStages (u8)
 
void GXInitTexObj (GXTexObj *, void *, u16, u16, GXTexFmt, GXTexWrapMode, GXTexWrapMode, u8)
 
void GXLoadTexObj (GXTexObj *, GXTexMapID)
 
void GXSetChanMatColor (GXChannelID, GXColor)
 
void GXSetNumChans (u8)
 
void GXSetChanCtrl (GXChannelID, u8, GXColorSrc, GXColorSrc, GXLightID, GXDiffuseFn, GXAttnFn)
 
void GXSetBlendMode (GXBlendMode, GXBlendFactor, GXBlendFactor, GXLogicOp)
 
void GXInvalidateVtxCache ()
 
size_t GXGetTexBufferSize (int width, int height, GXTexFmt fmt, bool, bool)
 
void GXInitTexObjLOD (GXTexObj *, GXTexFilter, GXTexFilter, float, float, float, int, int, int)
 
void GXSetCopyFilter (int, void *, int, void *)
 
void GXSetTexCopySrc (int, int, int, int)
 
void GXSetTexCopyDst (int, int, GXTexFmt, u8)
 
void GXCopyTex (void *, int)
 
void GXSetTevDirect (int)
 
static void GXPosition3f32 (float x, float y, float z)
 
static void GXTexCoord2f32 (float x, float y)
 

Variables

volatile GXFifo WGPIPE
 

Typedef Documentation

◆ GXColor

typedef struct _GXColor GXColor

A 32-bit RGBA color.

Enumeration Type Documentation

◆ _GXAttr

enum _GXAttr

Definition at line 25 of file GX.h.

◆ _GXMtxType

enum _GXMtxType

Definition at line 57 of file GX.h.

◆ _GXVtxFmt

enum _GXVtxFmt

Definition at line 62 of file GX.h.

◆ _GXPrimitive

enum _GXPrimitive

Definition at line 66 of file GX.h.

◆ _GXCompare

enum _GXCompare

Definition at line 76 of file GX.h.

◆ _GXCompCnt

enum _GXCompCnt

Definition at line 87 of file GX.h.

◆ _GXCompType

enum _GXCompType

Definition at line 102 of file GX.h.

◆ _GXTevStageID

enum _GXTevStageID

Definition at line 117 of file GX.h.

◆ _GXTevKColorID

enum _GXTevKColorID

Definition at line 138 of file GX.h.

◆ _GXTevColorArg

enum _GXTevColorArg

Definition at line 147 of file GX.h.

◆ _GXTevAlphaArg

enum _GXTevAlphaArg

Definition at line 171 of file GX.h.

◆ _GXTevBias

enum _GXTevBias

Definition at line 183 of file GX.h.

◆ _GXTevScale

enum _GXTevScale

Definition at line 191 of file GX.h.

◆ _GXTevOp

enum _GXTevOp

Definition at line 198 of file GX.h.

◆ _GXTevRegID

enum _GXTevRegID

Definition at line 215 of file GX.h.

◆ _GXAlphaOp

enum _GXAlphaOp

Definition at line 224 of file GX.h.

◆ _GXTexFmt

enum _GXTexFmt

Definition at line 237 of file GX.h.

◆ _GXTexFilter

enum _GXTexFilter

Definition at line 270 of file GX.h.

◆ _GXPixelFmt

enum _GXPixelFmt

Definition at line 274 of file GX.h.

◆ _GXTexWrapMode

enum _GXTexWrapMode

Definition at line 278 of file GX.h.

◆ _GXTexCoordID

enum _GXTexCoordID

Definition at line 286 of file GX.h.

◆ _GXTexGenSrc

enum _GXTexGenSrc

Definition at line 300 of file GX.h.

◆ _GXTexGenType

enum _GXTexGenType

Definition at line 324 of file GX.h.

◆ _GXTexMapID

enum _GXTexMapID

Definition at line 338 of file GX.h.

◆ _GXProjectionType

enum _GXProjectionType

Definition at line 353 of file GX.h.

◆ _GXChannelID

enum _GXChannelID

Definition at line 358 of file GX.h.

◆ _GXColorSrc

enum _GXColorSrc

Definition at line 372 of file GX.h.

◆ _GXLightID

enum _GXLightID

Definition at line 374 of file GX.h.

◆ _GXDiffuseFn

enum _GXDiffuseFn

Definition at line 388 of file GX.h.

◆ _GXAttnFn

enum _GXAttnFn

Definition at line 390 of file GX.h.

◆ _GXBlendMode

enum _GXBlendMode

Definition at line 396 of file GX.h.

◆ _GXBlendFactor

enum _GXBlendFactor

Definition at line 405 of file GX.h.

◆ _GXLogicOp

enum _GXLogicOp

Definition at line 419 of file GX.h.

Function Documentation

◆ GXEnd()

static void GXEnd ( )
inlinestatic

Definition at line 491 of file GX.h.

◆ GXPosition3f32()

static void GXPosition3f32 ( float x,
float y,
float z )
inlinestatic

Definition at line 529 of file GX.h.

◆ GXTexCoord2f32()

static void GXTexCoord2f32 ( float x,
float y )
inlinestatic

Definition at line 535 of file GX.h.