Mario Kart 64
Loading...
Searching...
No Matches
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
16extern "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 */
42typedef 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 */
81typedef 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
104
105} uObjScaleBg_t; /* 40 bytes */
106
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
119typedef 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
136typedef union {
139} uObjSprite;
140
141/*---------------------------------------------------------------------------*
142 * 2D Matrix
143 *---------------------------------------------------------------------------*/
144typedef 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
151typedef union {
154} uObjMtx;
155
156typedef struct {
157 s16 X, Y; /* s10.2 */
158 u16 BaseScaleX; /* u5.10 */
159 u16 BaseScaleY; /* u5.10 */
160} uObjSubMtx_t; /* 8 bytes */
161
162typedef 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
177typedef 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
191typedef 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
205typedef 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
222
223/*---------------------------------------------------------------------------*
224 * Loading into TMEM & 2D Objects
225 *---------------------------------------------------------------------------*/
226typedef 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 { \
310 gDma1p((pkt), G_RDPHALF_0, (flag), (u32) (mptr) & 0xffff, (sid)); \
311 gDma1p((pkt), G_SELECT_DL, (mask), (u32) (mptr) >> 16, G_DL_PUSH); \
312 }
313#define gsSPSelectDL(mptr, sid, flag, mask) \
314 { \
315 gsDma1p(G_RDPHALF_0, (flag), (u32) (mptr) & 0xffff, (sid)); \
316 gsDma1p(G_SELECT_DL, (mask), (u32) (mptr) >> 16, G_DL_PUSH); \
317 }
318#define gSPSelectBranchDL(pkt, mptr, sid, flag, mask) \
319 { \
320 gDma1p((pkt), G_RDPHALF_0, (flag), (u32) (mptr) & 0xffff, (sid)); \
321 gDma1p((pkt), G_SELECT_DL, (mask), (u32) (mptr) >> 16, G_DL_NOPUSH); \
322 }
323#define gsSPSelectBranchDL(mptr, sid, flag, mask) \
324 { \
325 gsDma1p(G_RDPHALF_0, (flag), (u32) (mptr) & 0xffff, (sid)); \
326 gsDma1p(G_SELECT_DL, (mask), (u32) (mptr) >> 16, G_DL_NOPUSH); \
327 }
328
329/*---------------------------------------------------------------------------*
330 * Set general status
331 *---------------------------------------------------------------------------*/
332#define G_MW_GENSTAT 0x08 /* Note that it is the same value of G_MW_FOG */
333
334#define gSPSetStatus(pkt, sid, val) gMoveWd((pkt), G_MW_GENSTAT, (sid), (val))
335#define gsSPSetStatus(sid, val) gsMoveWd(G_MW_GENSTAT, (sid), (val))
336
337/*---------------------------------------------------------------------------*
338 * Set Object Render Mode
339 *---------------------------------------------------------------------------*/
340#define G_OBJRM_NOTXCLAMP 0x01
341#define G_OBJRM_XLU 0x02 /* Ignored */
342#define G_OBJRM_ANTIALIAS 0x04 /* Ignored */
343#define G_OBJRM_BILERP 0x08
344#define G_OBJRM_SHRINKSIZE_1 0x10
345#define G_OBJRM_SHRINKSIZE_2 0x20
346#define G_OBJRM_WIDEN 0x40
347
348#define gSPObjRenderMode(pkt, mode) gImmp1((pkt), G_OBJ_RENDERMODE, (mode))
349#define gsSPObjRenderMode(mode) gsImmp1(G_OBJ_RENDERMODE, (mode))
350
351/*===========================================================================*
352 * Render Mode Macro
353 *===========================================================================*/
354#define RM_RA_SPRITE(clk) \
355 AA_EN | CVG_DST_CLAMP | CVG_X_ALPHA | ALPHA_CVG_SEL | ZMODE_OPA | TEX_EDGE | \
356 GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)
357
358#define G_RM_SPRITE G_RM_OPA_SURF
359#define G_RM_SPRITE2 G_RM_OPA_SURF2
360#define G_RM_RA_SPRITE RM_RA_SPRITE(1)
361#define G_RM_RA_SPRITE2 RM_RA_SPRITE(2)
362#define G_RM_AA_SPRITE G_RM_AA_TEX_TERR
363#define G_RM_AA_SPRITE2 G_RM_AA_TEX_TERR2
364#define G_RM_XLU_SPRITE G_RM_XLU_SURF
365#define G_RM_XLU_SPRITE2 G_RM_XLU_SURF2
366#define G_RM_AA_XLU_SPRITE G_RM_AA_XLU_SURF
367#define G_RM_AA_XLU_SPRITE2 G_RM_AA_XLU_SURF2
368
369/*===========================================================================*
370 * External functions
371 *===========================================================================*/
380extern void guS2DInitBg(uObjBg*);
381
382#ifdef F3DEX_GBI_2
383#define guS2DEmuBgRect1Cyc guS2D2EmuBgRect1Cyc /*Wrapper*/
384#define guS2DEmuSetScissor guS2D2EmuSetScissor /*Wrapper*/
385extern void guS2D2EmuSetScissor(u32, u32, u32, u32, u8);
386extern void guS2D2EmuBgRect1Cyc(Gfx**, uObjBg*);
387#else
389extern void guS2DEmuBgRect1Cyc(Gfx**, uObjBg*);
390#endif
391
392#ifdef _LANGUAGE_C_PLUS_PLUS
393}
394#endif
395#endif /* _GS2DEX_H_ */
396
397/*======== End of gs2dex.h ========*/
@ B
Definition common_structs.h:25
u64 gspS2DEX_fifo_dTextStart[]
u64 gspS2DEX2_fifoTextStart[]
u64 gspS2DEX2_fifoDataEnd[]
Definition gs2dex.h:377
u64 gspS2DEX_fifoTextEnd[]
Definition gs2dex.h:372
u64 gspS2DEX_fifo_dDataStart[]
u64 gspS2DEX2_xbusDataStart[]
void guS2DInitBg(uObjBg *)
u64 gspS2DEX2_xbusTextEnd[]
Definition gs2dex.h:378
u64 gspS2DEX2_xbusDataEnd[]
Definition gs2dex.h:379
u64 gspS2DEX2_xbusTextStart[]
void guS2DEmuBgRect1Cyc(Gfx **, uObjBg *)
u64 gspS2DEX_fifoTextStart[]
u64 gspS2DEX_fifo_dTextEnd[]
Definition gs2dex.h:374
u64 gspS2DEX_fifo_dDataEnd[]
Definition gs2dex.h:375
u64 gspS2DEX_fifoDataEnd[]
Definition gs2dex.h:373
u64 gspS2DEX2_fifoDataStart[]
u64 gspS2DEX2_fifoTextEnd[]
Definition gs2dex.h:376
void guS2DEmuSetScissor(u32, u32, u32, u32, u8)
u64 gspS2DEX_fifoDataStart[]
unsigned long long int u64
Definition llconv.c:2
s32 padding[2048]
Definition main.c:143
Definition gs2dex.h:42
u16 imageY
Definition gs2dex.h:48
u16 frameH
Definition gs2dex.h:51
u16 imageLoad
Definition gs2dex.h:54
u16 tmemW
Definition gs2dex.h:61
u8 imageFmt
Definition gs2dex.h:55
u16 imageW
Definition gs2dex.h:44
u16 tmemH
Definition gs2dex.h:64
u16 tmemLoadSH
Definition gs2dex.h:67
s16 frameX
Definition gs2dex.h:45
u64 * imagePtr
Definition gs2dex.h:53
u16 tmemSize
Definition gs2dex.h:76
u16 imageX
Definition gs2dex.h:43
u8 imageSiz
Definition gs2dex.h:56
u16 imageH
Definition gs2dex.h:49
u16 frameW
Definition gs2dex.h:46
s16 frameY
Definition gs2dex.h:50
u16 tmemSizeW
Definition gs2dex.h:73
u16 imagePal
Definition gs2dex.h:57
u16 tmemLoadTH
Definition gs2dex.h:70
u16 imageFlip
Definition gs2dex.h:58
Definition gs2dex.h:144
u16 BaseScaleY
Definition gs2dex.h:148
u16 BaseScaleX
Definition gs2dex.h:147
s16 X
Definition gs2dex.h:146
s32 A
Definition gs2dex.h:145
Definition gs2dex.h:81
u16 imageY
Definition gs2dex.h:87
u16 imageH
Definition gs2dex.h:88
s16 frameX
Definition gs2dex.h:84
u16 imageFlip
Definition gs2dex.h:97
s32 imageYorig
Definition gs2dex.h:101
s16 frameY
Definition gs2dex.h:89
u16 scaleH
Definition gs2dex.h:100
u16 imageLoad
Definition gs2dex.h:93
u16 imageW
Definition gs2dex.h:83
u16 imagePal
Definition gs2dex.h:96
u16 scaleW
Definition gs2dex.h:99
u16 frameW
Definition gs2dex.h:85
u64 * imagePtr
Definition gs2dex.h:92
u16 imageX
Definition gs2dex.h:82
u8 imageFmt
Definition gs2dex.h:94
u16 frameH
Definition gs2dex.h:90
u8 imageSiz
Definition gs2dex.h:95
Definition gs2dex.h:119
u8 imagePal
Definition gs2dex.h:132
u16 imageW
Definition gs2dex.h:122
u8 imageFmt
Definition gs2dex.h:130
u16 paddingY
Definition gs2dex.h:127
u16 imageAdrs
Definition gs2dex.h:129
u16 scaleW
Definition gs2dex.h:121
u16 imageH
Definition gs2dex.h:126
u8 imageFlags
Definition gs2dex.h:133
u16 imageStride
Definition gs2dex.h:128
s16 objX
Definition gs2dex.h:120
u8 imageSiz
Definition gs2dex.h:131
u16 scaleH
Definition gs2dex.h:125
s16 objY
Definition gs2dex.h:124
u16 paddingX
Definition gs2dex.h:123
Definition gs2dex.h:156
u16 BaseScaleX
Definition gs2dex.h:158
u16 BaseScaleY
Definition gs2dex.h:159
s16 X
Definition gs2dex.h:157
Definition gs2dex.h:226
uObjTxtr txtr
Definition gs2dex.h:227
uObjSprite sprite
Definition gs2dex.h:228
Definition gs2dex.h:177
u64 * image
Definition gs2dex.h:179
u16 sid
Definition gs2dex.h:183
u16 tsize
Definition gs2dex.h:181
u32 mask
Definition gs2dex.h:185
u16 tmem
Definition gs2dex.h:180
u32 type
Definition gs2dex.h:178
u32 flag
Definition gs2dex.h:184
u16 tline
Definition gs2dex.h:182
Definition gs2dex.h:205
u32 type
Definition gs2dex.h:206
u16 zero
Definition gs2dex.h:210
u16 pnum
Definition gs2dex.h:209
u32 mask
Definition gs2dex.h:213
u64 * image
Definition gs2dex.h:207
u16 phead
Definition gs2dex.h:208
u16 sid
Definition gs2dex.h:211
u32 flag
Definition gs2dex.h:212
Definition gs2dex.h:191
u32 mask
Definition gs2dex.h:199
u16 theight
Definition gs2dex.h:196
u16 tmem
Definition gs2dex.h:194
u32 flag
Definition gs2dex.h:198
u32 type
Definition gs2dex.h:192
u16 sid
Definition gs2dex.h:197
u16 twidth
Definition gs2dex.h:195
u64 * image
Definition gs2dex.h:193
signed int s32
Definition ultratypes.h:15
unsigned int u32
Definition ultratypes.h:16
signed short int s16
Definition ultratypes.h:13
unsigned short int u16
Definition ultratypes.h:14
unsigned char u8
Definition ultratypes.h:12
Definition gs2dex.h:107
long long int force_structure_alignment
Definition gs2dex.h:110
uObjBg_t b
Definition gs2dex.h:108
uObjScaleBg_t s
Definition gs2dex.h:109
Definition gs2dex.h:151
uObjMtx_t m
Definition gs2dex.h:152
long long int force_structure_alignment
Definition gs2dex.h:153
Definition gs2dex.h:136
long long int force_structure_alignment
Definition gs2dex.h:138
uObjSprite_t s
Definition gs2dex.h:137
Definition gs2dex.h:162
uObjSubMtx_t m
Definition gs2dex.h:163
long long int force_structure_alignment
Definition gs2dex.h:164
Definition gs2dex.h:216
long long int force_structure_alignment
Definition gs2dex.h:220
uObjTxtrBlock_t block
Definition gs2dex.h:217
uObjTxtrTile_t tile
Definition gs2dex.h:218
uObjTxtrTLUT_t tlut
Definition gs2dex.h:219