Mario Kart 64
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 
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 ========*/
@ B
Definition: common_structs.h:97
u64 gspS2DEX_fifo_dTextStart[]
u64 gspS2DEX2_fifoTextStart[]
u64 gspS2DEX2_fifoDataEnd[]
Definition: gs2dex.h:372
u64 gspS2DEX_fifoTextEnd[]
Definition: gs2dex.h:367
u64 gspS2DEX_fifo_dDataStart[]
u64 gspS2DEX2_xbusDataStart[]
void guS2DInitBg(uObjBg *)
u64 gspS2DEX2_xbusTextEnd[]
Definition: gs2dex.h:373
u64 gspS2DEX2_xbusDataEnd[]
Definition: gs2dex.h:374
u64 gspS2DEX2_xbusTextStart[]
void guS2DEmuBgRect1Cyc(Gfx **, uObjBg *)
u64 gspS2DEX_fifoTextStart[]
u64 gspS2DEX_fifo_dTextEnd[]
Definition: gs2dex.h:369
u64 gspS2DEX_fifo_dDataEnd[]
Definition: gs2dex.h:370
u64 gspS2DEX_fifoDataEnd[]
Definition: gs2dex.h:368
u64 gspS2DEX2_fifoDataStart[]
u64 gspS2DEX2_fifoTextEnd[]
Definition: gs2dex.h:371
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:145
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