blob: 2b58a98ffde7dea7cd4f1aa8775a19ade0cd6204 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
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
|