diff --git a/include/f3ddkr.h b/include/f3ddkr.h new file mode 100644 index 00000000..681079ca --- /dev/null +++ b/include/f3ddkr.h @@ -0,0 +1,62 @@ +#ifndef _F3DDKR_H_ +#define _F3DDKR_H_ + +// This file is an extension of PR/gbi.h + +#include "PR/mbi.h" +#include "PR/gbi.h" + +// Color combiner values. These need better names! +#define DKR_CC_UNK0 0, 0, 0, COMBINED, COMBINED, 0, PRIMITIVE, 0 +#define DKR_CC_UNK1 ENVIRONMENT, COMBINED, ENV_ALPHA, COMBINED, COMBINED, 0, PRIMITIVE, 0 +#define DKR_CC_UNK2 ENVIRONMENT, COMBINED, ENV_ALPHA, COMBINED, 0, 0, 0, COMBINED +#define DKR_CC_UNK3 ENVIRONMENT, SHADE, ENV_ALPHA, SHADE, 0, 0, 0, SHADE +#define DKR_CC_UNK4 ENVIRONMENT, SHADE, ENV_ALPHA, SHADE, 0, 0, 0, PRIMITIVE +#define DKR_CC_UNK5 TEXEL0, PRIMITIVE, SHADE_ALPHA, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0 +#define DKR_CC_UNK6 ENVIRONMENT, COMBINED, SHADE, COMBINED, 0, 0, 0, COMBINED +#define DKR_CC_UNK7 TEXEL1, TEXEL0, PRIMITIVE, TEXEL0, TEXEL1, TEXEL0, PRIMITIVE, TEXEL0 +#define DKR_CC_UNK8 COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED +#define DKR_CC_UNK9 PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0 +#define DKR_CC_DECALFADEPRIM 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, 0 + +// For some reason DKR has a value for G_MDSFT_BLENDMASK, despite the fact that it is unsupported. +#define G_DKR_BLENDMASK 15 + +// OtherMode_H values. +#define DKR_OMH_COMMON G_DKR_BLENDMASK | G_PM_NPRIMITIVE | G_TD_CLAMP | G_TL_TILE | G_TC_FILT \ + | G_CK_NONE | G_CD_MAGICSQ | G_AD_PATTERN + +#define DKR_OMH_1CYC_POINT DKR_OMH_COMMON | G_CYC_1CYCLE | G_TT_NONE | G_TF_POINT | G_TP_PERSP +#define DKR_OMH_1CYC_POINT_NOPERSP DKR_OMH_COMMON | G_CYC_1CYCLE | G_TT_NONE | G_TF_POINT | G_TP_NONE +#define DKR_OMH_1CYC_BILERP DKR_OMH_COMMON | G_CYC_1CYCLE | G_TT_NONE | G_TF_BILERP | G_TP_PERSP +#define DKR_OMH_1CYC_BILERP_NOPERSP DKR_OMH_COMMON | G_CYC_1CYCLE | G_TT_NONE | G_TF_BILERP | G_TP_NONE +#define DKR_OMH_1CYC_CI_BILERP DKR_OMH_COMMON | G_CYC_1CYCLE | G_TT_RGBA16 | G_TF_BILERP | G_TP_PERSP +#define DKR_OMH_2CYC_BILERP DKR_OMH_COMMON | G_CYC_2CYCLE | G_TT_NONE | G_TF_BILERP | G_TP_PERSP +#define DKR_OMH_2CYC_POINT DKR_OMH_COMMON | G_CYC_2CYCLE | G_TT_NONE | G_TF_POINT | G_TP_PERSP +#define DKR_OMH_2CYC_CI_BILERP DKR_OMH_COMMON | G_CYC_2CYCLE | G_TT_RGBA16 | G_TF_BILERP | G_TP_PERSP + +// OtherMode_L values. +#define DKR_OML_COMMON G_AC_NONE | G_ZS_PIXEL + +// Render mode values. These need better names! +#define DKR_RM_UNKNOWN0 Z_UPD | GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_IN, G_BL_1MA) +#define DKR_RM_UNKNOWN1 GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_IN, G_BL_1MA) +#define DKR_RM_UNKNOWN2 AA_EN | IM_RD | CLR_ON_CVG | FORCE_BL | CVG_DST_WRAP | ZMODE_OPA +#define DKR_RM_UNKNOWN2_1 DKR_RM_UNKNOWN2 | GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) +#define DKR_RM_UNKNOWN2_2 DKR_RM_UNKNOWN2 | GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) +#define DKR_RM_UNKNOWN3 AA_EN | Z_CMP | Z_UPD | IM_RD | CVG_X_ALPHA | ALPHA_CVG_SEL | CVG_DST_CLAMP | ZMODE_OPA +#define DKR_RM_UNKNOWN3_1 DKR_RM_UNKNOWN3 | GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM) +#define DKR_RM_UNKNOWN3_2 DKR_RM_UNKNOWN3 | GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM) +#define DKR_RM_UNKNOWN4 AA_EN | Z_CMP | IM_RD | CVG_X_ALPHA | FORCE_BL | CVG_DST_CLAMP | ZMODE_XLU +#define DKR_RM_UNKNOWN4_1 DKR_RM_UNKNOWN4 | GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) +#define DKR_RM_UNKNOWN4_2 DKR_RM_UNKNOWN4 | GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA) + +// Temporary until all commands are properly defined. +#define fast3d_cmd(pkt, word0, word1) \ +{ \ + Gfx *_g = (Gfx*)(pkt); \ + _g->w0 = word0; \ + _g->w1 = word1; \ +} + +#endif diff --git a/include/fast3d.h b/include/fast3d.h index 8f6a5eb8..2eae9a40 100644 --- a/include/fast3d.h +++ b/include/fast3d.h @@ -16,4 +16,5 @@ typedef struct Gfx { _g->w0 = word0; \ _g->w1 = word1; \ } + #endif diff --git a/src/unknown_078050.c b/src/unknown_078050.c index d22ce328..e6dbb8ac 100644 --- a/src/unknown_078050.c +++ b/src/unknown_078050.c @@ -29,109 +29,115 @@ s32 D_800DE4D4 = 0; s32 D_800DE4D8 = 0; s32 D_800DE4DC = 0; -// Fast3D (F3DDKR) display list -u32 D_800DE4E0[] = { - 0xB6000000, 0x001F3204, - 0xBB000000, 0x00000000, - 0xB7000000, 0x00000204, - 0xBC000404, 0x00000002, - 0xBC000C04, 0x00000002, - 0xBC001404, 0x0000FFFE, - 0xBC001C04, 0x0000FFFE, - 0xB8000000, 0x00000000 +Gfx D_800DE4E0[] = { + gsSPClearGeometryMode(0x001F3204), + gsSPTexture(0, 0, 0, 0, 0), + gsSPSetGeometryMode(G_SHADING_SMOOTH | G_SHADE), + gsSPClipRatio(FRUSTRATIO_2), + gsSPEndDisplayList(), }; -// Fast3D (F3DDKR) display list -u32 D_800DE520[] = { - 0xBA001402, 0x00000000, - 0xBA001701, 0x00800000, - 0xBA001001, 0x00000000, - 0xBA000E02, 0x00000000, - 0xBA001102, 0x00000000, - 0xBA001301, 0x00080000, - 0xBA000C02, 0x00002000, - 0xBA000903, 0x00000C00, - 0xFCFFFFFF, 0xFFFCF87C, - 0xBA000801, 0x00000000, - 0xB9000002, 0x00000000, - 0xB900031D, 0x0F0A4000, - 0xBA000602, 0x00000000, - 0xE7000000, 0x00000000, - 0xB8000000, 0x00000000 +// Default RDP settings +Gfx D_800DE520[] = { + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPPipelineMode(G_PM_1PRIMITIVE), + gsDPSetTextureLOD(G_TL_TILE), + gsDPSetTextureLUT(G_TT_NONE), + gsDPSetTextureDetail(G_TD_CLAMP), + gsDPSetTexturePersp(G_TP_PERSP), + gsDPSetTextureFilter(G_TF_BILERP), + gsDPSetTextureConvert(G_TC_FILT), + gsDPSetCombineMode(G_CC_DECALRGB, G_CC_DECALRGB), + gsDPSetCombineKey(G_CK_NONE), + gsDPSetAlphaCompare(G_AC_NONE), + gsDPSetRenderMode(G_RM_OPA_SURF, G_RM_OPA_SURF2), + gsDPSetColorDither(G_CD_MAGICSQ), + gsDPPipeSync(), + gsSPEndDisplayList(), }; -// Fast3D (F3DDKR) display list -u32 D_800DE598[] = { - 0xE7000000, 0x00000000, - 0xBA001001, 0x00000000, - 0xBA000E02, 0x00000000, - 0xB9000002, 0x00000000, - 0xB6000000, 0x00010001, - 0xE7000000, 0x00000000, - 0xFCFFFFFF, 0xFFFCF279, - 0xEF000C0F, 0x0F0A4000, - 0xB8000000, 0x00000000 +Gfx D_800DE598[] = { + gsDPPipeSync(), + gsDPSetTextureLOD(G_TL_TILE), + gsDPSetTextureLUT(G_TT_NONE), + gsDPSetAlphaCompare(G_AC_NONE), + gsSPClearGeometryMode(G_ZBUFFER | G_FOG), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA), + gsDPSetOtherMode(DKR_OMH_1CYC_POINT_NOPERSP, DKR_OML_COMMON | G_RM_OPA_SURF | G_RM_OPA_SURF2), + gsSPEndDisplayList(), }; -// Fast3D (F3DDKR) display list -u32 D_800DE5E0[] = { - 0xE7000000, 0x00000000, - 0xBA001001, 0x00000000, - 0xBA000E02, 0x00000000, - 0xB9000002, 0x00000000, - 0xB6000000, 0x00010001, - 0xE7000000, 0x00000000, - 0xFCFFFFFF, 0xFFFDF6FB, - 0xEF000C0F, 0x0F0A4000, - 0xB8000000, 0x00000000 +Gfx D_800DE5E0[] = { + gsDPPipeSync(), + gsDPSetTextureLOD(G_TL_TILE), + gsDPSetTextureLUT(G_TT_NONE), + gsDPSetAlphaCompare(G_AC_NONE), + gsSPClearGeometryMode(G_ZBUFFER | G_FOG), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_PRIMITIVE, G_CC_PRIMITIVE), + gsDPSetOtherMode(DKR_OMH_1CYC_POINT_NOPERSP, DKR_OML_COMMON | G_RM_OPA_SURF | G_RM_OPA_SURF2), + gsSPEndDisplayList(), }; -// Fast3D (F3DDKR) display list -u32 D_800DE628[] = { - 0xE7000000, 0x00000000, - 0xBA001001, 0x00000000, - 0xBA000E02, 0x00000000, - 0xB9000002, 0x00000000, - 0xB6000000, 0x00010001, - 0xE7000000, 0x00000000, - 0xFC119623, 0xFF2FFFFF, - 0xEF000C0F, 0x00504240, - 0xB8000000, 0x00000000 +Gfx D_800DE628[] = { + gsDPPipeSync(), + gsDPSetTextureLOD(G_TL_TILE), + gsDPSetTextureLUT(G_TT_NONE), + gsDPSetAlphaCompare(G_AC_NONE), + gsSPClearGeometryMode(G_ZBUFFER | G_FOG), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_POINT_NOPERSP, DKR_OML_COMMON | G_RM_XLU_SURF | G_RM_XLU_SURF2), + gsSPEndDisplayList(), }; -// Fast3D (F3DDKR) display list -u32 D_800DE670[] = { - 0xE7000000, 0x00000000, - 0xBA001001, 0x00000000, - 0xBA000E02, 0x00000000, - 0xB9000002, 0x00000000, - 0xB6000000, 0x00010001, - 0xE7000000, 0x00000000, - 0xB8000000, 0x00000000 +Gfx D_800DE670[] = { + gsDPPipeSync(), + gsDPSetTextureLOD(G_TL_TILE), + gsDPSetTextureLUT(G_TT_NONE), + gsDPSetAlphaCompare(G_AC_NONE), + gsSPClearGeometryMode(G_ZBUFFER | G_FOG), + gsDPPipeSync(), + gsSPEndDisplayList(), }; -// Fast3D (F3DDKR) display list -u32 D_800DE6A8[] = { - 0xFC119623, 0xFF2FFFFF, - 0xEF002C0F, 0x00552048, - 0xFC119623, 0xFF2FFFFF, - 0xEF002C0F, 0x0F0A4000, - 0xFC119623, 0xFF2FFFFF, - 0xEF000C0F, 0x00552048, - 0xFC119623, 0xFF2FFFFF, - 0xEF000C0F, 0x0F0A4000 +Gfx D_800DE6A8[][2] = { + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP_NOPERSP, DKR_OML_COMMON | G_RM_AA_OPA_SURF | G_RM_AA_OPA_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP_NOPERSP, DKR_OML_COMMON | G_RM_OPA_SURF | G_RM_OPA_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_POINT_NOPERSP, DKR_OML_COMMON | G_RM_AA_OPA_SURF | G_RM_AA_OPA_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_POINT_NOPERSP, DKR_OML_COMMON | G_RM_OPA_SURF | G_RM_OPA_SURF2), + } }; -// Fast3D (F3DDKR) display list -u32 D_800DE6E8[] = { - 0xFC119623, 0xFF2FFFFF, - 0xEF002C0F, 0x005041C8, - 0xFC119623, 0xFF2FFFFF, - 0xEF002C0F, 0x00504240, - 0xFC119623, 0xFF2FFFFF, - 0xEF000C0F, 0x005041C8, - 0xFC119623, 0xFF2FFFFF, - 0xEF000C0F, 0x00504240 +Gfx D_800DE6E8[][2] = { + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP_NOPERSP, DKR_OML_COMMON | G_RM_AA_XLU_SURF | G_RM_AA_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP_NOPERSP, DKR_OML_COMMON | G_RM_XLU_SURF | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_POINT_NOPERSP, DKR_OML_COMMON | G_RM_AA_XLU_SURF | G_RM_AA_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_POINT_NOPERSP, DKR_OML_COMMON | G_RM_XLU_SURF | G_RM_XLU_SURF2), + } }; /*******************************/ diff --git a/src/unknown_078050.h b/src/unknown_078050.h index f7849ae9..614e2aed 100644 --- a/src/unknown_078050.h +++ b/src/unknown_078050.h @@ -2,6 +2,7 @@ #define _UNKNOWN_078050_H_ #include "types.h" +#include "f3ddkr.h" extern s16 D_800DE490[16]; @@ -20,6 +21,7 @@ extern s32 D_800DE4D4; extern s32 D_800DE4D8; extern s32 D_800DE4DC; +/* // Fast3D (F3DDKR) display list extern u32 D_800DE4E0[]; @@ -43,5 +45,6 @@ extern u32 D_800DE6A8[]; // Fast3D (F3DDKR) display list extern u32 D_800DE6E8[]; +*/ #endif diff --git a/src/unknown_07B870.c b/src/unknown_07B870.c index 3050feb0..3133849e 100644 --- a/src/unknown_07B870.c +++ b/src/unknown_07B870.c @@ -11,459 +11,834 @@ u32 D_800DE7C0 = 0xFF00FFFF; s32 D_800DE7C4 = 1; -// Fast3D (F3DDKR) display list -u32 D_800DE7C8[] = { - 0xFC1219FF, 0xFF0FFE3F, - 0xEF182C0F, 0x00104260, - 0xFC1219FF, 0xFF0FFE3F, - 0xEF182C0F, 0x001041E8, - 0xFC1219FF, 0xFF0FFE3F, - 0xEF182C0F, 0x00104A70, - 0xFC1219FF, 0xFF0FFE3F, - 0xEF182C0F, 0x001049F8, - 0xFC1218AC, 0xF00FFE3F, - 0xEF182C0F, 0x00104240, - 0xFC1218AC, 0xF00FFE3F, - 0xEF182C0F, 0x001041C8, - 0xFC1218AC, 0xF00FFE3F, - 0xEF182C0F, 0x00104A50, - 0xFC1218AC, 0xF00FFE3F, - 0xEF182C0F, 0x001049D8 +// See "include/f3ddkr.h" for the defines + +Gfx D_800DE7C8[][2] = { + { + gsDPSetCombineMode(G_CC_MODULATEIA, DKR_CC_UNK0), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | DKR_RM_UNKNOWN0 | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA, DKR_CC_UNK0), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | DKR_RM_UNKNOWN0 | G_RM_AA_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA, DKR_CC_UNK0), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | DKR_RM_UNKNOWN0 | G_RM_ZB_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA, DKR_CC_UNK0), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | DKR_RM_UNKNOWN0 | G_RM_AA_ZB_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA, DKR_CC_UNK1), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | DKR_RM_UNKNOWN1 | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA, DKR_CC_UNK1), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | DKR_RM_UNKNOWN1 | G_RM_AA_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA, DKR_CC_UNK1), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | DKR_RM_UNKNOWN1 | G_RM_ZB_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA, DKR_CC_UNK1), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | DKR_RM_UNKNOWN1 | G_RM_AA_ZB_XLU_SURF2), + }, }; -// Fast3D (F3DDKR) display list -u32 D_800DE848[] = { - 0xFC119623, 0xFF2FFFFF, - 0xEF080C0F, 0x00504340, - 0xFC119623, 0xFF2FFFFF, - 0xEF080C0F, 0x00504B50 +Gfx D_800DE848[][2] = { + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_POINT, DKR_OML_COMMON | G_RM_CLD_SURF | G_RM_CLD_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_POINT, DKR_OML_COMMON | G_RM_ZB_CLD_SURF | G_RM_ZB_CLD_SURF2), + }, }; -// Fast3D (F3DDKR) display list -u32 D_800DE868[] = { - 0xFC119623, 0xFF2FFFFF, - 0xEF080C0F, 0x00504240, - 0xFC119623, 0xFF2FFFFF, - 0xEF080C0F, 0x005041C8, - 0xFC119623, 0xFF2FFFFF, - 0xEF080C0F, 0x00553078, - 0xFC119623, 0xFF2FFFFF, - 0xEF080C0F, 0x005045D8, - 0xFC119623, 0xFF2FFFFF, - 0xEF080C0F, 0x00504240, - 0xFC119623, 0xFF2FFFFF, - 0xEF080C0F, 0x005041C8, - 0xFC119623, 0xFF2FFFFF, - 0xEF080C0F, 0x00553078, - 0xFC119623, 0xFF2FFFFF, - 0xEF080C0F, 0x005045D8 +// Should probably be merged with D_800DE848 +Gfx D_800DE868[][2] = { + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_POINT, DKR_OML_COMMON | G_RM_XLU_SURF | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_POINT, DKR_OML_COMMON | DKR_RM_UNKNOWN2_1 | DKR_RM_UNKNOWN2_2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_POINT, DKR_OML_COMMON | DKR_RM_UNKNOWN3_1 | DKR_RM_UNKNOWN3_2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_POINT, DKR_OML_COMMON | G_RM_AA_ZB_XLU_INTER | G_RM_AA_ZB_XLU_INTER2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_POINT, DKR_OML_COMMON | G_RM_XLU_SURF | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_POINT, DKR_OML_COMMON | DKR_RM_UNKNOWN2_1 | DKR_RM_UNKNOWN2_2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_POINT, DKR_OML_COMMON | DKR_RM_UNKNOWN3_1 | DKR_RM_UNKNOWN3_2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_POINT, DKR_OML_COMMON | G_RM_AA_ZB_XLU_INTER | G_RM_AA_ZB_XLU_INTER2), + }, }; -// Fast3D (F3DDKR) display list -u32 D_800DE8E8[] = { - 0xFC127E24, 0xFFFFF3F9, - 0xEF082C0F, 0x0F0A4000, - 0xFC127E24, 0xFFFFF3F9, - 0xEF082C0F, 0x00552048, - 0xFC127E24, 0xFFFFF3F9, - 0xEF082C0F, 0x00552230, - 0xFC127E24, 0xFFFFF3F9, - 0xEF082C0F, 0x00552078, - 0xFC127E24, 0xFFFFF3F9, - 0xEF082C0F, 0x00504240, - 0xFC127E24, 0xFFFFF3F9, - 0xEF082C0F, 0x005041C8, - 0xFC127E24, 0xFFFFF3F9, - 0xEF082C0F, 0x00504A50, - 0xFC127E24, 0xFFFFF3F9, - 0xEF082C0F, 0x005049D8, - 0xFC127EAC, 0xF00FF23F, - 0xEF182C0F, 0xCB024000, - 0xFC127EAC, 0xF00FF23F, - 0xEF182C0F, 0xC8112048, - 0xFC127EAC, 0xF00FF23F, - 0xEF182C0F, 0xC8112230, - 0xFC127EAC, 0xF00FF23F, - 0xEF182C0F, 0xC8112078, - 0xFC127EAC, 0xF00FF23F, - 0xEF182C0F, 0xC8104240, - 0xFC127EAC, 0xF00FF23F, - 0xEF182C0F, 0xC81041C8, - 0xFC127EAC, 0xF00FF23F, - 0xEF182C0F, 0xC8104A50, - 0xFC127EAC, 0xF00FF23F, - 0xEF182C0F, 0xC81049D8, - 0xFC119623, 0xFF2FFFFF, - 0xEF082C0F, 0x00504240, - 0xFC119623, 0xFF2FFFFF, - 0xEF082C0F, 0x005041C8, - 0xFC119623, 0xFF2FFFFF, - 0xEF082C0F, 0x00553078, - 0xFC119623, 0xFF2FFFFF, - 0xEF082C0F, 0x005045D8, - 0xFC119623, 0xFF2FFFFF, - 0xEF082C0F, 0x00504240, - 0xFC119623, 0xFF2FFFFF, - 0xEF082C0F, 0x005041C8, - 0xFC119623, 0xFF2FFFFF, - 0xEF082C0F, 0x00553078, - 0xFC119623, 0xFF2FFFFF, - 0xEF082C0F, 0x005045D8, - 0xFC1196AC, 0xF0FFFE38, - 0xEF182C0F, 0xC8104240, - 0xFC1196AC, 0xF0FFFE38, - 0xEF182C0F, 0xC81041C8, - 0xFC1196AC, 0xF0FFFE38, - 0xEF182C0F, 0xC8113078, - 0xFC1196AC, 0xF0FFFE38, - 0xEF182C0F, 0xC81045D8, - 0xFC1196AC, 0xF0FFFE38, - 0xEF182C0F, 0xC8104240, - 0xFC1196AC, 0xF0FFFE38, - 0xEF182C0F, 0xC81041C8, - 0xFC1196AC, 0xF0FFFE38, - 0xEF182C0F, 0xC81045F8, - 0xFC1196AC, 0xF0FFFE38, - 0xEF182C0F, 0xC81045D8, - 0xFC127E24, 0xFFFFF3F9, - 0xEF08AC0F, 0x0F0A4000, - 0xFC127E24, 0xFFFFF3F9, - 0xEF08AC0F, 0x00552048, - 0xFC127E24, 0xFFFFF3F9, - 0xEF08AC0F, 0x00552230, - 0xFC127E24, 0xFFFFF3F9, - 0xEF08AC0F, 0x00552078, - 0xFC127E24, 0xFFFFF3F9, - 0xEF08AC0F, 0x00504240, - 0xFC127E24, 0xFFFFF3F9, - 0xEF08AC0F, 0x005041C8, - 0xFC127E24, 0xFFFFF3F9, - 0xEF08AC0F, 0x00504A50, - 0xFC127E24, 0xFFFFF3F9, - 0xEF08AC0F, 0x005049D8, - 0xFC127FFF, 0xFFFFF238, - 0xEF18AC0F, 0xCB024000, - 0xFC127FFF, 0xFFFFF238, - 0xEF18AC0F, 0xC8112048, - 0xFC127FFF, 0xFFFFF238, - 0xEF18AC0F, 0xC8112230, - 0xFC127FFF, 0xFFFFF238, - 0xEF18AC0F, 0xC8112078, - 0xFC127FFF, 0xFFFFF238, - 0xEF18AC0F, 0xC8104240, - 0xFC127FFF, 0xFFFFF238, - 0xEF18AC0F, 0xC81041C8, - 0xFC127FFF, 0xFFFFF238, - 0xEF18AC0F, 0xC8104A50, - 0xFC127FFF, 0xFFFFF238, - 0xEF18AC0F, 0xC81049D8, - 0xFC127E24, 0xFFFFF3F9, - 0xEF08AC0F, 0x0F0A4000, - 0xFC127E24, 0xFFFFF3F9, - 0xEF08AC0F, 0x00552048, - 0xFC127E24, 0xFFFFF3F9, - 0xEF08AC0F, 0x00552230, - 0xFC127E24, 0xFFFFF3F9, - 0xEF08AC0F, 0x00552078, - 0xFC127E24, 0xFFFFF3F9, - 0xEF08AC0F, 0x00504240, - 0xFC127E24, 0xFFFFF3F9, - 0xEF08AC0F, 0x005041C8, - 0xFC127E24, 0xFFFFF3F9, - 0xEF08AC0F, 0x00553078, - 0xFC127E24, 0xFFFFF3F9, - 0xEF08AC0F, 0x005045D8, - 0xFC127FFF, 0xFFFFF238, - 0xEF18AC0F, 0xCB024000, - 0xFC127FFF, 0xFFFFF238, - 0xEF18AC0F, 0xC8112048, - 0xFC127FFF, 0xFFFFF238, - 0xEF18AC0F, 0xC8112230, - 0xFC127FFF, 0xFFFFF238, - 0xEF18AC0F, 0xC8112078, - 0xFC127FFF, 0xFFFFF238, - 0xEF18AC0F, 0xC8104240, - 0xFC127FFF, 0xFFFFF238, - 0xEF18AC0F, 0xC81041C8, - 0xFC127FFF, 0xFFFFF238, - 0xEF18AC0F, 0xC8113078, - 0xFC127FFF, 0xFFFFF238, - 0xEF18AC0F, 0xC81045D8 +Gfx D_800DE8E8[][2] = { + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_OPA_SURF | G_RM_OPA_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_AA_OPA_SURF | G_RM_AA_OPA_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_ZB_OPA_SURF | G_RM_ZB_OPA_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_AA_ZB_OPA_SURF | G_RM_AA_ZB_OPA_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_XLU_SURF | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_AA_XLU_SURF | G_RM_AA_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_ZB_XLU_SURF | G_RM_ZB_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_AA_ZB_XLU_SURF | G_RM_AA_ZB_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, DKR_CC_UNK1), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_OPA_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, DKR_CC_UNK1), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_OPA_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, DKR_CC_UNK1), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_ZB_OPA_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, DKR_CC_UNK1), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_ZB_OPA_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, DKR_CC_UNK1), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, DKR_CC_UNK1), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, DKR_CC_UNK1), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_ZB_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, DKR_CC_UNK1), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_ZB_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_XLU_SURF | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_AA_XLU_SURF | G_RM_AA_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_AA_ZB_TEX_EDGE | G_RM_AA_ZB_TEX_EDGE2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_AA_ZB_XLU_INTER | G_RM_AA_ZB_XLU_INTER2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_XLU_SURF | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_AA_XLU_SURF | G_RM_AA_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_AA_ZB_TEX_EDGE | G_RM_AA_ZB_TEX_EDGE2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_AA_ZB_XLU_INTER | G_RM_AA_ZB_XLU_INTER2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, DKR_CC_UNK2), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, DKR_CC_UNK2), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, DKR_CC_UNK2), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_ZB_TEX_EDGE2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, DKR_CC_UNK2), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_ZB_XLU_INTER2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, DKR_CC_UNK2), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, DKR_CC_UNK2), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, DKR_CC_UNK2), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_ZB_XLU_INTER2 | Z_UPD), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, DKR_CC_UNK2), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_ZB_XLU_INTER2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_CI_BILERP, DKR_OML_COMMON | G_RM_OPA_SURF | G_RM_OPA_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_CI_BILERP, DKR_OML_COMMON | G_RM_AA_OPA_SURF | G_RM_AA_OPA_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_CI_BILERP, DKR_OML_COMMON | G_RM_ZB_OPA_SURF | G_RM_ZB_OPA_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_CI_BILERP, DKR_OML_COMMON | G_RM_AA_ZB_OPA_SURF | G_RM_AA_ZB_OPA_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_CI_BILERP, DKR_OML_COMMON | G_RM_XLU_SURF | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_CI_BILERP, DKR_OML_COMMON | G_RM_AA_XLU_SURF | G_RM_AA_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_CI_BILERP, DKR_OML_COMMON | G_RM_ZB_XLU_SURF | G_RM_ZB_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_CI_BILERP, DKR_OML_COMMON | G_RM_AA_ZB_XLU_SURF | G_RM_AA_ZB_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_PASS2), + gsDPSetOtherMode(DKR_OMH_2CYC_CI_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_OPA_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_PASS2), + gsDPSetOtherMode(DKR_OMH_2CYC_CI_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_OPA_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_PASS2), + gsDPSetOtherMode(DKR_OMH_2CYC_CI_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_ZB_OPA_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_PASS2), + gsDPSetOtherMode(DKR_OMH_2CYC_CI_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_ZB_OPA_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_PASS2), + gsDPSetOtherMode(DKR_OMH_2CYC_CI_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_PASS2), + gsDPSetOtherMode(DKR_OMH_2CYC_CI_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_PASS2), + gsDPSetOtherMode(DKR_OMH_2CYC_CI_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_ZB_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_PASS2), + gsDPSetOtherMode(DKR_OMH_2CYC_CI_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_ZB_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_CI_BILERP, DKR_OML_COMMON | G_RM_OPA_SURF | G_RM_OPA_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_CI_BILERP, DKR_OML_COMMON | G_RM_AA_OPA_SURF | G_RM_AA_OPA_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_CI_BILERP, DKR_OML_COMMON | G_RM_ZB_OPA_SURF | G_RM_ZB_OPA_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_CI_BILERP, DKR_OML_COMMON | G_RM_AA_ZB_OPA_SURF | G_RM_AA_ZB_OPA_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_CI_BILERP, DKR_OML_COMMON | G_RM_XLU_SURF | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_CI_BILERP, DKR_OML_COMMON | G_RM_AA_XLU_SURF | G_RM_AA_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_CI_BILERP, DKR_OML_COMMON | G_RM_AA_ZB_TEX_EDGE | G_RM_AA_ZB_TEX_EDGE2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_CI_BILERP, DKR_OML_COMMON | G_RM_AA_ZB_XLU_INTER | G_RM_AA_ZB_XLU_INTER2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_PASS2), + gsDPSetOtherMode(DKR_OMH_2CYC_CI_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_OPA_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_PASS2), + gsDPSetOtherMode(DKR_OMH_2CYC_CI_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_OPA_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_PASS2), + gsDPSetOtherMode(DKR_OMH_2CYC_CI_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_ZB_OPA_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_PASS2), + gsDPSetOtherMode(DKR_OMH_2CYC_CI_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_ZB_OPA_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_PASS2), + gsDPSetOtherMode(DKR_OMH_2CYC_CI_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_PASS2), + gsDPSetOtherMode(DKR_OMH_2CYC_CI_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_PASS2), + gsDPSetOtherMode(DKR_OMH_2CYC_CI_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_ZB_TEX_EDGE2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_PASS2), + gsDPSetOtherMode(DKR_OMH_2CYC_CI_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_ZB_XLU_INTER2), + }, }; -// Fast3D (F3DDKR) display list -u32 D_800DECE8[] = { - 0xFC127E23, 0xFF2FF3FF, - 0xEF082C0F, 0x00504240, - 0xFC127E23, 0xFF2FF3FF, - 0xEF082C0F, 0x005041C8, - 0xFC127E23, 0xFF2FF3FF, - 0xEF082C0F, 0x00553078, - 0xFC127E23, 0xFF2FF3FF, - 0xEF082C0F, 0x00505858, - 0xFC127E23, 0xFF2FF3FF, - 0xEF082C0F, 0x00504240, - 0xFC127E23, 0xFF2FF3FF, - 0xEF082C0F, 0x005041C8, - 0xFC127E23, 0xFF2FF3FF, - 0xEF082C0F, 0x00553078, - 0xFC127E23, 0xFF2FF3FF, - 0xEF082C0F, 0x00505858, - 0xFC127EAC, 0xF00FF23F, - 0xEF182C0F, 0xC8104240, - 0xFC127EAC, 0xF00FF23F, - 0xEF182C0F, 0xC81041C8, - 0xFC127EAC, 0xF00FF23F, - 0xEF182C0F, 0xC8113078, - 0xFC127EAC, 0xF00FF23F, - 0xEF182C0F, 0xC8105858, - 0xFC127EAC, 0xF00FF23F, - 0xEF182C0F, 0xC8104240, - 0xFC127EAC, 0xF00FF23F, - 0xEF182C0F, 0xC81041C8, - 0xFC127EAC, 0xF00FF23F, - 0xEF182C0F, 0xC8113078, - 0xFC127EAC, 0xF00FF23F, - 0xEF182C0F, 0xC8105858 +Gfx D_800DECE8[][2] = { + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_XLU_SURF | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_AA_XLU_SURF | G_RM_AA_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_AA_ZB_TEX_EDGE | G_RM_AA_ZB_TEX_EDGE2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | DKR_RM_UNKNOWN4_1 | DKR_RM_UNKNOWN4_2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_XLU_SURF | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_AA_XLU_SURF | G_RM_AA_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_AA_ZB_TEX_EDGE | G_RM_AA_ZB_TEX_EDGE2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIA_PRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | DKR_RM_UNKNOWN4_1 | DKR_RM_UNKNOWN4_2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, DKR_CC_UNK1), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, DKR_CC_UNK1), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, DKR_CC_UNK1), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_ZB_TEX_EDGE2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, DKR_CC_UNK1), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | DKR_RM_UNKNOWN4_2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, DKR_CC_UNK1), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, DKR_CC_UNK1), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_XLU_SURF2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, DKR_CC_UNK1), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_ZB_TEX_EDGE2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, DKR_CC_UNK1), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | DKR_RM_UNKNOWN4_2), + }, }; -// Fast3D (F3DDKR) display list -u32 D_800DEDE8[] = { - 0xFC127E24, 0xFFFFF3F9, - 0xEF082C0F, 0x00552E10, - 0xFC127E24, 0xFFFFF3F9, - 0xEF082C0F, 0x00552D58, - 0xFC127E24, 0xFFFFF3F9, - 0xEF082C0F, 0x00504E50, - 0xFC127E24, 0xFFFFF3F9, - 0xEF082C0F, 0x00504DD8, - 0xFC127EAC, 0xF00FF23F, - 0xEF182C0F, 0xC8112E10, - 0xFC127EAC, 0xF00FF23F, - 0xEF182C0F, 0xC8112D58, - 0xFC127EAC, 0xF00FF23F, - 0xEF182C0F, 0xC8104E50, - 0xFC127EAC, 0xF00FF23F, - 0xEF182C0F, 0xC8104DD8, - 0xFC127E24, 0xFFFFF3F9, - 0xEF08AC0F, 0x00552E10, - 0xFC127E24, 0xFFFFF3F9, - 0xEF08AC0F, 0x00552D58, - 0xFC127E24, 0xFFFFF3F9, - 0xEF08AC0F, 0x00504E50, - 0xFC127E24, 0xFFFFF3F9, - 0xEF08AC0F, 0x00504DD8, - 0xFC127FFF, 0xFFFFF238, - 0xEF18AC0F, 0xC8112E10, - 0xFC127FFF, 0xFFFFF238, - 0xEF18AC0F, 0xC8112D58, - 0xFC127FFF, 0xFFFFF238, - 0xEF18AC0F, 0xC8104E50, - 0xFC127FFF, 0xFFFFF238, - 0xEF18AC0F, 0xC8104DD8 +Gfx D_800DEDE8[][2] = { + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_ZB_OPA_DECAL | G_RM_ZB_OPA_DECAL2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_AA_ZB_OPA_DECAL | G_RM_AA_ZB_OPA_DECAL2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_ZB_XLU_DECAL | G_RM_ZB_XLU_DECAL2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_AA_ZB_XLU_DECAL | G_RM_AA_ZB_XLU_DECAL2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, DKR_CC_UNK1), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_ZB_OPA_DECAL2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, DKR_CC_UNK1), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_ZB_OPA_DECAL2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, DKR_CC_UNK1), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_ZB_XLU_DECAL2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, DKR_CC_UNK1), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_ZB_XLU_DECAL2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_CI_BILERP, DKR_OML_COMMON | G_RM_ZB_OPA_DECAL | G_RM_ZB_OPA_DECAL2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_CI_BILERP, DKR_OML_COMMON | G_RM_AA_ZB_OPA_DECAL | G_RM_AA_ZB_OPA_DECAL2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_CI_BILERP, DKR_OML_COMMON | G_RM_ZB_XLU_DECAL | G_RM_ZB_XLU_DECAL2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA), + gsDPSetOtherMode(DKR_OMH_1CYC_CI_BILERP, DKR_OML_COMMON | G_RM_AA_ZB_XLU_DECAL | G_RM_AA_ZB_XLU_DECAL2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_PASS2), + gsDPSetOtherMode(DKR_OMH_2CYC_CI_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_ZB_OPA_DECAL2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_PASS2), + gsDPSetOtherMode(DKR_OMH_2CYC_CI_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_ZB_OPA_DECAL2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_PASS2), + gsDPSetOtherMode(DKR_OMH_2CYC_CI_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_ZB_XLU_DECAL2), + }, + { + gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_PASS2), + gsDPSetOtherMode(DKR_OMH_2CYC_CI_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_ZB_XLU_DECAL2), + }, }; -// Fast3D (F3DDKR) display list -u32 D_800DEEE8[] = { - 0xFC567E03, 0x4F0E79FF, - 0xEF180C0F, 0x00104240, - 0xFC567E03, 0x4F0E79FF, - 0xEF180C0F, 0x001041C8, - 0xFC567E03, 0x4F0E79FF, - 0xEF180C0F, 0x00104A50, - 0xFC567E03, 0x4F0E79FF, - 0xEF180C0F, 0x001049D8 +Gfx D_800DEEE8[][2] = { + { + gsDPSetCombineMode(DKR_CC_UNK3, G_CC_MODULATEIA_PRIM2), + gsDPSetOtherMode(DKR_OMH_2CYC_POINT, DKR_OML_COMMON | G_RM_NOOP | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK3, G_CC_MODULATEIA_PRIM2), + gsDPSetOtherMode(DKR_OMH_2CYC_POINT, DKR_OML_COMMON | G_RM_NOOP | G_RM_AA_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK3, G_CC_MODULATEIA_PRIM2), + gsDPSetOtherMode(DKR_OMH_2CYC_POINT, DKR_OML_COMMON | G_RM_NOOP | G_RM_ZB_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK3, G_CC_MODULATEIA_PRIM2), + gsDPSetOtherMode(DKR_OMH_2CYC_POINT, DKR_OML_COMMON | G_RM_NOOP | G_RM_AA_ZB_XLU_SURF2), + }, }; -// Fast3D (F3DDKR) display list -u32 D_800DEF28[] = { - 0xFC567EAC, 0x44FE773B, - 0xEF080C0F, 0x0F0A4000, - 0xFC567EAC, 0x44FE773B, - 0xEF080C0F, 0x00552048, - 0xFC567EAC, 0x44FE773B, - 0xEF080C0F, 0x00552230, - 0xFC567EAC, 0x44FE773B, - 0xEF080C0F, 0x00552478, - 0xFC567EAC, 0x44FE773B, - 0xEF080C0F, 0x00504240, - 0xFC567EAC, 0x44FE773B, - 0xEF080C0F, 0x005041C8, - 0xFC567EAC, 0x44FE773B, - 0xEF080C0F, 0x00504A50, - 0xFC567EAC, 0x44FE773B, - 0xEF080C0F, 0x005049D8, - 0xFC567E03, 0x4F0E77FF, - 0xEF180C0F, 0xCB024000, - 0xFC567E03, 0x4F0E77FF, - 0xEF180C0F, 0xC8112048, - 0xFC567E03, 0x4F0E77FF, - 0xEF180C0F, 0xC8112230, - 0xFC567E03, 0x4F0E77FF, - 0xEF180C0F, 0xC8112078, - 0xFC567E03, 0x4F0E77FF, - 0xEF180C0F, 0xC8104240, - 0xFC567E03, 0x4F0E77FF, - 0xEF180C0F, 0xC81041C8, - 0xFC567E03, 0x4F0E77FF, - 0xEF180C0F, 0xC8104A50, - 0xFC567E03, 0x4F0E77FF, - 0xEF180C0F, 0xC81049D8 +Gfx D_800DEF28[][2] = { + { + gsDPSetCombineMode(DKR_CC_UNK4, DKR_CC_UNK4), + gsDPSetOtherMode(DKR_OMH_1CYC_POINT, DKR_OML_COMMON | G_RM_OPA_SURF | G_RM_OPA_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK4, DKR_CC_UNK4), + gsDPSetOtherMode(DKR_OMH_1CYC_POINT, DKR_OML_COMMON | G_RM_AA_OPA_SURF | G_RM_AA_OPA_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK4, DKR_CC_UNK4), + gsDPSetOtherMode(DKR_OMH_1CYC_POINT, DKR_OML_COMMON | G_RM_ZB_OPA_SURF | G_RM_ZB_OPA_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK4, DKR_CC_UNK4), + gsDPSetOtherMode(DKR_OMH_1CYC_POINT, DKR_OML_COMMON | G_RM_AA_ZB_OPA_INTER | G_RM_AA_ZB_OPA_INTER2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK4, DKR_CC_UNK4), + gsDPSetOtherMode(DKR_OMH_1CYC_POINT, DKR_OML_COMMON | G_RM_XLU_SURF | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK4, DKR_CC_UNK4), + gsDPSetOtherMode(DKR_OMH_1CYC_POINT, DKR_OML_COMMON | G_RM_AA_XLU_SURF | G_RM_AA_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK4, DKR_CC_UNK4), + gsDPSetOtherMode(DKR_OMH_1CYC_POINT, DKR_OML_COMMON | G_RM_ZB_XLU_SURF | G_RM_ZB_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK4, DKR_CC_UNK4), + gsDPSetOtherMode(DKR_OMH_1CYC_POINT, DKR_OML_COMMON | G_RM_AA_ZB_XLU_SURF | G_RM_AA_ZB_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK4, G_CC_MODULATEIA_PRIM2), + gsDPSetOtherMode(DKR_OMH_2CYC_POINT, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_OPA_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK4, G_CC_MODULATEIA_PRIM2), + gsDPSetOtherMode(DKR_OMH_2CYC_POINT, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_OPA_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK4, G_CC_MODULATEIA_PRIM2), + gsDPSetOtherMode(DKR_OMH_2CYC_POINT, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_ZB_OPA_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK4, G_CC_MODULATEIA_PRIM2), + gsDPSetOtherMode(DKR_OMH_2CYC_POINT, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_ZB_OPA_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK4, G_CC_MODULATEIA_PRIM2), + gsDPSetOtherMode(DKR_OMH_2CYC_POINT, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK4, G_CC_MODULATEIA_PRIM2), + gsDPSetOtherMode(DKR_OMH_2CYC_POINT, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK4, G_CC_MODULATEIA_PRIM2), + gsDPSetOtherMode(DKR_OMH_2CYC_POINT, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_ZB_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK4, G_CC_MODULATEIA_PRIM2), + gsDPSetOtherMode(DKR_OMH_2CYC_POINT, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_ZB_XLU_SURF2), + }, }; -// Fast3D (F3DDKR) display list -u32 D_800DF028[] = { - 0xFCFF97FF, 0xFF2CFE7F, - 0xEF082C0F, 0x00552E10, - 0xFCFF97FF, 0xFF2CFE7F, - 0xEF082C0F, 0x00552D58, - 0xFCFF97FF, 0xFF2CFE7F, - 0xEF082C0F, 0x00504E50, - 0xFCFF97FF, 0xFF2CFE7F, - 0xEF082C0F, 0x00504DD8, - 0xFCFF97FF, 0xFF2CFE7F, - 0xEF08AC0F, 0x00552E10, - 0xFCFF97FF, 0xFF2CFE7F, - 0xEF08AC0F, 0x00552D58, - 0xFCFF97FF, 0xFF2CFE7F, - 0xEF08AC0F, 0x00504E50, - 0xFCFF97FF, 0xFF2CFE7F, - 0xEF08AC0F, 0x00504DD8 +Gfx D_800DF028[][2] = { + { + gsDPSetCombineMode(DKR_CC_DECALFADEPRIM, DKR_CC_DECALFADEPRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_ZB_OPA_DECAL | G_RM_ZB_OPA_DECAL2), + }, + { + gsDPSetCombineMode(DKR_CC_DECALFADEPRIM, DKR_CC_DECALFADEPRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_AA_ZB_OPA_DECAL | G_RM_AA_ZB_OPA_DECAL2), + }, + { + gsDPSetCombineMode(DKR_CC_DECALFADEPRIM, DKR_CC_DECALFADEPRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_ZB_XLU_DECAL | G_RM_ZB_XLU_DECAL2), + }, + { + gsDPSetCombineMode(DKR_CC_DECALFADEPRIM, DKR_CC_DECALFADEPRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_AA_ZB_XLU_DECAL | G_RM_AA_ZB_XLU_DECAL2), + }, + { + gsDPSetCombineMode(DKR_CC_DECALFADEPRIM, DKR_CC_DECALFADEPRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_CI_BILERP, DKR_OML_COMMON | G_RM_ZB_OPA_DECAL | G_RM_ZB_OPA_DECAL2), + }, + { + gsDPSetCombineMode(DKR_CC_DECALFADEPRIM, DKR_CC_DECALFADEPRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_CI_BILERP, DKR_OML_COMMON | G_RM_AA_ZB_OPA_DECAL | G_RM_AA_ZB_OPA_DECAL2), + }, + { + gsDPSetCombineMode(DKR_CC_DECALFADEPRIM, DKR_CC_DECALFADEPRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_CI_BILERP, DKR_OML_COMMON | G_RM_ZB_XLU_DECAL | G_RM_ZB_XLU_DECAL2), + }, + { + gsDPSetCombineMode(DKR_CC_DECALFADEPRIM, DKR_CC_DECALFADEPRIM), + gsDPSetOtherMode(DKR_OMH_1CYC_CI_BILERP, DKR_OML_COMMON | G_RM_AA_ZB_XLU_DECAL | G_RM_AA_ZB_XLU_DECAL2), + }, }; -// Fast3D (F3DDKR) display list -u32 D_800DF0A8[] = { - 0xFC1596A4, 0x30FDFE38, - 0xEF182C0F, 0x03024000, - 0xFC1596A4, 0x30FDFE38, - 0xEF182C0F, 0x00112048, - 0xFC1596A4, 0x30FDFE38, - 0xEF182C0F, 0x00112230, - 0xFC1596A4, 0x30FDFE38, - 0xEF182C0F, 0x00112078, - 0xFC1596A4, 0x30FDFE38, - 0xEF182C0F, 0x00104240, - 0xFC1596A4, 0x30FDFE38, - 0xEF182C0F, 0x001041C8, - 0xFC1596A4, 0x30FDFE38, - 0xEF182C0F, 0x00104A50, - 0xFC1596A4, 0x30FDFE38, - 0xEF182C0F, 0x001049D8, - 0xFC1596A4, 0x30FDFE38, - 0xEF18AC0F, 0x03024000, - 0xFC1596A4, 0x30FDFE38, - 0xEF18AC0F, 0x00112048, - 0xFC1596A4, 0x30FDFE38, - 0xEF18AC0F, 0x00112230, - 0xFC1596A4, 0x30FDFE38, - 0xEF18AC0F, 0x00112078, - 0xFC1596A4, 0x30FDFE38, - 0xEF18AC0F, 0x00104240, - 0xFC1596A4, 0x30FDFE38, - 0xEF18AC0F, 0x001041C8, - 0xFC1596A4, 0x30FDFE38, - 0xEF18AC0F, 0x00113078, - 0xFC1596A4, 0x30FDFE38, - 0xEF18AC0F, 0x001045D8 +Gfx D_800DF0A8[][2] = { + { + gsDPSetCombineMode(DKR_CC_UNK5, DKR_CC_UNK6), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_OPA_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK5, DKR_CC_UNK6), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_AA_OPA_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK5, DKR_CC_UNK6), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_ZB_OPA_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK5, DKR_CC_UNK6), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_AA_ZB_OPA_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK5, DKR_CC_UNK6), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK5, DKR_CC_UNK6), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_AA_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK5, DKR_CC_UNK6), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_ZB_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK5, DKR_CC_UNK6), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_AA_ZB_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK5, DKR_CC_UNK6), + gsDPSetOtherMode(DKR_OMH_2CYC_CI_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_OPA_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK5, DKR_CC_UNK6), + gsDPSetOtherMode(DKR_OMH_2CYC_CI_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_AA_OPA_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK5, DKR_CC_UNK6), + gsDPSetOtherMode(DKR_OMH_2CYC_CI_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_ZB_OPA_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK5, DKR_CC_UNK6), + gsDPSetOtherMode(DKR_OMH_2CYC_CI_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_AA_ZB_OPA_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK5, DKR_CC_UNK6), + gsDPSetOtherMode(DKR_OMH_2CYC_CI_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK5, DKR_CC_UNK6), + gsDPSetOtherMode(DKR_OMH_2CYC_CI_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_AA_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK5, DKR_CC_UNK6), + gsDPSetOtherMode(DKR_OMH_2CYC_CI_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_AA_ZB_TEX_EDGE2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK5, DKR_CC_UNK6), + gsDPSetOtherMode(DKR_OMH_2CYC_CI_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_AA_ZB_XLU_INTER2), + }, }; -// Fast3D (F3DDKR) display list -u32 D_800DF1A8[] = { - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0x03024000, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0x00112048, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0x00112230, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0x00112078, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0x00104240, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0x001041C8, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0x00104A50, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0x001049D8, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0xCB024000, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0xC8112048, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0xC8112230, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0xC8112078, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0xC8104240, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0xC81041C8, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0xC8104A50, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0xC81049D8, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0x00104240, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0x001041C8, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0x00113078, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0x00105858, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0x00104240, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0x001041C8, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0x00113078, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0x00105858, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0xC8104240, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0xC81041C8, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0xC8113078, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0xC8105858, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0xC8104240, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0xC81041C8, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0xC8113078, - 0xFC21A604, 0x1FFC93F8, - 0xEF182C0F, 0xC8105858 +Gfx D_800DF1A8[][2] = { + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_OPA_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_AA_OPA_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_ZB_OPA_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_AA_ZB_OPA_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_AA_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_ZB_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_AA_ZB_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_OPA_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_OPA_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_ZB_OPA_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_ZB_OPA_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_ZB_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_ZB_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_AA_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_AA_ZB_TEX_EDGE2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_NOOP | DKR_RM_UNKNOWN4_2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_AA_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_NOOP | G_RM_AA_ZB_TEX_EDGE2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_NOOP | DKR_RM_UNKNOWN4_2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_ZB_TEX_EDGE2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | DKR_RM_UNKNOWN4_2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_XLU_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | G_RM_AA_ZB_TEX_EDGE2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK7, DKR_CC_UNK8), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_FOG_SHADE_A | DKR_RM_UNKNOWN4_2), + }, }; -// Fast3D (F3DDKR) display list -u32 D_800DF3A8[] = { - 0xE7000000, 0x00000000, - 0xBA001001, 0x00000000, - 0xBA000E02, 0x00000000, - 0xB9000002, 0x00000000, - 0xB6000000, 0x00010001, - 0xB8000000, 0x00000000 +Gfx D_800DF3A8[] = { + gsDPPipeSync(), + gsDPSetTextureLOD(G_TL_TILE), + gsDPSetTextureLUT(G_TT_NONE), + gsDPSetAlphaCompare(G_AC_NONE), + gsSPClearGeometryMode(G_ZBUFFER | G_FOG), + gsSPEndDisplayList(), }; -// Fast3D (F3DDKR) display list -u32 D_800DF3D8[] = { - 0xE7000000, 0x00000000, - 0xBA001001, 0x00000000, - 0xBA000E02, 0x00000000, - 0xB9000002, 0x00000000, - 0xB6000000, 0x00010000, - 0xB7000000, 0x00000001, - 0xB8000000, 0x00000000 +Gfx D_800DF3D8[] = { + gsDPPipeSync(), + gsDPSetTextureLOD(G_TL_TILE), + gsDPSetTextureLUT(G_TT_NONE), + gsDPSetAlphaCompare(G_AC_NONE), + gsSPClearGeometryMode(G_FOG), + gsSPSetGeometryMode(G_ZBUFFER), + gsSPEndDisplayList(), }; -// Fast3D (F3DDKR) display list -u32 D_800DF410[] = { - 0xFC309661, 0x552EFF7F, - 0xEF002C0F, 0x00504B50, - 0xFC309861, 0x5532FF7F, - 0xEF082C0F, 0x00504B50, - 0xFC3097FF, 0x5FFEFE38, - 0xEF182C0F, 0x00504B50 +Gfx D_800DF410[][2] = { + { + gsDPSetCombineMode(DKR_CC_UNK9, DKR_CC_UNK9), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP_NOPERSP, DKR_OML_COMMON | G_RM_ZB_CLD_SURF | G_RM_ZB_CLD_SURF2), + }, + { + gsDPSetCombineMode(G_CC_BLENDPE, G_CC_BLENDPE), + gsDPSetOtherMode(DKR_OMH_1CYC_BILERP, DKR_OML_COMMON | G_RM_ZB_CLD_SURF | G_RM_ZB_CLD_SURF2), + }, + { + gsDPSetCombineMode(DKR_CC_UNK9, G_CC_PASS2), + gsDPSetOtherMode(DKR_OMH_2CYC_BILERP, DKR_OML_COMMON | G_RM_ZB_CLD_SURF | G_RM_ZB_CLD_SURF2), + }, }; /*******************************/ diff --git a/src/unknown_07B870.h b/src/unknown_07B870.h index cfb641ba..501b281b 100644 --- a/src/unknown_07B870.h +++ b/src/unknown_07B870.h @@ -2,12 +2,14 @@ #define _UNKNOWN_07B870_H_ #include "types.h" +#include "f3ddkr.h" extern u32 D_800DE7C0; extern s32 D_800DE7C4; +/* // Fast3D (F3DDKR) display list -extern u32 D_800DE7C8[]; +extern Gfx D_800DE7C8[][2]; // Fast3D (F3DDKR) display list extern u32 D_800DE848[]; @@ -47,5 +49,6 @@ extern u32 D_800DF3D8[]; // Fast3D (F3DDKR) display list extern u32 D_800DF410[]; +*/ #endif