mirror of https://github.com/zeldaret/tp.git
83 lines
1.9 KiB
C
83 lines
1.9 KiB
C
#ifndef __GX_H__
|
|
#define __GX_H__
|
|
|
|
#include "dolphin/types.h"
|
|
|
|
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
|
|
} GXTexMapID;
|
|
|
|
struct _GXColor {
|
|
void operator=(const _GXColor& rhs) {
|
|
r = rhs.r;
|
|
g = rhs.g;
|
|
b = rhs.b;
|
|
a = rhs.a;
|
|
}
|
|
|
|
u8 r;
|
|
u8 g;
|
|
u8 b;
|
|
u8 a;
|
|
};
|
|
|
|
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];
|
|
};
|
|
|
|
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 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 GXClearVtxDesc();
|
|
void GXSetVtxDesc(u32, u32);
|
|
typedef void (*GXDrawDoneCallback)(void);
|
|
void GXSetDrawDoneCallback(GXDrawDoneCallback);
|
|
void GXDrawDone(void);
|
|
void GXAbortFrame(void);
|
|
void GXFlush(void);
|
|
OSThread* GXSetCurrentGXThread(void);
|
|
OSThread* GXGetCurrentGXThread(void);
|
|
}
|
|
|
|
#endif |