Super Mario 64 Source
A Super Mario 64 decompilation, brought to you by a bunch of clever folks.
gs2dex.h
Go to the documentation of this file.
1 /*---------------------------------------------------------------------
2  Copyright (C) 1997, Nintendo.
3 
4  File gs2dex.h
5  Coded by Yoshitaka Yasumoto. Jul 31, 1997.
6  Modified by
7  Comments Header file for S2DEX ucode.
8 
9  $Id: gs2dex.h,v 1.21 1998/05/28 00:14:49 has Exp $
10  ---------------------------------------------------------------------*/
11 
12 #ifndef _GS2DEX_H_
13 #define _GS2DEX_H_
14 
15 #ifdef _LANGUAGE_C_PLUS_PLUS
16 extern "C" {
17 #endif
18 
19 #include <PR/ultratypes.h>
20 
21 /*===========================================================================*
22  * Macro
23  *===========================================================================*/
24 #define GS_CALC_DXT(line) (((1<< G_TX_DXT_FRAC)-1)/(line)+1)
25 #define GS_PIX2TMEM(pix, siz) ((pix)>>(4-(siz)))
26 #define GS_PIX2DXT(pix, siz) GS_CALC_DXT(GS_PIX2TMEM((pix), (siz)))
27 
28 /*===========================================================================*
29  * Data structures for S2DEX microcode
30  *===========================================================================*/
31 
32 /*---------------------------------------------------------------------------*
33  * Background
34  *---------------------------------------------------------------------------*/
35 #define G_BGLT_LOADBLOCK 0x0033
36 #define G_BGLT_LOADTILE 0xfff4
37 
38 #define G_BG_FLAG_FLIPS 0x01
39 #define G_BG_FLAG_FLIPT 0x10
40 
41 /* Non scalable background plane */
42 typedef struct {
43  u16 imageX; /* x-coordinate of upper-left position of texture (u10.5) */
44  u16 imageW; /* width of the texture (u10.2) */
45  s16 frameX; /* upper-left position of transferred frame (s10.2) */
46  u16 frameW; /* width of transferred frame (u10.2) */
47 
48  u16 imageY; /* y-coordinate of upper-left position of texture (u10.5) */
49  u16 imageH; /* height of the texture (u10.2) */
50  s16 frameY; /* upper-left position of transferred frame (s10.2) */
51  u16 frameH; /* height of transferred frame (u10.2) */
52 
53  u64 *imagePtr; /* texture source address on DRAM */
54  u16 imageLoad; /* which to use, LoadBlock or LoadTile */
55  u8 imageFmt; /* format of texel - G_IM_FMT_* */
56  u8 imageSiz; /* size of texel - G_IM_SIZ_* */
57  u16 imagePal; /* pallet number */
58  u16 imageFlip; /* right & left image inversion (Inverted by G_BG_FLAG_FLIPS) */
59 
60  /* The following is set in the initialization routine guS2DInitBg(). There is no need for the user to set it. */
61  u16 tmemW; /* TMEM width and Word size of frame 1 line.
62  At LoadBlock, GS_PIX2TMEM(imageW/4,imageSiz)
63  At LoadTile GS_PIX2TMEM(frameW/4,imageSiz)+1 */
64  u16 tmemH; /* height of TMEM loadable at a time (s13.2) 4 times value
65  When the normal texture, 512/tmemW*4
66  When the CI texture, 256/tmemW*4 */
67  u16 tmemLoadSH; /* SH value
68  At LoadBlock, tmemSize/2-1
69  At LoadTile, tmemW*16-1 */
70  u16 tmemLoadTH; /* TH value or Stride value
71  At LoadBlock, GS_CALC_DXT(tmemW)
72  At LoadTile, tmemH-1 */
73  u16 tmemSizeW; /* skip value of imagePtr for image 1-line
74  At LoadBlock, tmemW*2
75  At LoadTile, GS_PIX2TMEM(imageW/4,imageSiz)*2 */
76  u16 tmemSize; /* skip value of imagePtr for 1-loading
77  = tmemSizeW*tmemH */
78 } uObjBg_t; /* 40 bytes */
79 
80 /* Scalable background plane */
81 typedef struct {
82  u16 imageX; /* x-coordinate of upper-left position of texture (u10.5) */
83  u16 imageW; /* width of texture (u10.2) */
84  s16 frameX; /* upper-left position of transferred frame (s10.2) */
85  u16 frameW; /* width of transferred frame (u10.2) */
86 
87  u16 imageY; /* y-coordinate of upper-left position of texture (u10.5) */
88  u16 imageH; /* height of texture (u10.2) */
89  s16 frameY; /* upper-left position of transferred frame (s10.2) */
90  u16 frameH; /* height of transferred frame (u10.2) */
91 
92  u64 *imagePtr; /* texture source address on DRAM */
93  u16 imageLoad; /* Which to use, LoadBlock or LoadTile? */
94  u8 imageFmt; /* format of texel - G_IM_FMT_* */
95  u8 imageSiz; /* size of texel - G_IM_SIZ_* */
96  u16 imagePal; /* pallet number */
97  u16 imageFlip; /* right & left image inversion (Inverted by G_BG_FLAG_FLIPS) */
98 
99  u16 scaleW; /* scale value of X-direction (u5.10) */
100  u16 scaleH; /* scale value of Y-direction (u5.10) */
101  s32 imageYorig; /* start point of drawing on image (s20.5) */
102 
103  u8 padding[4];
104 
105 } uObjScaleBg_t; /* 40 bytes */
106 
107 typedef union {
111 } uObjBg;
112 
113 /*---------------------------------------------------------------------------*
114  * 2D Objects
115  *---------------------------------------------------------------------------*/
116 #define G_OBJ_FLAG_FLIPS 1<<0 /* inversion to S-direction */
117 #define G_OBJ_FLAG_FLIPT 1<<4 /* nversion to T-direction */
118 
119 typedef struct {
120  s16 objX; /* s10.2 OBJ x-coordinate of upper-left end */
121  u16 scaleW; /* u5.10 Scaling of u5.10 width direction */
122  u16 imageW; /* u10.5 width of u10.5 texture (length of S-direction) */
123  u16 paddingX; /* Unused - Always 0 */
124  s16 objY; /* s10.2 OBJ y-coordinate of s10.2 OBJ upper-left end */
125  u16 scaleH; /* u5.10 Scaling of u5.10 height direction */
126  u16 imageH; /* u10.5 height of u10.5 texture (length of T-direction) */
127  u16 paddingY; /* Unused - Always 0 */
128  u16 imageStride; /* folding width of texel (In units of 64bit word) */
129  u16 imageAdrs; /* texture header position in TMEM (In units of 64bit word) */
130  u8 imageFmt; /* format of texel - G_IM_FMT_* */
131  u8 imageSiz; /* size of texel - G_IM_SIZ_* */
132  u8 imagePal; /* pallet number (0-7) */
133  u8 imageFlags; /* The display flag - G_OBJ_FLAG_FLIP* */
134 } uObjSprite_t; /* 24 bytes */
135 
136 typedef union {
139 } uObjSprite;
140 
141 /*---------------------------------------------------------------------------*
142  * 2D Matrix
143  *---------------------------------------------------------------------------*/
144 typedef struct {
145  s32 A, B, C, D; /* s15.16 */
146  s16 X, Y; /* s10.2 */
147  u16 BaseScaleX; /* u5.10 */
148  u16 BaseScaleY; /* u5.10 */
149 } uObjMtx_t; /* 24 bytes */
150 
151 typedef union {
154 } uObjMtx;
155 
156 typedef struct {
157  s16 X, Y; /* s10.2 */
158  u16 BaseScaleX; /* u5.10 */
159  u16 BaseScaleY; /* u5.10 */
160 } uObjSubMtx_t; /* 8 bytes */
161 
162 typedef union {
165 } uObjSubMtx;
166 
167 /*---------------------------------------------------------------------------*
168  * Loading into TMEM
169  *---------------------------------------------------------------------------*/
170 #define G_OBJLT_TXTRBLOCK 0x00001033
171 #define G_OBJLT_TXTRTILE 0x00fc1034
172 #define G_OBJLT_TLUT 0x00000030
173 
174 #define GS_TB_TSIZE(pix,siz) (GS_PIX2TMEM((pix),(siz))-1)
175 #define GS_TB_TLINE(pix,siz) (GS_CALC_DXT(GS_PIX2TMEM((pix),(siz))))
176 
177 typedef struct {
178  u32 type; /* G_OBJLT_TXTRBLOCK divided into types */
179  u64 *image; /* texture source address on DRAM */
180  u16 tmem; /* loaded TMEM word address (8byteWORD) */
181  u16 tsize; /* Texture size, Specified by macro GS_TB_TSIZE() */
182  u16 tline; /* width of Texture 1-line, Specified by macro GS_TB_TLINE() */
183  u16 sid; /* STATE ID Multipled by 4 (Either one of 0, 4, 8 and 12) */
184  u32 flag; /* STATE flag */
185  u32 mask; /* STATE mask */
186 } uObjTxtrBlock_t; /* 24 bytes */
187 
188 #define GS_TT_TWIDTH(pix,siz) ((GS_PIX2TMEM((pix), (siz))<<2)-1)
189 #define GS_TT_THEIGHT(pix,siz) (((pix)<<2)-1)
190 
191 typedef struct {
192  u32 type; /* G_OBJLT_TXTRTILE divided into types */
193  u64 *image; /* texture source address on DRAM */
194  u16 tmem; /* loaded TMEM word address (8byteWORD)*/
195  u16 twidth; /* width of Texture (Specified by macro GS_TT_TWIDTH()) */
196  u16 theight; /* height of Texture (Specified by macro GS_TT_THEIGHT()) */
197  u16 sid; /* STATE ID Multipled by 4 (Either one of 0, 4, 8 and 12) */
198  u32 flag; /* STATE flag */
199  u32 mask; /* STATE mask */
200 } uObjTxtrTile_t; /* 24 bytes */
201 
202 #define GS_PAL_HEAD(head) ((head)+256)
203 #define GS_PAL_NUM(num) ((num)-1)
204 
205 typedef struct {
206  u32 type; /* G_OBJLT_TLUT divided into types */
207  u64 *image; /* texture source address on DRAM */
208  u16 phead; /* pallet number of load header (Between 256 and 511) */
209  u16 pnum; /* loading pallet number -1 */
210  u16 zero; /* Assign 0 all the time */
211  u16 sid; /* STATE ID Multipled by 4 (Either one of 0, 4, 8 and 12)*/
212  u32 flag; /* STATE flag */
213  u32 mask; /* STATE mask */
214 } uObjTxtrTLUT_t; /* 24 bytes */
215 
216 typedef union {
221 } uObjTxtr;
222 
223 /*---------------------------------------------------------------------------*
224  * Loading into TMEM & 2D Objects
225  *---------------------------------------------------------------------------*/
226 typedef struct {
229 } uObjTxSprite; /* 48 bytes */
230 
231 /*===========================================================================*
232  * GBI Commands for S2DEX microcode
233  *===========================================================================*/
234 /* GBI Header */
235 #ifdef F3DEX_GBI_2
236 #define G_OBJ_RECTANGLE_R 0xda
237 #define G_OBJ_MOVEMEM 0xdc
238 #define G_RDPHALF_0 0xe4
239 #define G_OBJ_RECTANGLE 0x01
240 #define G_OBJ_SPRITE 0x02
241 #define G_SELECT_DL 0x04
242 #define G_OBJ_LOADTXTR 0x05
243 #define G_OBJ_LDTX_SPRITE 0x06
244 #define G_OBJ_LDTX_RECT 0x07
245 #define G_OBJ_LDTX_RECT_R 0x08
246 #define G_BG_1CYC 0x09
247 #define G_BG_COPY 0x0a
248 #define G_OBJ_RENDERMODE 0x0b
249 #else
250 #define G_BG_1CYC 0x01
251 #define G_BG_COPY 0x02
252 #define G_OBJ_RECTANGLE 0x03
253 #define G_OBJ_SPRITE 0x04
254 #define G_OBJ_MOVEMEM 0x05
255 #define G_SELECT_DL 0xb0
256 #define G_OBJ_RENDERMODE 0xb1
257 #define G_OBJ_RECTANGLE_R 0xb2
258 #define G_OBJ_LOADTXTR 0xc1
259 #define G_OBJ_LDTX_SPRITE 0xc2
260 #define G_OBJ_LDTX_RECT 0xc3
261 #define G_OBJ_LDTX_RECT_R 0xc4
262 #define G_RDPHALF_0 0xe4
263 #endif
264 
265 /*---------------------------------------------------------------------------*
266  * Background wrapped screen
267  *---------------------------------------------------------------------------*/
268 #define gSPBgRectangle(pkt, m, mptr) gDma0p((pkt),(m),(mptr),0)
269 #define gsSPBgRectangle(m, mptr) gsDma0p( (m),(mptr),0)
270 #define gSPBgRectCopy(pkt, mptr) gSPBgRectangle((pkt), G_BG_COPY, (mptr))
271 #define gsSPBgRectCopy(mptr) gsSPBgRectangle( G_BG_COPY, (mptr))
272 #define gSPBgRect1Cyc(pkt, mptr) gSPBgRectangle((pkt), G_BG_1CYC, (mptr))
273 #define gsSPBgRect1Cyc(mptr) gsSPBgRectangle( G_BG_1CYC, (mptr))
274 
275 /*---------------------------------------------------------------------------*
276  * 2D Objects
277  *---------------------------------------------------------------------------*/
278 #define gSPObjSprite(pkt, mptr) gDma0p((pkt),G_OBJ_SPRITE, (mptr),0)
279 #define gsSPObjSprite(mptr) gsDma0p( G_OBJ_SPRITE, (mptr),0)
280 #define gSPObjRectangle(pkt, mptr) gDma0p((pkt),G_OBJ_RECTANGLE, (mptr),0)
281 #define gsSPObjRectangle(mptr) gsDma0p( G_OBJ_RECTANGLE, (mptr),0)
282 #define gSPObjRectangleR(pkt, mptr) gDma0p((pkt),G_OBJ_RECTANGLE_R,(mptr),0)
283 #define gsSPObjRectangleR(mptr) gsDma0p( G_OBJ_RECTANGLE_R,(mptr),0)
284 
285 /*---------------------------------------------------------------------------*
286  * 2D Matrix
287  *---------------------------------------------------------------------------*/
288 #define gSPObjMatrix(pkt, mptr) gDma1p((pkt),G_OBJ_MOVEMEM,(mptr),0,23)
289 #define gsSPObjMatrix(mptr) gsDma1p( G_OBJ_MOVEMEM,(mptr),0,23)
290 #define gSPObjSubMatrix(pkt, mptr) gDma1p((pkt),G_OBJ_MOVEMEM,(mptr),2, 7)
291 #define gsSPObjSubMatrix(mptr) gsDma1p( G_OBJ_MOVEMEM,(mptr),2, 7)
292 
293 /*---------------------------------------------------------------------------*
294  * Loading into TMEM
295  *---------------------------------------------------------------------------*/
296 #define gSPObjLoadTxtr(pkt, tptr) gDma0p((pkt),G_OBJ_LOADTXTR, (tptr),23)
297 #define gsSPObjLoadTxtr(tptr) gsDma0p( G_OBJ_LOADTXTR, (tptr),23)
298 #define gSPObjLoadTxSprite(pkt, tptr) gDma0p((pkt),G_OBJ_LDTX_SPRITE,(tptr),47)
299 #define gsSPObjLoadTxSprite(tptr) gsDma0p( G_OBJ_LDTX_SPRITE,(tptr),47)
300 #define gSPObjLoadTxRect(pkt, tptr) gDma0p((pkt),G_OBJ_LDTX_RECT, (tptr),47)
301 #define gsSPObjLoadTxRect(tptr) gsDma0p( G_OBJ_LDTX_RECT, (tptr),47)
302 #define gSPObjLoadTxRectR(pkt, tptr) gDma0p((pkt),G_OBJ_LDTX_RECT_R,(tptr),47)
303 #define gsSPObjLoadTxRectR(tptr) gsDma0p( G_OBJ_LDTX_RECT_R,(tptr),47)
304 
305 /*---------------------------------------------------------------------------*
306  * Select Display List
307  *---------------------------------------------------------------------------*/
308 #define gSPSelectDL(pkt, mptr, sid, flag, mask) \
309 { gDma1p((pkt), G_RDPHALF_0, (flag), (u32)(mptr) & 0xffff, (sid)); \
310  gDma1p((pkt), G_SELECT_DL, (mask), (u32)(mptr) >> 16, G_DL_PUSH); }
311 #define gsSPSelectDL(mptr, sid, flag, mask) \
312 { gsDma1p(G_RDPHALF_0, (flag), (u32)(mptr) & 0xffff, (sid)); \
313  gsDma1p(G_SELECT_DL, (mask), (u32)(mptr) >> 16, G_DL_PUSH); }
314 #define gSPSelectBranchDL(pkt, mptr, sid, flag, mask) \
315 { gDma1p((pkt), G_RDPHALF_0, (flag), (u32)(mptr) & 0xffff, (sid)); \
316  gDma1p((pkt), G_SELECT_DL, (mask), (u32)(mptr) >> 16, G_DL_NOPUSH); }
317 #define gsSPSelectBranchDL(mptr, sid, flag, mask) \
318 { gsDma1p(G_RDPHALF_0, (flag), (u32)(mptr) & 0xffff, (sid)); \
319  gsDma1p(G_SELECT_DL, (mask), (u32)(mptr) >> 16, G_DL_NOPUSH); }
320 
321 /*---------------------------------------------------------------------------*
322  * Set general status
323  *---------------------------------------------------------------------------*/
324 #define G_MW_GENSTAT 0x08 /* Note that it is the same value of G_MW_FOG */
325 
326 #define gSPSetStatus(pkt, sid, val) \
327  gMoveWd((pkt), G_MW_GENSTAT, (sid), (val))
328 #define gsSPSetStatus(sid, val) \
329  gsMoveWd( G_MW_GENSTAT, (sid), (val))
330 
331 /*---------------------------------------------------------------------------*
332  * Set Object Render Mode
333  *---------------------------------------------------------------------------*/
334 #define G_OBJRM_NOTXCLAMP 0x01
335 #define G_OBJRM_XLU 0x02 /* Ignored */
336 #define G_OBJRM_ANTIALIAS 0x04 /* Ignored */
337 #define G_OBJRM_BILERP 0x08
338 #define G_OBJRM_SHRINKSIZE_1 0x10
339 #define G_OBJRM_SHRINKSIZE_2 0x20
340 #define G_OBJRM_WIDEN 0x40
341 
342 #define gSPObjRenderMode(pkt, mode) gImmp1((pkt),G_OBJ_RENDERMODE,(mode))
343 #define gsSPObjRenderMode(mode) gsImmp1( G_OBJ_RENDERMODE,(mode))
344 
345 /*===========================================================================*
346  * Render Mode Macro
347  *===========================================================================*/
348 #define RM_RA_SPRITE(clk) \
349  AA_EN | CVG_DST_CLAMP | \
350  CVG_X_ALPHA | ALPHA_CVG_SEL | ZMODE_OPA | TEX_EDGE | \
351  GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)
352 
353 #define G_RM_SPRITE G_RM_OPA_SURF
354 #define G_RM_SPRITE2 G_RM_OPA_SURF2
355 #define G_RM_RA_SPRITE RM_RA_SPRITE(1)
356 #define G_RM_RA_SPRITE2 RM_RA_SPRITE(2)
357 #define G_RM_AA_SPRITE G_RM_AA_TEX_TERR
358 #define G_RM_AA_SPRITE2 G_RM_AA_TEX_TERR2
359 #define G_RM_XLU_SPRITE G_RM_XLU_SURF
360 #define G_RM_XLU_SPRITE2 G_RM_XLU_SURF2
361 #define G_RM_AA_XLU_SPRITE G_RM_AA_XLU_SURF
362 #define G_RM_AA_XLU_SPRITE2 G_RM_AA_XLU_SURF2
363 
364 /*===========================================================================*
365  * External functions
366  *===========================================================================*/
375 extern void guS2DInitBg(uObjBg *);
376 
377 #ifdef F3DEX_GBI_2
378 # define guS2DEmuBgRect1Cyc guS2D2EmuBgRect1Cyc /*Wrapper*/
379 # define guS2DEmuSetScissor guS2D2EmuSetScissor /*Wrapper*/
380  extern void guS2D2EmuSetScissor(u32, u32, u32, u32, u8);
381  extern void guS2D2EmuBgRect1Cyc(Gfx **, uObjBg *);
382 #else
383  extern void guS2DEmuSetScissor(u32, u32, u32, u32, u8);
384  extern void guS2DEmuBgRect1Cyc(Gfx **, uObjBg *);
385 #endif
386 
387 #ifdef _LANGUAGE_C_PLUS_PLUS
388 }
389 #endif
390 #endif /* _GS2DEX_H_ */
391 
392 /*======== End of gs2dex.h ========*/
u64 * image
Definition: gs2dex.h:179
u64 gspS2DEX2_fifoTextStart[]
long long int force_structure_alignment
Definition: gs2dex.h:164
Definition: gs2dex.h:162
Definition: gs2dex.h:81
uObjSprite sprite
Definition: gs2dex.h:228
u16 BaseScaleX
Definition: gs2dex.h:158
u16 imageX
Definition: gs2dex.h:82
s16 Y
Definition: gs2dex.h:157
u16 imageAdrs
Definition: gs2dex.h:129
u16 tmemSize
Definition: gs2dex.h:76
Definition: gs2dex.h:205
Definition: gs2dex.h:42
u32 flag
Definition: gs2dex.h:212
unsigned short int u16
Definition: ultratypes.h:14
u64 * imagePtr
Definition: gs2dex.h:53
u64 gspS2DEX_fifo_dDataStart[]
void guS2DInitBg(uObjBg *)
u16 imageH
Definition: gs2dex.h:88
u16 imageY
Definition: gs2dex.h:48
u16 tmemLoadSH
Definition: gs2dex.h:67
void guS2DEmuSetScissor(u32, u32, u32, u32, u8)
long long int force_structure_alignment
Definition: gs2dex.h:220
signed short int s16
Definition: ultratypes.h:13
u16 tmem
Definition: gs2dex.h:194
u64 gspS2DEX2_fifoTextEnd[]
u64 gspS2DEX_fifoDataStart[]
long long int force_structure_alignment
Definition: gs2dex.h:110
u16 sid
Definition: gs2dex.h:197
long long int force_structure_alignment
Definition: gs2dex.h:153
u8 imageSiz
Definition: gs2dex.h:56
u64 gspS2DEX_fifoTextEnd[]
u32 mask
Definition: gs2dex.h:185
u16 imageH
Definition: gs2dex.h:49
u8 imageSiz
Definition: gs2dex.h:95
uObjTxtrTLUT_t tlut
Definition: gs2dex.h:219
uObjTxtr txtr
Definition: gs2dex.h:227
u16 tsize
Definition: gs2dex.h:181
Definition: gbi_old.h:59
u16 pnum
Definition: gs2dex.h:209
u16 scaleW
Definition: gs2dex.h:121
u16 scaleW
Definition: gs2dex.h:99
u64 * image
Definition: gs2dex.h:193
unsigned long long int u64
Definition: ultratypes.h:18
s16 frameX
Definition: gs2dex.h:45
u64 gspS2DEX2_fifoDataEnd[]
u16 tmemW
Definition: gs2dex.h:61
u16 tmemSizeW
Definition: gs2dex.h:73
u16 imageH
Definition: gs2dex.h:126
u64 gspS2DEX_fifo_dTextEnd[]
u16 frameW
Definition: gs2dex.h:85
u16 tmemH
Definition: gs2dex.h:64
s16 frameY
Definition: gs2dex.h:50
u16 sid
Definition: gs2dex.h:211
u16 tmemLoadTH
Definition: gs2dex.h:70
u16 paddingY
Definition: gs2dex.h:127
uObjTxtrTile_t tile
Definition: gs2dex.h:218
u16 BaseScaleX
Definition: gs2dex.h:147
u16 scaleH
Definition: gs2dex.h:125
u16 zero
Definition: gs2dex.h:210
uObjScaleBg_t s
Definition: gs2dex.h:109
input is a non tagged type Internal error in function gen_type_str not a type tree s Cannot open file s Prototype should be moved after tag or a typedef declaration Please look for comments in the extracted header file The extracted header file includes prototypes static for which should be if you wish to include the header in a source file other than the originator ANSI C requires formal parameter before This extension is meant to be used for compatibility with varargs h(35) syntax error cannot initialize Was the struct ever after argument a legal assembly string The float option will be ignored in ANSI mode The float option is since otherwise program semantics would violate the ANSI standard In fp constants are always double with ANSI C
Definition: err.english.cc:1169
u16 frameW
Definition: gs2dex.h:46
Definition: gs2dex.h:177
u64 gspS2DEX2_xbusDataEnd[]
u16 imageX
Definition: gs2dex.h:43
u16 paddingX
Definition: gs2dex.h:123
u32 type
Definition: gs2dex.h:178
u64 gspS2DEX2_xbusDataStart[]
Definition: gs2dex.h:191
u16 theight
Definition: gs2dex.h:196
u16 imagePal
Definition: gs2dex.h:96
u16 imageLoad
Definition: gs2dex.h:54
u32 type
Definition: gs2dex.h:192
Definition: gs2dex.h:156
u64 * image
Definition: gs2dex.h:207
s16 objY
Definition: gs2dex.h:124
u16 imageFlip
Definition: gs2dex.h:58
u16 BaseScaleY
Definition: gs2dex.h:159
u16 frameH
Definition: gs2dex.h:90
u64 gspS2DEX_fifo_dDataEnd[]
u64 * imagePtr
Definition: gs2dex.h:92
Definition: gs2dex.h:216
u16 imageW
Definition: gs2dex.h:83
s16 Y
Definition: gs2dex.h:146
u32 flag
Definition: gs2dex.h:184
Definition: gs2dex.h:151
u16 frameH
Definition: gs2dex.h:51
long long int force_structure_alignment
Definition: gs2dex.h:138
u32 mask
Definition: gs2dex.h:199
s16 frameX
Definition: gs2dex.h:84
u16 imageY
Definition: gs2dex.h:87
u64 gspS2DEX_fifoTextStart[]
u64 gspS2DEX_fifoDataEnd[]
u32 flag
Definition: gs2dex.h:198
uObjSubMtx_t m
Definition: gs2dex.h:163
uObjMtx_t m
Definition: gs2dex.h:152
u8 imageSiz
Definition: gs2dex.h:131
Definition: gs2dex.h:107
s32 D
Definition: gs2dex.h:145
u16 phead
Definition: gs2dex.h:208
u64 gspS2DEX2_xbusTextEnd[]
uObjSprite_t s
Definition: gs2dex.h:137
Definition: gs2dex.h:144
u64 gspS2DEX2_fifoDataStart[]
u16 BaseScaleY
Definition: gs2dex.h:148
u8 imagePal
Definition: gs2dex.h:132
u8 imageFmt
Definition: gs2dex.h:130
u16 imageFlip
Definition: gs2dex.h:97
unsigned char u8
Definition: ultratypes.h:12
u16 tline
Definition: gs2dex.h:182
u16 imageW
Definition: gs2dex.h:44
u64 gspS2DEX_fifo_dTextStart[]
u16 imageLoad
Definition: gs2dex.h:93
u64 gspS2DEX2_xbusTextStart[]
uObjTxtrBlock_t block
Definition: gs2dex.h:217
u8 imageFmt
Definition: gs2dex.h:55
u16 imagePal
Definition: gs2dex.h:57
signed int s32
Definition: ultratypes.h:15
s16 frameY
Definition: gs2dex.h:89
Definition: gs2dex.h:119
void guS2DEmuBgRect1Cyc(Gfx **, uObjBg *)
Definition: gs2dex.h:136
u16 sid
Definition: gs2dex.h:183
s32 imageYorig
Definition: gs2dex.h:101
u16 scaleH
Definition: gs2dex.h:100
u32 type
Definition: gs2dex.h:206
s16 objX
Definition: gs2dex.h:120
unsigned int u32
Definition: ultratypes.h:16
u8 imageFmt
Definition: gs2dex.h:94
u16 twidth
Definition: gs2dex.h:195
u16 imageStride
Definition: gs2dex.h:128
uObjBg_t b
Definition: gs2dex.h:108
u32 mask
Definition: gs2dex.h:213
u16 tmem
Definition: gs2dex.h:180
Definition: gs2dex.h:226
u16 imageW
Definition: gs2dex.h:122
u8 imageFlags
Definition: gs2dex.h:133