291 lines
16 KiB
C
291 lines
16 KiB
C
#include <ultra64.h>
|
|
#include "constants.h"
|
|
#include "game/tex.h"
|
|
#include "game/bg.h"
|
|
#include "game/gfxreplace.h"
|
|
#include "bss.h"
|
|
#include "lib/vi.h"
|
|
#include "data.h"
|
|
#include "types.h"
|
|
|
|
Gfx gbi_26a40[] = {
|
|
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
|
|
gsDPSetCombineLERP(TEXEL1, 0, SCALE, 0, TEXEL1, 0, PRIM_LOD_FRAC, 0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
|
|
0,
|
|
};
|
|
|
|
Gfx gbi_26a58[] = {
|
|
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_OPA_SURF2),
|
|
gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2),
|
|
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_OPA_TERR2),
|
|
gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_TERR2),
|
|
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_OPA_DECAL2),
|
|
gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_DECAL2),
|
|
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_XLU_DECAL2),
|
|
gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_XLU_DECAL2),
|
|
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_XLU_SURF2),
|
|
gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_XLU_SURF2),
|
|
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_TEX_EDGE2),
|
|
gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_TEX_EDGE2),
|
|
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_OPA_SURF2),
|
|
gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_OPA_SURF2),
|
|
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_OPA_TERR2),
|
|
gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_OPA_TERR2),
|
|
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, COMBINED, 0, ENVIRONMENT, 0),
|
|
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
|
|
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0),
|
|
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEI2),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
|
|
gsDPSetCombineMode(G_CC_MODULATEI, G_CC_MODULATEI),
|
|
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
|
|
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, COMBINED, 0, ENVIRONMENT, 0),
|
|
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
|
|
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0),
|
|
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEI2),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
|
|
gsDPSetCombineMode(G_CC_MODULATEI, G_CC_MODULATEI),
|
|
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
|
|
gsDPSetCombineMode(G_CC_SHADE, G_CC_PASS2),
|
|
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
|
|
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
|
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, ENVIRONMENT, 0),
|
|
0,
|
|
};
|
|
|
|
Gfx gbi_26b90[] = {
|
|
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_XLU_DECAL2),
|
|
gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_XLU_DECAL2),
|
|
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_XLU_SURF2),
|
|
gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_XLU_SURF2),
|
|
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_TEX_EDGE2),
|
|
gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_TEX_EDGE2),
|
|
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, COMBINED, 0, ENVIRONMENT, 0),
|
|
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
|
|
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0),
|
|
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEI2),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
|
|
gsDPSetCombineMode(G_CC_MODULATEI, G_CC_MODULATEI),
|
|
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
|
|
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, COMBINED, 0, ENVIRONMENT, 0),
|
|
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
|
|
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0),
|
|
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEI2),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
|
|
gsDPSetCombineMode(G_CC_MODULATEI, G_CC_MODULATEI),
|
|
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
|
|
gsDPSetCombineMode(G_CC_SHADE, G_CC_PASS2),
|
|
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
|
|
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
|
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, ENVIRONMENT, 0),
|
|
0,
|
|
};
|
|
|
|
Gfx gbi_26c78[] = {
|
|
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, COMBINED, 0, ENVIRONMENT, 0),
|
|
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
|
|
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0),
|
|
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEI2),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
|
|
gsDPSetCombineMode(G_CC_MODULATEI, G_CC_MODULATEI),
|
|
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
|
|
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, COMBINED, 0, ENVIRONMENT, 0),
|
|
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
|
|
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0),
|
|
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEI2),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
|
|
gsDPSetCombineMode(G_CC_MODULATEI, G_CC_MODULATEI),
|
|
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
|
|
gsDPSetCombineMode(G_CC_SHADE, G_CC_PASS2),
|
|
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
|
|
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
|
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT),
|
|
0,
|
|
};
|
|
|
|
Gfx gbi_26d20[] = {
|
|
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, COMBINED, 0, ENVIRONMENT, 0),
|
|
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
|
|
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0),
|
|
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEI2),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
|
|
gsDPSetCombineMode(G_CC_MODULATEI, G_CC_MODULATEI),
|
|
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
|
|
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, COMBINED, 0, ENVIRONMENT, 0),
|
|
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
|
|
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0),
|
|
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEI2),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
|
|
gsDPSetCombineMode(G_CC_MODULATEI, G_CC_MODULATEI),
|
|
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
|
|
gsDPSetCombineMode(G_CC_SHADE, G_CC_PASS2),
|
|
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
|
|
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
|
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT),
|
|
0,
|
|
};
|
|
|
|
Gfx gbi_26dc8[] = {
|
|
gsDPSetRenderMode(G_RM_AA_ZB_XLU_SURF, G_RM_AA_ZB_XLU_SURF2),
|
|
gsDPSetRenderMode(G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2),
|
|
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_XLU_SURF2),
|
|
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_TEX_EDGE2),
|
|
0,
|
|
};
|
|
|
|
Gfx gbi_26df0[] = {
|
|
gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2),
|
|
gsDPSetRenderMode(G_RM_AA_ZB_OPA_TERR, G_RM_AA_ZB_OPA_TERR2),
|
|
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_OPA_SURF2),
|
|
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_OPA_TERR2),
|
|
0,
|
|
};
|
|
|
|
Gfx gbi_26e18[] = {
|
|
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_XLU_SURF2),
|
|
gsDPSetRenderMode(G_RM_PASS, G_RM_ZB_CLD_SURF2),
|
|
0,
|
|
};
|
|
|
|
Gfx gbi_26e30[] = {
|
|
gsDPSetCycleType(G_CYC_1CYCLE),
|
|
gsDPSetCycleType(G_CYC_2CYCLE),
|
|
gsDPSetRenderMode(G_RM_AA_OPA_TERR, G_RM_AA_OPA_TERR2),
|
|
gsDPSetRenderMode(GBL_c1(G_BL_CLR_IN, G_BL_A_SHADE, G_BL_CLR_FOG, G_BL_1MA), G_RM_AA_OPA_TERR2),
|
|
gsDPSetCombineMode(G_CC_MODULATEI, G_CC_MODULATEI),
|
|
gsDPSetCombineMode(G_CC_MODULATEI, G_CC_PASS2),
|
|
0,
|
|
};
|
|
|
|
Gfx gbi_26e68[] = {
|
|
gsDPSetCombineMode(G_CC_MODULATEI, G_CC_MODULATEI),
|
|
gsDPSetCombineLERP(TEXEL0, 0, SCALE, 0, 0, 0, 0, SHADE, TEXEL0, 0, SCALE, 0, 0, 0, 0, SHADE),
|
|
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
|
|
gsDPSetCombineLERP(TEXEL0, 0, SCALE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, SCALE, 0, TEXEL0, 0, SHADE, 0),
|
|
gsDPSetCombineMode(G_CC_MODULATEI, G_CC_MODULATEI),
|
|
gsDPSetCombineLERP(TEXEL0, 0, SCALE, 0, 0, 0, 0, SHADE, TEXEL0, 0, SCALE, 0, 0, 0, 0, SHADE),
|
|
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
|
|
gsDPSetCombineLERP(TEXEL0, 0, SCALE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, SCALE, 0, TEXEL0, 0, SHADE, 0),
|
|
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
|
gsDPSetCombineLERP(1, 0, SCALE, 0, 0, 0, 0, SHADE, 1, 0, SCALE, 0, 0, 0, 0, SHADE),
|
|
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEI2),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SCALE, 0, 0, 0, 0, SHADE),
|
|
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SCALE, 0, COMBINED, 0, SHADE, 0),
|
|
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEI2),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SCALE, 0, 0, 0, 0, SHADE),
|
|
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SCALE, 0, COMBINED, 0, SHADE, 0),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, SHADE),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SCALE, 0, 0, 0, 0, SHADE),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SCALE, 0, COMBINED, 0, SHADE, 0),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, SHADE),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SCALE, 0, 0, 0, 0, SHADE),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SCALE, 0, COMBINED, 0, SHADE, 0),
|
|
gsDPSetCombineMode(G_CC_SHADE, G_CC_PASS2),
|
|
gsDPSetCombineLERP(1, 0, SCALE, 0, 0, 0, 0, SHADE, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
|
|
0,
|
|
};
|
|
|
|
Gfx gbi_26f50[] = {
|
|
gsDPSetCombineLERP(TEXEL0, 0, SCALE, 0, 0, 0, 0, SHADE, TEXEL0, 0, SCALE, 0, 0, 0, 0, SHADE),
|
|
gsDPSetCombineMode(G_CC_MODULATEI, G_CC_MODULATEI),
|
|
gsDPSetCombineLERP(TEXEL0, 0, SCALE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, SCALE, 0, TEXEL0, 0, SHADE, 0),
|
|
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
|
|
gsDPSetCombineLERP(TEXEL0, 0, SCALE, 0, 0, 0, 0, SHADE, TEXEL0, 0, SCALE, 0, 0, 0, 0, SHADE),
|
|
gsDPSetCombineMode(G_CC_MODULATEI, G_CC_MODULATEI),
|
|
gsDPSetCombineLERP(TEXEL0, 0, SCALE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, SCALE, 0, TEXEL0, 0, SHADE, 0),
|
|
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
|
|
gsDPSetCombineLERP(1, 0, SCALE, 0, 0, 0, 0, SHADE, 1, 0, SCALE, 0, 0, 0, 0, SHADE),
|
|
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SCALE, 0, 0, 0, 0, SHADE),
|
|
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEI2),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SCALE, 0, COMBINED, 0, SHADE, 0),
|
|
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SCALE, 0, 0, 0, 0, SHADE),
|
|
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEI2),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, SCALE, 0, COMBINED, 0, SHADE, 0),
|
|
gsDPSetCombineMode(G_CC_TRILERP, G_CC_MODULATEIA2),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SCALE, 0, 0, 0, 0, SHADE),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, SHADE),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SCALE, 0, COMBINED, 0, SHADE, 0),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SCALE, 0, 0, 0, 0, SHADE),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, 0, 0, 0, SHADE),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SCALE, 0, COMBINED, 0, SHADE, 0),
|
|
gsDPSetCombineLERP(TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, 1, 0, TEXEL1, 0, COMBINED, 0, SHADE, 0, COMBINED, 0, SHADE, 0),
|
|
gsDPSetCombineLERP(1, 0, SCALE, 0, 0, 0, 0, SHADE, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED),
|
|
gsDPSetCombineMode(G_CC_SHADE, G_CC_PASS2),
|
|
0,
|
|
};
|
|
|
|
Gfx *var80081018[] = {
|
|
gbi_26a40,
|
|
gbi_26a58,
|
|
gbi_26dc8,
|
|
gbi_26df0,
|
|
gbi_26e18,
|
|
gbi_26b90,
|
|
gbi_26c78,
|
|
gbi_26d20,
|
|
gbi_26e30,
|
|
gbi_26e68,
|
|
gbi_26f50,
|
|
};
|
|
|
|
void gfxReplaceGbiCommands(Gfx *startgdl, Gfx *endgdl, s32 type)
|
|
{
|
|
Gfx *gdl = startgdl;
|
|
|
|
while ((endgdl && gdl < endgdl) || (!endgdl && *(s8 *)gdl != G_ENDDL)) {
|
|
Gfx *src = var80081018[type];
|
|
|
|
while (src->words.w0 != 0) {
|
|
if (src->words.w0 == gdl->words.w0 && src->words.w1 == gdl->words.w1) {
|
|
*gdl = src[1];
|
|
}
|
|
|
|
src += 2;
|
|
}
|
|
|
|
gdl++;
|
|
}
|
|
}
|
|
|
|
void gfxReplaceGbiCommandsRecursively(struct roomblock *block, s32 type)
|
|
{
|
|
if (block->type == ROOMBLOCKTYPE_PARENT);
|
|
|
|
while (true) {
|
|
if (!block) {
|
|
return;
|
|
}
|
|
|
|
switch (block->type) {
|
|
case ROOMBLOCKTYPE_LEAF:
|
|
gfxReplaceGbiCommands(block->gdl, NULL, type);
|
|
block = block->next;
|
|
break;
|
|
case ROOMBLOCKTYPE_PARENT:
|
|
gfxReplaceGbiCommandsRecursively(block->child, type);
|
|
block = block->next;
|
|
break;
|
|
default:
|
|
return;
|
|
}
|
|
}
|
|
}
|