diff --git a/mm/2s2h/BenGui/BenMenuBar.cpp b/mm/2s2h/BenGui/BenMenuBar.cpp index 8bab22dfe..81729f2bf 100644 --- a/mm/2s2h/BenGui/BenMenuBar.cpp +++ b/mm/2s2h/BenGui/BenMenuBar.cpp @@ -363,7 +363,10 @@ void DrawEnhancementsMenu() { UIWidgets::CVarCheckbox("Authentic logo", "gEnhancements.Graphics.AuthenticLogo", { .tooltip = "Hide the game version and build details and display the authentic model and texture on the boot logo start screen" }); - + UIWidgets::CVarCheckbox("Bow Reticle", "gEnhancements.Graphics.BowReticle", { + .tooltip = "Gives the bow a reticle when you draw an arrow" + }); + ImGui::EndMenu(); } diff --git a/mm/src/code/z_player_lib.c b/mm/src/code/z_player_lib.c index 91602bf64..c00b7c4d1 100644 --- a/mm/src/code/z_player_lib.c +++ b/mm/src/code/z_player_lib.c @@ -3641,6 +3641,22 @@ void Player_PostLimbDrawGameplay(PlayState* play, s32 limbIndex, Gfx** dList1, G Player_DrawHookshotReticle(play, player, 77600.0f); } } + } else if (CVarGetInteger("gEnhancements.Graphics.BowReticle", 0) && + ((player->heldItemAction == PLAYER_IA_BOW_FIRE) || + (player->heldItemAction == PLAYER_IA_BOW_ICE) || + (player->heldItemAction == PLAYER_IA_BOW_LIGHT) || + (player->heldItemAction == PLAYER_IA_BOW))) { + if (heldActor != NULL) { + MtxF sp44; + + Matrix_RotateZYX(0, -15216, -17496, MTXMODE_APPLY); + Matrix_Get(&sp44); + + if (func_800B7128(player) != 0) { + Matrix_Translate(500.0f, 300.0f, 0.0f, MTXMODE_APPLY); + Player_DrawHookshotReticle(play, player, 776000.0f); + } + } } else if (player->meleeWeaponState != PLAYER_MELEE_WEAPON_STATE_0) { if (player->meleeWeaponAnimation == PLAYER_MWA_GORON_PUNCH_RIGHT) { func_80126B8C(play, player);