4#define OPCODE(x) (int8_t)(x)
86#define G_TRI_FILL 0xc8
87#define G_TRI_SHADE 0xcc
88#define G_TRI_TXTR 0xca
89#define G_TRI_SHADE_TXTR 0xce
90#define G_TRI_FILL_ZBUFF 0xc9
91#define G_TRI_SHADE_ZBUFF 0xcd
92#define G_TRI_TXTR_ZBUFF 0xcb
93#define G_TRI_SHADE_TXTR_ZBUFF 0xcf
109#define G_RDP_TRI_FILL_MASK 0x08
110#define G_RDP_TRI_SHADE_MASK 0x04
111#define G_RDP_TRI_TXTR_MASK 0x02
112#define G_RDP_TRI_ZBUFF_MASK 0x01
130#define G_RDP_ADDR_FIXUP 3
131#ifdef _LANGUAGE_ASSEMBLY
132#define G_RDP_TEXRECT_CHECK ((-1 * G_TEXRECTFLIP) & 0xff)
136#define GDMACMD(x) (x)
137#define GIMMCMD(x) = OPCODE(G_IMMFIRST - (x))
138#define GRDPCMD(x) (0xff - (x))
140#define G_DMACMDSIZ 128
141#define G_IMMCMDSIZ 64
142#define G_RDPCMDSIZ 64
147#define G_TEXTURE_IMAGE_FRAC 2
148#define G_TEXTURE_SCALE_FRAC 16
149#define G_SCALE_FRAC 8
150#define G_ROTATE_FRAC 16
165#define G_MAXFBZ 0x3fff
167#define GPACK_RGBA5551(r, g, b, a) ((((r) << 8) & 0xf800) | (((g) << 3) & 0x7c0) | (((b) >> 2) & 0x3e) | ((a)&0x1))
168#define GPACK_ZDZ(z, dz) ((z) << 2 | (dz))
196#define G_ZBUFFER 0x00000001
197#define G_SHADE 0x00000004
198#define G_FOG 0x00010000
199#define G_LIGHTING 0x00020000
200#define G_TEXTURE_GEN 0x00040000
201#define G_TEXTURE_GEN_LINEAR 0x00080000
202#define G_LOD 0x00100000
203#define G_LIGHTING_POSITIONAL 0x00400000
208#define G_EX_INVERT_CULLING 0x00000001
209#define G_EX_ALWAYS_EXECUTE_BRANCH 0x00000002
214#define G_IM_FMT_RGBA 0
215#define G_IM_FMT_YUV 1
225#define G_IM_SIZ_16b 2
226#define G_IM_SIZ_32b 3
229#define G_IM_SIZ_4b_BYTES 0
230#define G_IM_SIZ_4b_TILE_BYTES G_IM_SIZ_4b_BYTES
231#define G_IM_SIZ_4b_LINE_BYTES G_IM_SIZ_4b_BYTES
233#define G_IM_SIZ_8b_BYTES 1
234#define G_IM_SIZ_8b_TILE_BYTES G_IM_SIZ_8b_BYTES
235#define G_IM_SIZ_8b_LINE_BYTES G_IM_SIZ_8b_BYTES
237#define G_IM_SIZ_16b_BYTES 2
238#define G_IM_SIZ_16b_TILE_BYTES G_IM_SIZ_16b_BYTES
239#define G_IM_SIZ_16b_LINE_BYTES G_IM_SIZ_16b_BYTES
241#define G_IM_SIZ_32b_BYTES 4
242#define G_IM_SIZ_32b_TILE_BYTES 2
243#define G_IM_SIZ_32b_LINE_BYTES 2
245#define G_IM_SIZ_4b_LOAD_BLOCK G_IM_SIZ_16b
246#define G_IM_SIZ_8b_LOAD_BLOCK G_IM_SIZ_16b
247#define G_IM_SIZ_16b_LOAD_BLOCK G_IM_SIZ_16b
248#define G_IM_SIZ_32b_LOAD_BLOCK G_IM_SIZ_32b
250#define G_IM_SIZ_4b_SHIFT 2
251#define G_IM_SIZ_8b_SHIFT 1
252#define G_IM_SIZ_16b_SHIFT 0
253#define G_IM_SIZ_32b_SHIFT 0
255#define G_IM_SIZ_4b_INCR 3
256#define G_IM_SIZ_8b_INCR 1
257#define G_IM_SIZ_16b_INCR 0
258#define G_IM_SIZ_32b_INCR 0
266#define G_TX_LOADTILE 7
267#define G_TX_RENDERTILE 0
269#define G_TX_NOMIRROR 0
271#define G_TX_MIRROR 0x1
272#define G_TX_CLAMP 0x2
280#define G_CCMUX_COMBINED 0
281#define G_CCMUX_TEXEL0 1
282#define G_CCMUX_TEXEL1 2
283#define G_CCMUX_PRIMITIVE 3
284#define G_CCMUX_SHADE 4
285#define G_CCMUX_ENVIRONMENT 5
286#define G_CCMUX_CENTER 6
287#define G_CCMUX_SCALE 6
288#define G_CCMUX_COMBINED_ALPHA 7
289#define G_CCMUX_TEXEL0_ALPHA 8
290#define G_CCMUX_TEXEL1_ALPHA 9
291#define G_CCMUX_PRIMITIVE_ALPHA 10
292#define G_CCMUX_SHADE_ALPHA 11
293#define G_CCMUX_ENV_ALPHA 12
294#define G_CCMUX_LOD_FRACTION 13
295#define G_CCMUX_PRIM_LOD_FRAC 14
296#define G_CCMUX_NOISE 7
302#define G_CCMUX_KEY_CENTER 20
303#define G_CCMUX_KEY_SCALE 21
304#define G_CCMUX_CONVERT_K4 22
305#define G_CCMUX_CONVERT_K5 23
308#define G_ACMUX_COMBINED 0
309#define G_ACMUX_TEXEL0 1
310#define G_ACMUX_TEXEL1 2
311#define G_ACMUX_PRIMITIVE 3
312#define G_ACMUX_SHADE 4
313#define G_ACMUX_ENVIRONMENT 5
314#define G_ACMUX_LOD_FRACTION 0
315#define G_ACMUX_PRIM_LOD_FRAC 6
320#define G_CC_PRIMITIVE 0, 0, 0, PRIMITIVE, 0, 0, 0, PRIMITIVE
321#define G_CC_SHADE 0, 0, 0, SHADE, 0, 0, 0, SHADE
322#define G_CC_MODULATEI TEXEL0, 0, SHADE, 0, 0, 0, 0, SHADE
323#define G_CC_MODULATEIA TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0
324#define G_CC_MODULATEIDECALA TEXEL0, 0, SHADE, 0, 0, 0, 0, TEXEL0
325#define G_CC_MODULATERGB G_CC_MODULATEI
326#define G_CC_MODULATERGBA G_CC_MODULATEIA
327#define G_CC_MODULATERGBDECALA G_CC_MODULATEIDECALA
328#define G_CC_MODULATEI_PRIM TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE
329#define G_CC_MODULATEIA_PRIM TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0
330#define G_CC_MODULATEIDECALA_PRIM TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, TEXEL0
331#define G_CC_MODULATERGB_PRIM G_CC_MODULATEI_PRIM
332#define G_CC_MODULATERGBA_PRIM G_CC_MODULATEIA_PRIM
333#define G_CC_MODULATERGBDECALA_PRIM G_CC_MODULATEIDECALA_PRIM
334#define G_CC_DECALRGB 0, 0, 0, TEXEL0, 0, 0, 0, SHADE
335#define G_CC_DECALRGBA 0, 0, 0, TEXEL0, 0, 0, 0, TEXEL0
336#define G_CC_BLENDI ENVIRONMENT, SHADE, TEXEL0, SHADE, 0, 0, 0, SHADE
337#define G_CC_BLENDIA ENVIRONMENT, SHADE, TEXEL0, SHADE, TEXEL0, 0, SHADE, 0
338#define G_CC_BLENDIDECALA ENVIRONMENT, SHADE, TEXEL0, SHADE, 0, 0, 0, TEXEL0
339#define G_CC_BLENDRGBA TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, SHADE
340#define G_CC_BLENDRGBDECALA TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, TEXEL0
341#define G_CC_ADDRGB 1, 0, TEXEL0, SHADE, 0, 0, 0, SHADE
342#define G_CC_ADDRGBDECALA 1, 0, TEXEL0, SHADE, 0, 0, 0, TEXEL0
343#define G_CC_REFLECTRGB ENVIRONMENT, 0, TEXEL0, SHADE, 0, 0, 0, SHADE
344#define G_CC_REFLECTRGBDECALA ENVIRONMENT, 0, TEXEL0, SHADE, 0, 0, 0, TEXEL0
345#define G_CC_HILITERGB PRIMITIVE, SHADE, TEXEL0, SHADE, 0, 0, 0, SHADE
346#define G_CC_HILITERGBA PRIMITIVE, SHADE, TEXEL0, SHADE, PRIMITIVE, SHADE, TEXEL0, SHADE
347#define G_CC_HILITERGBDECALA PRIMITIVE, SHADE, TEXEL0, SHADE, 0, 0, 0, TEXEL0
348#define G_CC_SHADEDECALA 0, 0, 0, SHADE, 0, 0, 0, TEXEL0
349#define G_CC_BLENDPE PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, SHADE, 0
350#define G_CC_BLENDPEDECALA PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, 0, 0, 0, TEXEL0
353#define _G_CC_BLENDPE ENVIRONMENT, PRIMITIVE, TEXEL0, PRIMITIVE, TEXEL0, 0, SHADE, 0
354#define _G_CC_BLENDPEDECALA ENVIRONMENT, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0
355#define _G_CC_TWOCOLORTEX PRIMITIVE, SHADE, TEXEL0, SHADE, 0, 0, 0, SHADE
357#define _G_CC_SPARSEST PRIMITIVE, TEXEL0, LOD_FRACTION, TEXEL0, PRIMITIVE, TEXEL0, LOD_FRACTION, TEXEL0
358#define G_CC_TEMPLERP TEXEL1, TEXEL0, PRIM_LOD_FRAC, TEXEL0, TEXEL1, TEXEL0, PRIM_LOD_FRAC, TEXEL0
361#define G_CC_TRILERP TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0
362#define G_CC_INTERFERENCE TEXEL0, 0, TEXEL1, 0, TEXEL0, 0, TEXEL1, 0
367#define G_CC_1CYUV2RGB TEXEL0, K4, K5, TEXEL0, 0, 0, 0, SHADE
373#define G_CC_YUV2RGB TEXEL1, K4, K5, TEXEL1, 0, 0, 0, 0
376#define G_CC_PASS2 0, 0, 0, COMBINED, 0, 0, 0, COMBINED
377#define G_CC_MODULATEI2 COMBINED, 0, SHADE, 0, 0, 0, 0, SHADE
378#define G_CC_MODULATEIA2 COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0
379#define G_CC_MODULATERGB2 G_CC_MODULATEI2
380#define G_CC_MODULATERGBA2 G_CC_MODULATEIA2
381#define G_CC_MODULATEI_PRIM2 COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE
382#define G_CC_MODULATEIA_PRIM2 COMBINED, 0, PRIMITIVE, 0, COMBINED, 0, PRIMITIVE, 0
383#define G_CC_MODULATERGB_PRIM2 G_CC_MODULATEI_PRIM2
384#define G_CC_MODULATERGBA_PRIM2 G_CC_MODULATEIA_PRIM2
385#define G_CC_DECALRGB2 0, 0, 0, COMBINED, 0, 0, 0, SHADE
390#define G_CC_BLENDI2 ENVIRONMENT, SHADE, COMBINED, SHADE, 0, 0, 0, SHADE
391#define G_CC_BLENDIA2 ENVIRONMENT, SHADE, COMBINED, SHADE, COMBINED, 0, SHADE, 0
392#define G_CC_CHROMA_KEY2 TEXEL0, CENTER, SCALE, 0, 0, 0, 0, 0
393#define G_CC_HILITERGB2 ENVIRONMENT, COMBINED, TEXEL0, COMBINED, 0, 0, 0, SHADE
394#define G_CC_HILITERGBA2 ENVIRONMENT, COMBINED, TEXEL0, COMBINED, ENVIRONMENT, COMBINED, TEXEL0, COMBINED
395#define G_CC_HILITERGBDECALA2 ENVIRONMENT, COMBINED, TEXEL0, COMBINED, 0, 0, 0, TEXEL0
396#define G_CC_HILITERGBPASSA2 ENVIRONMENT, COMBINED, TEXEL0, COMBINED, 0, 0, 0, COMBINED
401#define G_MDSFT_ALPHACOMPARE 0
402#define G_MDSFT_ZSRCSEL 2
403#define G_MDSFT_RENDERMODE 3
404#define G_MDSFT_BLENDER 16
409#define G_MDSFT_BLENDMASK 0
410#define G_MDSFT_ALPHADITHER 4
411#define G_MDSFT_RGBDITHER 6
413#define G_MDSFT_COMBKEY 8
414#define G_MDSFT_TEXTCONV 9
415#define G_MDSFT_TEXTFILT 12
416#define G_MDSFT_TEXTLUT 14
417#define G_MDSFT_TEXTLOD 16
418#define G_MDSFT_TEXTDETAIL 17
419#define G_MDSFT_TEXTPERSP 19
420#define G_MDSFT_CYCLETYPE 20
421#define G_MDSFT_COLORDITHER 22
422#define G_MDSFT_PIPELINE 23
425#define G_PM_1PRIMITIVE (1 << G_MDSFT_PIPELINE)
426#define G_PM_NPRIMITIVE (0 << G_MDSFT_PIPELINE)
429#define G_CYC_1CYCLE (0 << G_MDSFT_CYCLETYPE)
430#define G_CYC_2CYCLE (1 << G_MDSFT_CYCLETYPE)
431#define G_CYC_COPY (2 << G_MDSFT_CYCLETYPE)
432#define G_CYC_FILL (3 << G_MDSFT_CYCLETYPE)
435#define G_TP_NONE (0 << G_MDSFT_TEXTPERSP)
436#define G_TP_PERSP (1 << G_MDSFT_TEXTPERSP)
439#define G_TD_CLAMP (0 << G_MDSFT_TEXTDETAIL)
440#define G_TD_SHARPEN (1 << G_MDSFT_TEXTDETAIL)
441#define G_TD_DETAIL (2 << G_MDSFT_TEXTDETAIL)
444#define G_TL_TILE (0 << G_MDSFT_TEXTLOD)
445#define G_TL_LOD (1 << G_MDSFT_TEXTLOD)
448#define G_TT_NONE (0 << G_MDSFT_TEXTLUT)
449#define G_TT_RGBA16 (2 << G_MDSFT_TEXTLUT)
450#define G_TT_IA16 (3 << G_MDSFT_TEXTLUT)
453#define G_TF_POINT (0 << G_MDSFT_TEXTFILT)
454#define G_TF_AVERAGE (3 << G_MDSFT_TEXTFILT)
455#define G_TF_BILERP (2 << G_MDSFT_TEXTFILT)
458#define G_TC_CONV (0 << G_MDSFT_TEXTCONV)
459#define G_TC_FILTCONV (5 << G_MDSFT_TEXTCONV)
460#define G_TC_FILT (6 << G_MDSFT_TEXTCONV)
463#define G_CK_NONE (0 << G_MDSFT_COMBKEY)
464#define G_CK_KEY (1 << G_MDSFT_COMBKEY)
467#define G_CD_MAGICSQ (0 << G_MDSFT_RGBDITHER)
468#define G_CD_BAYER (1 << G_MDSFT_RGBDITHER)
469#define G_CD_NOISE (2 << G_MDSFT_RGBDITHER)
472#define G_CD_DISABLE (3 << G_MDSFT_RGBDITHER)
473#define G_CD_ENABLE G_CD_NOISE
475#define G_CD_ENABLE (1 << G_MDSFT_COLORDITHER)
476#define G_CD_DISABLE (0 << G_MDSFT_COLORDITHER)
480#define G_AD_PATTERN (0 << G_MDSFT_ALPHADITHER)
481#define G_AD_NOTPATTERN (1 << G_MDSFT_ALPHADITHER)
482#define G_AD_NOISE (2 << G_MDSFT_ALPHADITHER)
483#define G_AD_DISABLE (3 << G_MDSFT_ALPHADITHER)
486#define G_AC_NONE (0 << G_MDSFT_ALPHACOMPARE)
487#define G_AC_THRESHOLD (1 << G_MDSFT_ALPHACOMPARE)
488#define G_AC_DITHER (3 << G_MDSFT_ALPHACOMPARE)
491#define G_ZS_PIXEL (0 << G_MDSFT_ZSRCSEL)
492#define G_ZS_PRIM (1 << G_MDSFT_ZSRCSEL)
499#define CLR_ON_CVG 0x80
500#define CVG_DST_CLAMP 0
501#define CVG_DST_WRAP 0x100
502#define CVG_DST_FULL 0x200
503#define CVG_DST_SAVE 0x300
505#define ZMODE_INTER 0x400
506#define ZMODE_XLU 0x800
507#define ZMODE_DEC 0xc00
508#define CVG_X_ALPHA 0x1000
509#define ALPHA_CVG_SEL 0x2000
510#define FORCE_BL 0x4000
511#define TEX_EDGE 0x0000
514#define G_BL_CLR_MEM 1
516#define G_BL_CLR_FOG 3
521#define G_BL_A_SHADE 2
525#define GBL_c1(m1a, m1b, m2a, m2b) (uint32_t)(m1a) << 30 | (m1b) << 26 | (m2a) << 22 | (m2b) << 18
526#define GBL_c2(m1a, m1b, m2a, m2b) (m1a) << 28 | (m1b) << 24 | (m2a) << 20 | (m2b) << 16
528#define RM_AA_ZB_OPA_SURF(clk) \
529 AA_EN | Z_CMP | Z_UPD | IM_RD | CVG_DST_CLAMP | ZMODE_OPA | ALPHA_CVG_SEL | \
530 GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM)
532#define RM_RA_ZB_OPA_SURF(clk) \
533 AA_EN | Z_CMP | Z_UPD | CVG_DST_CLAMP | ZMODE_OPA | ALPHA_CVG_SEL | \
534 GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM)
536#define RM_AA_ZB_XLU_SURF(clk) \
537 AA_EN | Z_CMP | IM_RD | CVG_DST_WRAP | CLR_ON_CVG | FORCE_BL | ZMODE_XLU | \
538 GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)
540#define RM_AA_ZB_OPA_DECAL(clk) \
541 AA_EN | Z_CMP | IM_RD | CVG_DST_WRAP | ALPHA_CVG_SEL | ZMODE_DEC | \
542 GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM)
544#define RM_RA_ZB_OPA_DECAL(clk) \
545 AA_EN | Z_CMP | CVG_DST_WRAP | ALPHA_CVG_SEL | ZMODE_DEC | \
546 GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM)
548#define RM_AA_ZB_XLU_DECAL(clk) \
549 AA_EN | Z_CMP | IM_RD | CVG_DST_WRAP | CLR_ON_CVG | FORCE_BL | ZMODE_DEC | \
550 GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)
552#define RM_AA_ZB_OPA_INTER(clk) \
553 AA_EN | Z_CMP | Z_UPD | IM_RD | CVG_DST_CLAMP | ALPHA_CVG_SEL | ZMODE_INTER | \
554 GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM)
556#define RM_RA_ZB_OPA_INTER(clk) \
557 AA_EN | Z_CMP | Z_UPD | CVG_DST_CLAMP | ALPHA_CVG_SEL | ZMODE_INTER | \
558 GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM)
560#define RM_AA_ZB_XLU_INTER(clk) \
561 AA_EN | Z_CMP | IM_RD | CVG_DST_WRAP | CLR_ON_CVG | FORCE_BL | ZMODE_INTER | \
562 GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)
564#define RM_AA_ZB_XLU_LINE(clk) \
565 AA_EN | Z_CMP | IM_RD | CVG_DST_CLAMP | CVG_X_ALPHA | ALPHA_CVG_SEL | FORCE_BL | ZMODE_XLU | \
566 GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)
568#define RM_AA_ZB_DEC_LINE(clk) \
569 AA_EN | Z_CMP | IM_RD | CVG_DST_SAVE | CVG_X_ALPHA | ALPHA_CVG_SEL | FORCE_BL | ZMODE_DEC | \
570 GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)
572#define RM_AA_ZB_TEX_EDGE(clk) \
573 AA_EN | Z_CMP | Z_UPD | IM_RD | CVG_DST_CLAMP | CVG_X_ALPHA | ALPHA_CVG_SEL | ZMODE_OPA | TEX_EDGE | \
574 GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM)
576#define RM_AA_ZB_TEX_INTER(clk) \
577 AA_EN | Z_CMP | Z_UPD | IM_RD | CVG_DST_CLAMP | CVG_X_ALPHA | ALPHA_CVG_SEL | ZMODE_INTER | TEX_EDGE | \
578 GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM)
580#define RM_AA_ZB_SUB_SURF(clk) \
581 AA_EN | Z_CMP | Z_UPD | IM_RD | CVG_DST_FULL | ZMODE_OPA | ALPHA_CVG_SEL | \
582 GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM)
584#define RM_AA_ZB_PCL_SURF(clk) \
585 AA_EN | Z_CMP | Z_UPD | IM_RD | CVG_DST_CLAMP | ZMODE_OPA | G_AC_DITHER | \
586 GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)
588#define RM_AA_ZB_OPA_TERR(clk) \
589 AA_EN | Z_CMP | Z_UPD | IM_RD | CVG_DST_CLAMP | ZMODE_OPA | ALPHA_CVG_SEL | \
590 GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)
592#define RM_AA_ZB_TEX_TERR(clk) \
593 AA_EN | Z_CMP | Z_UPD | IM_RD | CVG_DST_CLAMP | CVG_X_ALPHA | ALPHA_CVG_SEL | ZMODE_OPA | TEX_EDGE | \
594 GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)
596#define RM_AA_ZB_SUB_TERR(clk) \
597 AA_EN | Z_CMP | Z_UPD | IM_RD | CVG_DST_FULL | ZMODE_OPA | ALPHA_CVG_SEL | \
598 GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)
600#define RM_AA_OPA_SURF(clk) \
601 AA_EN | IM_RD | CVG_DST_CLAMP | ZMODE_OPA | ALPHA_CVG_SEL | \
602 GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM)
604#define RM_RA_OPA_SURF(clk) \
605 AA_EN | CVG_DST_CLAMP | ZMODE_OPA | ALPHA_CVG_SEL | GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM)
607#define RM_AA_XLU_SURF(clk) \
608 AA_EN | IM_RD | CVG_DST_WRAP | CLR_ON_CVG | FORCE_BL | ZMODE_OPA | \
609 GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)
611#define RM_AA_XLU_LINE(clk) \
612 AA_EN | IM_RD | CVG_DST_CLAMP | CVG_X_ALPHA | ALPHA_CVG_SEL | FORCE_BL | ZMODE_OPA | \
613 GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)
615#define RM_AA_DEC_LINE(clk) \
616 AA_EN | IM_RD | CVG_DST_FULL | CVG_X_ALPHA | ALPHA_CVG_SEL | FORCE_BL | ZMODE_OPA | \
617 GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)
619#define RM_AA_TEX_EDGE(clk) \
620 AA_EN | IM_RD | CVG_DST_CLAMP | CVG_X_ALPHA | ALPHA_CVG_SEL | ZMODE_OPA | TEX_EDGE | \
621 GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM)
623#define RM_AA_SUB_SURF(clk) \
624 AA_EN | IM_RD | CVG_DST_FULL | ZMODE_OPA | ALPHA_CVG_SEL | \
625 GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM)
627#define RM_AA_PCL_SURF(clk) \
628 AA_EN | IM_RD | CVG_DST_CLAMP | ZMODE_OPA | G_AC_DITHER | GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)
630#define RM_AA_OPA_TERR(clk) \
631 AA_EN | IM_RD | CVG_DST_CLAMP | ZMODE_OPA | ALPHA_CVG_SEL | \
632 GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)
634#define RM_AA_TEX_TERR(clk) \
635 AA_EN | IM_RD | CVG_DST_CLAMP | CVG_X_ALPHA | ALPHA_CVG_SEL | ZMODE_OPA | TEX_EDGE | \
636 GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)
638#define RM_AA_SUB_TERR(clk) \
639 AA_EN | IM_RD | CVG_DST_FULL | ZMODE_OPA | ALPHA_CVG_SEL | \
640 GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)
642#define RM_ZB_OPA_SURF(clk) \
643 Z_CMP | Z_UPD | CVG_DST_FULL | ALPHA_CVG_SEL | ZMODE_OPA | \
644 GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM)
646#define RM_ZB_XLU_SURF(clk) \
647 Z_CMP | IM_RD | CVG_DST_FULL | FORCE_BL | ZMODE_XLU | GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)
649#define RM_ZB_OPA_DECAL(clk) \
650 Z_CMP | CVG_DST_FULL | ALPHA_CVG_SEL | ZMODE_DEC | GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM)
652#define RM_ZB_XLU_DECAL(clk) \
653 Z_CMP | IM_RD | CVG_DST_FULL | FORCE_BL | ZMODE_DEC | GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)
655#define RM_ZB_CLD_SURF(clk) \
656 Z_CMP | IM_RD | CVG_DST_SAVE | FORCE_BL | ZMODE_XLU | GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)
658#define RM_ZB_OVL_SURF(clk) \
659 Z_CMP | IM_RD | CVG_DST_SAVE | FORCE_BL | ZMODE_DEC | GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)
661#define RM_ZB_PCL_SURF(clk) \
662 Z_CMP | Z_UPD | CVG_DST_FULL | ZMODE_OPA | G_AC_DITHER | GBL_c##clk(G_BL_CLR_IN, G_BL_0, G_BL_CLR_IN, G_BL_1)
664#define RM_OPA_SURF(clk) CVG_DST_CLAMP | FORCE_BL | ZMODE_OPA | GBL_c##clk(G_BL_CLR_IN, G_BL_0, G_BL_CLR_IN, G_BL_1)
666#define RM_XLU_SURF(clk) \
667 IM_RD | CVG_DST_FULL | FORCE_BL | ZMODE_OPA | GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)
669#define RM_TEX_EDGE(clk) \
670 CVG_DST_CLAMP | CVG_X_ALPHA | ALPHA_CVG_SEL | FORCE_BL | ZMODE_OPA | TEX_EDGE | AA_EN | \
671 GBL_c##clk(G_BL_CLR_IN, G_BL_0, G_BL_CLR_IN, G_BL_1)
673#define RM_CLD_SURF(clk) \
674 IM_RD | CVG_DST_SAVE | FORCE_BL | ZMODE_OPA | GBL_c##clk(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)
676#define RM_PCL_SURF(clk) \
677 CVG_DST_FULL | FORCE_BL | ZMODE_OPA | G_AC_DITHER | GBL_c##clk(G_BL_CLR_IN, G_BL_0, G_BL_CLR_IN, G_BL_1)
680 IM_RD | CVG_DST_SAVE | FORCE_BL | ZMODE_OPA | GBL_c##clk(G_BL_CLR_IN, G_BL_A_FOG, G_BL_CLR_MEM, G_BL_1)
682#define RM_NOOP(clk) GBL_c##clk(0, 0, 0, 0)
684#define RM_VISCVG(clk) IM_RD | FORCE_BL | GBL_c##clk(G_BL_CLR_IN, G_BL_0, G_BL_CLR_BL, G_BL_A_MEM)
687#define RM_OPA_CI(clk) CVG_DST_CLAMP | ZMODE_OPA | GBL_c##clk(G_BL_CLR_IN, G_BL_0, G_BL_CLR_IN, G_BL_1)
689#define G_RM_AA_ZB_OPA_SURF RM_AA_ZB_OPA_SURF(1)
690#define G_RM_AA_ZB_OPA_SURF2 RM_AA_ZB_OPA_SURF(2)
691#define G_RM_AA_ZB_XLU_SURF RM_AA_ZB_XLU_SURF(1)
692#define G_RM_AA_ZB_XLU_SURF2 RM_AA_ZB_XLU_SURF(2)
693#define G_RM_AA_ZB_OPA_DECAL RM_AA_ZB_OPA_DECAL(1)
694#define G_RM_AA_ZB_OPA_DECAL2 RM_AA_ZB_OPA_DECAL(2)
695#define G_RM_AA_ZB_XLU_DECAL RM_AA_ZB_XLU_DECAL(1)
696#define G_RM_AA_ZB_XLU_DECAL2 RM_AA_ZB_XLU_DECAL(2)
697#define G_RM_AA_ZB_OPA_INTER RM_AA_ZB_OPA_INTER(1)
698#define G_RM_AA_ZB_OPA_INTER2 RM_AA_ZB_OPA_INTER(2)
699#define G_RM_AA_ZB_XLU_INTER RM_AA_ZB_XLU_INTER(1)
700#define G_RM_AA_ZB_XLU_INTER2 RM_AA_ZB_XLU_INTER(2)
701#define G_RM_AA_ZB_XLU_LINE RM_AA_ZB_XLU_LINE(1)
702#define G_RM_AA_ZB_XLU_LINE2 RM_AA_ZB_XLU_LINE(2)
703#define G_RM_AA_ZB_DEC_LINE RM_AA_ZB_DEC_LINE(1)
704#define G_RM_AA_ZB_DEC_LINE2 RM_AA_ZB_DEC_LINE(2)
705#define G_RM_AA_ZB_TEX_EDGE RM_AA_ZB_TEX_EDGE(1)
706#define G_RM_AA_ZB_TEX_EDGE2 RM_AA_ZB_TEX_EDGE(2)
707#define G_RM_AA_ZB_TEX_INTER RM_AA_ZB_TEX_INTER(1)
708#define G_RM_AA_ZB_TEX_INTER2 RM_AA_ZB_TEX_INTER(2)
709#define G_RM_AA_ZB_SUB_SURF RM_AA_ZB_SUB_SURF(1)
710#define G_RM_AA_ZB_SUB_SURF2 RM_AA_ZB_SUB_SURF(2)
711#define G_RM_AA_ZB_PCL_SURF RM_AA_ZB_PCL_SURF(1)
712#define G_RM_AA_ZB_PCL_SURF2 RM_AA_ZB_PCL_SURF(2)
713#define G_RM_AA_ZB_OPA_TERR RM_AA_ZB_OPA_TERR(1)
714#define G_RM_AA_ZB_OPA_TERR2 RM_AA_ZB_OPA_TERR(2)
715#define G_RM_AA_ZB_TEX_TERR RM_AA_ZB_TEX_TERR(1)
716#define G_RM_AA_ZB_TEX_TERR2 RM_AA_ZB_TEX_TERR(2)
717#define G_RM_AA_ZB_SUB_TERR RM_AA_ZB_SUB_TERR(1)
718#define G_RM_AA_ZB_SUB_TERR2 RM_AA_ZB_SUB_TERR(2)
720#define G_RM_RA_ZB_OPA_SURF RM_RA_ZB_OPA_SURF(1)
721#define G_RM_RA_ZB_OPA_SURF2 RM_RA_ZB_OPA_SURF(2)
722#define G_RM_RA_ZB_OPA_DECAL RM_RA_ZB_OPA_DECAL(1)
723#define G_RM_RA_ZB_OPA_DECAL2 RM_RA_ZB_OPA_DECAL(2)
724#define G_RM_RA_ZB_OPA_INTER RM_RA_ZB_OPA_INTER(1)
725#define G_RM_RA_ZB_OPA_INTER2 RM_RA_ZB_OPA_INTER(2)
727#define G_RM_AA_OPA_SURF RM_AA_OPA_SURF(1)
728#define G_RM_AA_OPA_SURF2 RM_AA_OPA_SURF(2)
729#define G_RM_AA_XLU_SURF RM_AA_XLU_SURF(1)
730#define G_RM_AA_XLU_SURF2 RM_AA_XLU_SURF(2)
731#define G_RM_AA_XLU_LINE RM_AA_XLU_LINE(1)
732#define G_RM_AA_XLU_LINE2 RM_AA_XLU_LINE(2)
733#define G_RM_AA_DEC_LINE RM_AA_DEC_LINE(1)
734#define G_RM_AA_DEC_LINE2 RM_AA_DEC_LINE(2)
735#define G_RM_AA_TEX_EDGE RM_AA_TEX_EDGE(1)
736#define G_RM_AA_TEX_EDGE2 RM_AA_TEX_EDGE(2)
737#define G_RM_AA_SUB_SURF RM_AA_SUB_SURF(1)
738#define G_RM_AA_SUB_SURF2 RM_AA_SUB_SURF(2)
739#define G_RM_AA_PCL_SURF RM_AA_PCL_SURF(1)
740#define G_RM_AA_PCL_SURF2 RM_AA_PCL_SURF(2)
741#define G_RM_AA_OPA_TERR RM_AA_OPA_TERR(1)
742#define G_RM_AA_OPA_TERR2 RM_AA_OPA_TERR(2)
743#define G_RM_AA_TEX_TERR RM_AA_TEX_TERR(1)
744#define G_RM_AA_TEX_TERR2 RM_AA_TEX_TERR(2)
745#define G_RM_AA_SUB_TERR RM_AA_SUB_TERR(1)
746#define G_RM_AA_SUB_TERR2 RM_AA_SUB_TERR(2)
748#define G_RM_RA_OPA_SURF RM_RA_OPA_SURF(1)
749#define G_RM_RA_OPA_SURF2 RM_RA_OPA_SURF(2)
751#define G_RM_ZB_OPA_SURF RM_ZB_OPA_SURF(1)
752#define G_RM_ZB_OPA_SURF2 RM_ZB_OPA_SURF(2)
753#define G_RM_ZB_XLU_SURF RM_ZB_XLU_SURF(1)
754#define G_RM_ZB_XLU_SURF2 RM_ZB_XLU_SURF(2)
755#define G_RM_ZB_OPA_DECAL RM_ZB_OPA_DECAL(1)
756#define G_RM_ZB_OPA_DECAL2 RM_ZB_OPA_DECAL(2)
757#define G_RM_ZB_XLU_DECAL RM_ZB_XLU_DECAL(1)
758#define G_RM_ZB_XLU_DECAL2 RM_ZB_XLU_DECAL(2)
759#define G_RM_ZB_CLD_SURF RM_ZB_CLD_SURF(1)
760#define G_RM_ZB_CLD_SURF2 RM_ZB_CLD_SURF(2)
761#define G_RM_ZB_OVL_SURF RM_ZB_OVL_SURF(1)
762#define G_RM_ZB_OVL_SURF2 RM_ZB_OVL_SURF(2)
763#define G_RM_ZB_PCL_SURF RM_ZB_PCL_SURF(1)
764#define G_RM_ZB_PCL_SURF2 RM_ZB_PCL_SURF(2)
766#define G_RM_OPA_SURF RM_OPA_SURF(1)
767#define G_RM_OPA_SURF2 RM_OPA_SURF(2)
768#define G_RM_XLU_SURF RM_XLU_SURF(1)
769#define G_RM_XLU_SURF2 RM_XLU_SURF(2)
770#define G_RM_CLD_SURF RM_CLD_SURF(1)
771#define G_RM_CLD_SURF2 RM_CLD_SURF(2)
772#define G_RM_TEX_EDGE RM_TEX_EDGE(1)
773#define G_RM_TEX_EDGE2 RM_TEX_EDGE(2)
774#define G_RM_PCL_SURF RM_PCL_SURF(1)
775#define G_RM_PCL_SURF2 RM_PCL_SURF(2)
776#define G_RM_ADD RM_ADD(1)
777#define G_RM_ADD2 RM_ADD(2)
778#define G_RM_NOOP RM_NOOP(1)
779#define G_RM_NOOP2 RM_NOOP(2)
780#define G_RM_VISCVG RM_VISCVG(1)
781#define G_RM_VISCVG2 RM_VISCVG(2)
782#define G_RM_OPA_CI RM_OPA_CI(1)
783#define G_RM_OPA_CI2 RM_OPA_CI(2)
785#define G_RM_FOG_SHADE_A GBL_c1(G_BL_CLR_FOG, G_BL_A_SHADE, G_BL_CLR_IN, G_BL_1MA)
786#define G_RM_FOG_PRIM_A GBL_c1(G_BL_CLR_FOG, G_BL_A_FOG, G_BL_CLR_IN, G_BL_1MA)
787#define G_RM_PASS GBL_c1(G_BL_CLR_IN, G_BL_0, G_BL_CLR_IN, G_BL_1)
802#define G_SC_NON_INTERLACE 0
803#define G_SC_ODD_INTERLACE 3
804#define G_SC_EVEN_INTERLACE 2
807#define G_DL_PUSH 0x00
808#define G_DL_NOPUSH 0x01
810#if defined(_MSC_VER) || defined(__GNUC__)
817#if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS)
912 long long int force_structure_allignment[3];
976#define G_MW_MATRIX 0x00
977#define G_MW_NUMLIGHT 0x02
978#define G_MW_CLIP 0x04
979#define G_MW_SEGMENT 0x06
980#define G_MW_SEGMENT_INTERP 0x07
982#define G_MW_LIGHTCOL 0x0a
983#define G_MW_PERSPNORM 0x0e
988#define G_MWO_NUMLIGHT 0x00
989#define G_MWO_CLIP_RNX 0x04
990#define G_MWO_CLIP_RNY 0x0c
991#define G_MWO_CLIP_RPX 0x14
992#define G_MWO_CLIP_RPY 0x1c
993#define G_MWO_SEGMENT_0 0x00
994#define G_MWO_SEGMENT_1 0x01
995#define G_MWO_SEGMENT_2 0x02
996#define G_MWO_SEGMENT_3 0x03
997#define G_MWO_SEGMENT_4 0x04
998#define G_MWO_SEGMENT_5 0x05
999#define G_MWO_SEGMENT_6 0x06
1000#define G_MWO_SEGMENT_7 0x07
1001#define G_MWO_SEGMENT_8 0x08
1002#define G_MWO_SEGMENT_9 0x09
1003#define G_MWO_SEGMENT_A 0x0a
1004#define G_MWO_SEGMENT_B 0x0b
1005#define G_MWO_SEGMENT_C 0x0c
1006#define G_MWO_SEGMENT_D 0x0d
1007#define G_MWO_SEGMENT_E 0x0e
1008#define G_MWO_SEGMENT_F 0x0f
1009#define G_MWO_FOG 0x00
1010#define G_MWO_aLIGHT_1 0x00
1011#define G_MWO_bLIGHT_1 0x04
1012#define G_MWO_MATRIX_XX_XY_I 0x00
1013#define G_MWO_MATRIX_XZ_XW_I 0x04
1014#define G_MWO_MATRIX_YX_YY_I 0x08
1015#define G_MWO_MATRIX_YZ_YW_I 0x0c
1016#define G_MWO_MATRIX_ZX_ZY_I 0x10
1017#define G_MWO_MATRIX_ZZ_ZW_I 0x14
1018#define G_MWO_MATRIX_WX_WY_I 0x18
1019#define G_MWO_MATRIX_WZ_WW_I 0x1c
1020#define G_MWO_MATRIX_XX_XY_F 0x20
1021#define G_MWO_MATRIX_XZ_XW_F 0x24
1022#define G_MWO_MATRIX_YX_YY_F 0x28
1023#define G_MWO_MATRIX_YZ_YW_F 0x2c
1024#define G_MWO_MATRIX_ZX_ZY_F 0x30
1025#define G_MWO_MATRIX_ZZ_ZW_F 0x34
1026#define G_MWO_MATRIX_WX_WY_F 0x38
1027#define G_MWO_MATRIX_WZ_WW_F 0x3c
1028#define G_MWO_POINT_RGBA 0x10
1029#define G_MWO_POINT_ST 0x14
1030#define G_MWO_POINT_XYSCREEN 0x18
1031#define G_MWO_POINT_ZSCREEN 0x1c
1044 unsigned char col[3];
1046 unsigned char colc[3];
1053 unsigned char col[3];
1055 unsigned char colc[3];
1062 unsigned char col[3];
1064 unsigned char colc[3];
1075 long long int force_structure_alignment[2];
1080 long long int force_structure_alignment[1];
1134 long int force_structure_alignment[4];
1161static_assert(
sizeof(
F3DGwords) == 2 *
sizeof(
void*) +
sizeof(
F3DTrace),
"Display list size is bad");
1163static_assert(
sizeof(
F3DGwords) == 2 *
sizeof(
void*),
"Display list size is bad");
1180#define G_BGLT_LOADBLOCK 0x0033
1181#define G_BGLT_LOADTILE 0xfff4
1183#define G_BG_FLAG_FLIPS 0x01
1184#define G_BG_FLAG_FLIPT 0x10
1248 unsigned char padding[4];
1261#define G_OBJ_FLAG_FLIPS 1 << 0
1262#define G_OBJ_FLAG_FLIPT 1 << 4
1315#define G_OBJLT_TXTRBLOCK 0x00001033
1316#define G_OBJLT_TXTRTILE 0x00fc1034
1317#define G_OBJLT_TLUT 0x00000030
1319#define GS_TB_TSIZE(pix, siz) (GS_PIX2TMEM((pix), (siz)) - 1)
1320#define GS_TB_TLINE(pix, siz) (GS_CALC_DXT(GS_PIX2TMEM((pix), (siz))))
1333#define GS_TT_TWIDTH(pix, siz) ((GS_PIX2TMEM((pix), (siz)) << 2) - 1)
1334#define GS_TT_THEIGHT(pix, siz) (((pix) << 2) - 1)
1347#define GS_PAL_HEAD(head) ((head) + 256)
1348#define GS_PAL_NUM(num) ((num)-1)
#define OPCODE(x)
Definition lus_gbi.h:4
Definition gfx_direct3d_common.h:19
constexpr int8_t RDP_G_LOADBLOCK_WIDE
Definition lus_gbi.h:74
constexpr int8_t OTR_G_SETTIMG_OTR_HASH
Definition lus_gbi.h:39
constexpr int8_t OTR_G_POP_SHADER
Definition lus_gbi.h:71
constexpr int8_t RDP_G_SETTIMG
Definition lus_gbi.h:12
constexpr int8_t OTR_G_VTX_OTR_HASH
Definition lus_gbi.h:50
constexpr int8_t RDP_G_SETFOGCOLOR
Definition lus_gbi.h:17
constexpr int8_t RDP_G_RDPSETOTHERMODE
Definition lus_gbi.h:25
constexpr int8_t OTR_G_READFB
Definition lus_gbi.h:66
constexpr int8_t RDP_G_TRI1_WIDE
Definition lus_gbi.h:76
constexpr int8_t RDP_G_SETENVCOLOR
Definition lus_gbi.h:14
constexpr int8_t OTR_G_SETFB
Definition lus_gbi.h:40
constexpr int8_t RDP_G_TEXRECTFLIP
Definition lus_gbi.h:35
constexpr int8_t RDP_G_SETCONVERT
Definition lus_gbi.h:28
constexpr int8_t RDP_G_SETKEYR
Definition lus_gbi.h:29
constexpr int8_t OTR_G_INVALTEXCACHE
Definition lus_gbi.h:52
constexpr int8_t RDP_G_SETTARGETINTERPINDEX
Definition lus_gbi.h:73
constexpr int8_t RDP_G_VTX_WIDE
Definition lus_gbi.h:75
constexpr int8_t RDP_G_SETPRIMCOLOR
Definition lus_gbi.h:15
constexpr int8_t RDP_G_SETZIMG
Definition lus_gbi.h:11
constexpr int8_t OTR_G_DL_OTR_HASH
Definition lus_gbi.h:49
constexpr int8_t RDP_G_SETBLENDCOLOR
Definition lus_gbi.h:16
constexpr int8_t RDP_G_FILLRECT
Definition lus_gbi.h:19
constexpr int8_t OTR_G_COPYFB
Definition lus_gbi.h:63
constexpr int8_t RDP_G_LOADTLUT
Definition lus_gbi.h:24
constexpr int8_t OTR_G_MTX_OTR_FILEPATH
Definition lus_gbi.h:48
constexpr int8_t OTR_G_PUSHCD
Definition lus_gbi.h:47
constexpr int8_t RDP_G_SETKEYGB
Definition lus_gbi.h:30
constexpr int8_t OTR_G_EXTRAGEOMETRYMODE
Definition lus_gbi.h:62
constexpr int8_t OTR_G_REGBLENDEDTEX
Definition lus_gbi.h:67
constexpr int8_t RDP_G_SETTILE
Definition lus_gbi.h:20
constexpr int8_t RDP_G_LOADBLOCK
Definition lus_gbi.h:22
constexpr int8_t OTR_G_MARKER
Definition lus_gbi.h:51
constexpr int8_t OTR_G_MOVEMEM_HASH
Definition lus_gbi.h:69
constexpr int8_t RDP_G_RDPTILESYNC
Definition lus_gbi.h:32
constexpr int8_t OTR_G_DL_OTR_FILEPATH
Definition lus_gbi.h:46
constexpr int8_t OTR_G_SETTIMG_FB
Definition lus_gbi.h:42
constexpr int8_t OTR_G_DL_INDEX
Definition lus_gbi.h:65
constexpr int8_t OTR_G_SETTIMG_OTR_FILEPATH
Definition lus_gbi.h:44
constexpr int8_t OTR_G_MTX_OTR
Definition lus_gbi.h:54
constexpr int8_t RDP_G_SETFILLCOLOR
Definition lus_gbi.h:18
constexpr int8_t OTR_G_TRI1_OTR
Definition lus_gbi.h:45
constexpr int8_t OTR_G_VTX_OTR_FILEPATH
Definition lus_gbi.h:43
constexpr int8_t RDP_G_RDPFULLSYNC
Definition lus_gbi.h:31
constexpr int8_t RDP_G_SETCOMBINE
Definition lus_gbi.h:13
constexpr int8_t RDP_G_SETCIMG
Definition lus_gbi.h:10
constexpr int8_t OTR_G_SETGRAYSCALE
Definition lus_gbi.h:61
constexpr int8_t OTR_G_BRANCH_Z_OTR
Definition lus_gbi.h:53
constexpr int8_t OTR_G_FILLWIDERECT
Definition lus_gbi.h:56
constexpr int8_t RDP_G_RDPLOADSYNC
Definition lus_gbi.h:34
constexpr int8_t RDP_G_TEXRECT
Definition lus_gbi.h:36
constexpr int8_t OTR_G_IMAGERECT
Definition lus_gbi.h:64
constexpr int8_t RDP_G_SETSCISSOR
Definition lus_gbi.h:27
constexpr int8_t OTR_G_RESETFB
Definition lus_gbi.h:41
constexpr int8_t RDP_G_RDPPIPESYNC
Definition lus_gbi.h:33
constexpr int8_t RDP_G_SETPRIMDEPTH
Definition lus_gbi.h:26
constexpr int8_t RDP_G_LOADTILE
Definition lus_gbi.h:21
constexpr int8_t OTR_G_TEXRECT_WIDE
Definition lus_gbi.h:55
constexpr int8_t RDP_G_SETTILESIZE
Definition lus_gbi.h:23
constexpr int8_t RDP_G_SETTILESIZE_INTERP
Definition lus_gbi.h:72
constexpr int8_t OTR_G_SETINTENSITY
Definition lus_gbi.h:68
constexpr int8_t OTR_G_PUSH_SHADER
Definition lus_gbi.h:70
Definition lus_gbi.h:1061
char pad2
Definition lus_gbi.h:1065
char pad1
Definition lus_gbi.h:1063
Definition lus_gbi.h:1151
F3DTrace trace
Definition lus_gbi.h:1155
uintptr_t w1
Definition lus_gbi.h:1153
uintptr_t w0
Definition lus_gbi.h:1152
Definition lus_gbi.h:1068
int x1
Definition lus_gbi.h:1069
Definition lus_gbi.h:1043
char pad1
Definition lus_gbi.h:1045
char pad2
Definition lus_gbi.h:1047
char pad3
Definition lus_gbi.h:1049
Definition lus_gbi.h:1088
F3DAmbient a
Definition lus_gbi.h:1089
Definition lus_gbi.h:1093
F3DAmbient a
Definition lus_gbi.h:1094
Definition lus_gbi.h:1098
F3DAmbient a
Definition lus_gbi.h:1099
Definition lus_gbi.h:1103
F3DAmbient a
Definition lus_gbi.h:1104
Definition lus_gbi.h:1108
F3DAmbient a
Definition lus_gbi.h:1109
Definition lus_gbi.h:1113
F3DAmbient a
Definition lus_gbi.h:1114
Definition lus_gbi.h:1118
F3DAmbient a
Definition lus_gbi.h:1119
Definition lus_gbi.h:1123
F3DAmbient a
Definition lus_gbi.h:1124
Definition lus_gbi.h:1083
F3DAmbient a
Definition lus_gbi.h:1084
Definition lus_gbi.h:1128
Definition lus_gbi.h:1052
unsigned char unk3
Definition lus_gbi.h:1054
unsigned char unk7
Definition lus_gbi.h:1056
unsigned char unkE
Definition lus_gbi.h:1058
Definition lus_gbi.h:1141
bool valid
Definition lus_gbi.h:1144
const char * file
Definition lus_gbi.h:1142
int idx
Definition lus_gbi.h:1143
unsigned char flag
Definition lus_gbi.h:919
unsigned short flag
Definition lus_gbi.h:861
unsigned char a
Definition lus_gbi.h:878
unsigned short flag
Definition lus_gbi.h:875
Definition lus_gbi.h:1187
unsigned char imageFmt
Definition lus_gbi.h:1200
unsigned short imagePal
Definition lus_gbi.h:1202
unsigned short tmemSizeW
Definition lus_gbi.h:1218
unsigned short tmemLoadSH
Definition lus_gbi.h:1212
unsigned short imageY
Definition lus_gbi.h:1193
unsigned short imageX
Definition lus_gbi.h:1188
unsigned short tmemSize
Definition lus_gbi.h:1221
unsigned short frameW
Definition lus_gbi.h:1191
unsigned short imageH
Definition lus_gbi.h:1194
short frameY
Definition lus_gbi.h:1195
unsigned char imageSiz
Definition lus_gbi.h:1201
unsigned short tmemH
Definition lus_gbi.h:1209
unsigned short imageW
Definition lus_gbi.h:1189
unsigned short imageLoad
Definition lus_gbi.h:1199
unsigned long long int * imagePtr
Definition lus_gbi.h:1198
unsigned short imageFlip
Definition lus_gbi.h:1203
unsigned short tmemW
Definition lus_gbi.h:1206
unsigned short tmemLoadTH
Definition lus_gbi.h:1215
unsigned short frameH
Definition lus_gbi.h:1196
short frameX
Definition lus_gbi.h:1190
Definition lus_gbi.h:1289
short X
Definition lus_gbi.h:1291
unsigned short BaseScaleX
Definition lus_gbi.h:1292
int A
Definition lus_gbi.h:1290
unsigned short BaseScaleY
Definition lus_gbi.h:1293
Definition lus_gbi.h:1226
unsigned char imageSiz
Definition lus_gbi.h:1240
short frameY
Definition lus_gbi.h:1234
unsigned short frameW
Definition lus_gbi.h:1230
unsigned short imageX
Definition lus_gbi.h:1227
unsigned short frameH
Definition lus_gbi.h:1235
short frameX
Definition lus_gbi.h:1229
unsigned short scaleH
Definition lus_gbi.h:1245
unsigned char imageFmt
Definition lus_gbi.h:1239
unsigned short imageFlip
Definition lus_gbi.h:1242
unsigned short scaleW
Definition lus_gbi.h:1244
unsigned long long int * imagePtr
Definition lus_gbi.h:1237
unsigned short imageW
Definition lus_gbi.h:1228
unsigned short imageH
Definition lus_gbi.h:1233
unsigned short imageLoad
Definition lus_gbi.h:1238
unsigned short imageY
Definition lus_gbi.h:1232
int imageYorig
Definition lus_gbi.h:1246
unsigned short imagePal
Definition lus_gbi.h:1241
Definition lus_gbi.h:1264
unsigned short scaleH
Definition lus_gbi.h:1270
unsigned short imageAdrs
Definition lus_gbi.h:1274
unsigned short scaleW
Definition lus_gbi.h:1266
short objX
Definition lus_gbi.h:1265
short objY
Definition lus_gbi.h:1269
unsigned short imageH
Definition lus_gbi.h:1271
unsigned short paddingY
Definition lus_gbi.h:1272
unsigned char imagePal
Definition lus_gbi.h:1277
unsigned char imageSiz
Definition lus_gbi.h:1276
unsigned short imageStride
Definition lus_gbi.h:1273
unsigned char imageFlags
Definition lus_gbi.h:1278
unsigned short paddingX
Definition lus_gbi.h:1268
unsigned char imageFmt
Definition lus_gbi.h:1275
unsigned short imageW
Definition lus_gbi.h:1267
Definition lus_gbi.h:1301
unsigned short BaseScaleY
Definition lus_gbi.h:1304
unsigned short BaseScaleX
Definition lus_gbi.h:1303
short X
Definition lus_gbi.h:1302
Definition lus_gbi.h:1371
F3DuObjSprite sprite
Definition lus_gbi.h:1373
F3DuObjTxtr txtr
Definition lus_gbi.h:1372
Definition lus_gbi.h:1322
unsigned int type
Definition lus_gbi.h:1323
unsigned short tline
Definition lus_gbi.h:1327
unsigned short tsize
Definition lus_gbi.h:1326
unsigned short tmem
Definition lus_gbi.h:1325
unsigned long long int * image
Definition lus_gbi.h:1324
unsigned short sid
Definition lus_gbi.h:1328
unsigned int mask
Definition lus_gbi.h:1330
unsigned int flag
Definition lus_gbi.h:1329
Definition lus_gbi.h:1350
unsigned long long int * image
Definition lus_gbi.h:1352
unsigned short sid
Definition lus_gbi.h:1356
unsigned int type
Definition lus_gbi.h:1351
unsigned int flag
Definition lus_gbi.h:1357
unsigned short pnum
Definition lus_gbi.h:1354
unsigned int mask
Definition lus_gbi.h:1358
unsigned short phead
Definition lus_gbi.h:1353
unsigned short zero
Definition lus_gbi.h:1355
Definition lus_gbi.h:1336
unsigned int mask
Definition lus_gbi.h:1344
unsigned short tmem
Definition lus_gbi.h:1339
unsigned short theight
Definition lus_gbi.h:1341
unsigned short twidth
Definition lus_gbi.h:1340
unsigned long long int * image
Definition lus_gbi.h:1338
unsigned short sid
Definition lus_gbi.h:1342
unsigned int flag
Definition lus_gbi.h:1343
unsigned int type
Definition lus_gbi.h:1337
void * SourceImagePointer
Definition lus_gbi.h:892
char SourceImageBitSize
Definition lus_gbi.h:898
short SourceImageOffsetS
Definition lus_gbi.h:899
char dummy[4]
Definition lus_gbi.h:904
short SourceImageOffsetT
Definition lus_gbi.h:900
short SubImageWidth
Definition lus_gbi.h:895
short SubImageHeight
Definition lus_gbi.h:896
char SourceImageType
Definition lus_gbi.h:897
short Stride
Definition lus_gbi.h:894
void * TlutPointer
Definition lus_gbi.h:893
Definition lus_gbi.h:1078
F3DAmbient_t l
Definition lus_gbi.h:1079
Definition lus_gbi.h:1171
F3DGwords words
Definition lus_gbi.h:1172
long long int force_structure_alignment
Definition lus_gbi.h:1173
Definition lus_gbi.h:1132
F3DHilite_t h
Definition lus_gbi.h:1133
Definition lus_gbi.h:1072
F3DLight_t l
Definition lus_gbi.h:1073
F3DPointLight_t p
Definition lus_gbi.h:1074
F3DVp_t vp
Definition lus_gbi.h:964
long long int force_structure_alignment
Definition lus_gbi.h:965
F3DVtx_tn n
Definition lus_gbi.h:883
long long int force_structure_alignment
Definition lus_gbi.h:884
F3DVtx_t v
Definition lus_gbi.h:882
Definition lus_gbi.h:1252
F3DuObjScaleBg_t s
Definition lus_gbi.h:1254
F3DuObjBg_t b
Definition lus_gbi.h:1253
long long int force_structure_alignment
Definition lus_gbi.h:1255
Definition lus_gbi.h:1296
long long int force_structure_alignment
Definition lus_gbi.h:1298
F3DuObjMtx_t m
Definition lus_gbi.h:1297
Definition lus_gbi.h:1281
long long int force_structure_alignment
Definition lus_gbi.h:1283
F3DuObjSprite_t s
Definition lus_gbi.h:1282
Definition lus_gbi.h:1307
F3DuObjSubMtx_t m
Definition lus_gbi.h:1308
long long int force_structure_alignment
Definition lus_gbi.h:1309
Definition lus_gbi.h:1361
long long int force_structure_alignment
Definition lus_gbi.h:1365
F3DuObjTxtrTile_t tile
Definition lus_gbi.h:1363
F3DuObjTxtrTLUT_t tlut
Definition lus_gbi.h:1364
F3DuObjTxtrBlock_t block
Definition lus_gbi.h:1362
F3DuSprite_t s
Definition lus_gbi.h:909