Point filtered reticles :)

This commit is contained in:
Sonic Dreamcaster
2024-11-20 21:15:56 -03:00
parent 009d8eef7c
commit cf8aae0316
3 changed files with 33 additions and 2 deletions
+2
View File
@@ -310,6 +310,8 @@ typedef enum SetupDL {
/* 0x55 */ SETUPDL_85,
/* 0x56 */ SETUPDL_86,
/* 0x57 */ SETUPDL_87,
SETUPDL_36_POINT,
SETUPDL_63_POINT,
SETUPDL_75_POINT,
SETUPDL_76_POINT,
SETUPDL_77_POINT,
+2 -2
View File
@@ -779,7 +779,7 @@ void Display_Reticle(Player* player) {
Matrix_Push(&gGfxMatrix);
Matrix_Translate(gGfxMatrix, translate->x, translate->y, translate->z, MTXF_APPLY);
if (gChargeTimers[player->num] >= 20) {
RCP_SetupDL(&gMasterDisp, SETUPDL_63);
RCP_SetupDL(&gMasterDisp, SETUPDL_63_POINT);
if (i == 1) {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 0, 0, 255);
gDPSetEnvColor(gMasterDisp++, 255, 0, 0, 255);
@@ -789,7 +789,7 @@ void Display_Reticle(Player* player) {
gDPSetEnvColor(gMasterDisp++, 255, 255, 0, 255);
}
} else {
RCP_SetupDL_36();
gSPDisplayList(gMasterDisp++, gRcpSetupDLs[SETUPDL_36_POINT]);
}
if (i == 1) {
+29
View File
@@ -1265,6 +1265,35 @@ Gfx gRcpSetupDLs[][9] = {
G_TD_CLAMP | G_TP_PERSP | G_CYC_2CYCLE | G_PM_NPRIMITIVE),
gsSPEndDisplayList(),
},
{
/* SETUPDL_36_POINT */
gsDPPipeSync(),
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
gsSPSetGeometryMode(0),
gsSPSetOtherMode(G_SETOTHERMODE_L, G_MDSFT_ALPHACOMPARE, 3, G_AC_NONE | G_ZS_PIXEL),
gsDPSetRenderMode(G_RM_XLU_SURF, G_RM_XLU_SURF2),
gsSPSetOtherModeHi(G_AD_PATTERN | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_POINT | G_TT_NONE | G_TL_TILE |
G_TD_CLAMP | G_TP_PERSP | G_CYC_1CYCLE | G_PM_NPRIMITIVE),
gsSPEndDisplayList(),
},
{
/* SETUPDL_63_POINT */
gsDPPipeSync(),
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0, PRIMITIVE, ENVIRONMENT,
TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0),
gsSPSetGeometryMode(G_SHADE | G_SHADING_SMOOTH),
gsSPSetOtherMode(G_SETOTHERMODE_L, G_MDSFT_ALPHACOMPARE, 3, G_AC_NONE | G_ZS_PIXEL),
gsDPSetRenderMode(G_RM_CLD_SURF, G_RM_CLD_SURF2),
gsSPSetOtherModeHi(G_AD_PATTERN | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_POINT | G_TT_NONE | G_TL_TILE |
G_TD_CLAMP | G_TP_PERSP | G_CYC_1CYCLE | G_PM_NPRIMITIVE),
gsSPEndDisplayList(),
},
{
/* SETUPDL_75_POINT */
gsDPPipeSync(),