summaryrefslogtreecommitdiff
path: root/include/rvl/GXStruct.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/rvl/GXStruct.h')
-rwxr-xr-xinclude/rvl/GXStruct.h132
1 files changed, 132 insertions, 0 deletions
diff --git a/include/rvl/GXStruct.h b/include/rvl/GXStruct.h
new file mode 100755
index 0000000..2b58a98
--- /dev/null
+++ b/include/rvl/GXStruct.h
@@ -0,0 +1,132 @@
+#ifndef __GXSTRUCT_H__
+#define __GXSTRUCT_H__
+
+/********************************/
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/********************************/
+#include "rvl/vitypes.h"
+
+/*---------------------------------------------------------------------------*/
+
+#ifdef __MWERKS__
+#pragma warn_padding off
+#endif // __MWERKS__
+
+/*---------------------------------------------------------------------------*/
+
+/********************************/
+typedef struct _GXColor
+{
+ u8 r,
+ g,
+ b,
+ a;
+
+} GXColor;
+
+typedef struct _GXColorS10
+{
+ s16 r, g, b, a; // s10-bit components for Tev constant color
+} GXColorS10;
+
+/********************************/
+typedef struct _GXTexObj
+{
+#ifdef EMU
+ u32 dummy[16]; // emulator version
+#else
+ u32 dummy[8]; // real hardware version
+#endif
+} GXTexObj;
+
+/********************************/
+typedef struct _GXTlutObj
+{
+ u32 dummy[3];
+
+} GXTlutObj;
+
+/********************************/
+typedef struct _GXLightObj
+{
+ u32 dummy[16];
+
+} GXLightObj;
+
+/********************************/
+typedef struct _GXVtxAttrFmtList
+{
+ GXAttr attr;
+ GXCompCnt cnt;
+ GXCompType type;
+ u8 frac;
+
+} GXVtxAttrFmtList;
+
+/********************************/
+typedef struct _GXTexRegion
+{
+#ifdef EMU
+ u32 dummy[8]; // emulator version
+#else
+ u32 dummy[4]; // real hardware version
+#endif
+} GXTexRegion;
+
+/********************************/
+typedef struct _GXTlutRegion
+{
+ u32 dummy[4];
+
+} GXTlutRegion;
+
+/********************************/
+typedef struct _GXVtxDescList
+{
+ GXAttr attr;
+ GXAttrType type;
+
+} GXVtxDescList;
+
+/********************************/
+typedef struct _GXRenderModeObj
+{
+ VITVMode viTVmode;
+ u16 fbWidth; // no xscale from efb to xfb
+ u16 efbHeight; // embedded frame buffer
+ u16 xfbHeight; // external frame buffer, may yscale efb
+ u16 viXOrigin;
+ u16 viYOrigin;
+ u16 viWidth;
+ u16 viHeight;
+ VIXFBMode xFBmode; // whether single-field or double-field in
+ // XFB.
+ u8 field_rendering; // rendering fields or frames?
+ u8 aa; // anti-aliasing on?
+ u8 sample_pattern[12][2]; // aa sample pattern
+ u8 vfilter[7]; // vertical filter coefficients
+} GXRenderModeObj;
+
+/********************************/
+typedef struct _GXFogAdjTable
+{
+ u16 r[10];
+} GXFogAdjTable;
+
+/********************************/
+
+/*---------------------------------------------------------------------------*/
+
+#ifdef __MWERKS__
+#pragma warn_padding reset
+#endif // __MWERKS__
+
+/*---------------------------------------------------------------------------*/
+#ifdef __cplusplus
+}
+#endif
+
+#endif