mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
Merge pull request #124 from DavidSM64/doc
Decompiled display lists for unknown_078050 & unknown_07B870
This commit is contained in:
@@ -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
|
||||
@@ -16,4 +16,5 @@ typedef struct Gfx {
|
||||
_g->w0 = word0; \
|
||||
_g->w1 = word1; \
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
+95
-89
@@ -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),
|
||||
}
|
||||
};
|
||||
|
||||
/*******************************/
|
||||
|
||||
@@ -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
|
||||
|
||||
+802
-427
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user