summaryrefslogtreecommitdiff
path: root/soh/src/code
diff options
context:
space:
mode:
authorA Green Spoon <121978037+A-Green-Spoon@users.noreply.github.com>2026-03-06 01:11:36 +0900
committerGitHub <noreply@github.com>2026-03-05 16:11:36 +0000
commit6340ad3d5c3f02a61750f1938596ff5fe22ebe0b (patch)
tree186ac882df0f60f4c80d1d1bf775daa614ed0fa4 /soh/src/code
parent63597ec6335d95d3ec057a6fcce585e11d183d56 (diff)
Hookify Hookshot Reticle Changes (#6279)
Diffstat (limited to 'soh/src/code')
-rw-r--r--soh/src/code/z_player_lib.c18
1 files changed, 3 insertions, 15 deletions
diff --git a/soh/src/code/z_player_lib.c b/soh/src/code/z_player_lib.c
index 54000a74d..85964d457 100644
--- a/soh/src/code/z_player_lib.c
+++ b/soh/src/code/z_player_lib.c
@@ -1699,22 +1699,10 @@ void Player_DrawHookshotReticle(PlayState* play, Player* this, f32 hookshotRange
Matrix_Scale(sp60, sp60, sp60, MTXMODE_APPLY);
gSPMatrix(OVERLAY_DISP++, MATRIX_NEWMTX(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
- gSPMatrix(OVERLAY_DISP++, SEG_ADDR(1, 0), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
- gSPTexture(OVERLAY_DISP++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
- gDPLoadTextureBlock(OVERLAY_DISP++, gLinkAdultHookshotReticleTex, G_IM_FMT_I, G_IM_SIZ_8b, 64, 64, 0,
- G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, 6, 6, G_TX_NOLOD, G_TX_NOLOD);
- if (SurfaceType_IsHookshotSurface(&play->colCtx, colPoly, bgId) &&
- CVarGetInteger(CVAR_ENHANCEMENT("HookshotableReticle"), false)) {
- const Color_RGBA8 defaultColor = { .r = 0, .g = 255, .b = 0, .a = 255 };
- const Color_RGBA8 color = CVarGetColor(CVAR_COSMETIC("HookshotReticle.Target.Value"), defaultColor);
- gDPSetPrimColor(OVERLAY_DISP++, 0, 0, color.r, color.g, color.b, color.a);
- } else {
- const Color_RGBA8 defaultColor = { .r = 255, .g = 0, .b = 0, .a = 255 };
- const Color_RGBA8 color = CVarGetColor(CVAR_COSMETIC("HookshotReticle.NonTarget.Value"), defaultColor);
- gDPSetPrimColor(OVERLAY_DISP++, 0, 0, color.r, color.g, color.b, color.a);
+ if (GameInteractor_Should(VB_TARGETABLE_HOOKSHOT_RETICLE, true, colPoly, bgId)) {
+ gSPSegment(OVERLAY_DISP++, 0x06, play->objectCtx.status[this->actor.objBankIndex].segment);
+ gSPDisplayList(OVERLAY_DISP++, gLinkAdultHookshotReticleDL);
}
- gSPVertex(OVERLAY_DISP++, (uintptr_t)gLinkAdultHookshotReticleVtx, 3, 0);
- gSP1Triangle(OVERLAY_DISP++, 0, 1, 2, 0);
CLOSE_DISPS(play->state.gfxCtx);
}