From 3e01b25573e2f8a70a2abd2829d0ea7c0a7f30da Mon Sep 17 00:00:00 2001 From: earthcrafterman Date: Sun, 15 May 2022 15:04:04 -0400 Subject: [PATCH] Add a toggle for muting the low HP alarm (#310) * Removes the code that plays the low health alarm sound effect, by removing that instead of making HealthMeter_IsCritical always return false, Link will still play the tired animation when low on health. * Made the low health alarm an enhancement toggle --- libultraship/libultraship/SohImGuiImpl.cpp | 1 + soh/src/code/z_lifemeter.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/libultraship/libultraship/SohImGuiImpl.cpp b/libultraship/libultraship/SohImGuiImpl.cpp index 8e4becaab..45b305eb1 100644 --- a/libultraship/libultraship/SohImGuiImpl.cpp +++ b/libultraship/libultraship/SohImGuiImpl.cpp @@ -667,6 +667,7 @@ namespace SohImGui { EnhancementSliderInt("Text Speed: %dx", "##TEXTSPEED", "gTextSpeed", 1, 5, ""); EnhancementSliderInt("King Zora Speed: %dx", "##WEEPSPEED", "gMweepSpeed", 1, 5, ""); + EnhancementCheckbox("Mute Low HP Alarm", "gLowHpAlarm"); EnhancementCheckbox("Skip Text", "gSkipText"); Tooltip("Holding down B skips text"); EnhancementCheckbox("Minimal UI", "gMinimalUI"); diff --git a/soh/src/code/z_lifemeter.c b/soh/src/code/z_lifemeter.c index 344022505..5f1863440 100644 --- a/soh/src/code/z_lifemeter.c +++ b/soh/src/code/z_lifemeter.c @@ -498,8 +498,8 @@ void HealthMeter_HandleCriticalAlarm(GlobalContext* globalCtx) { if (interfaceCtx->unk_22A <= 0) { interfaceCtx->unk_22A = 0; interfaceCtx->unk_22C = 0; - if (!Player_InCsMode(globalCtx) && (globalCtx->pauseCtx.state == 0) && - (globalCtx->pauseCtx.debugState == 0) && HealthMeter_IsCritical() && !Gameplay_InCsMode(globalCtx)) { + if (CVar_GetS32("gLowHpAlarm", 0) == 0 && !Player_InCsMode(globalCtx) && (globalCtx->pauseCtx.state == 0) && + (globalCtx->pauseCtx.debugState == 0) && HealthMeter_IsCritical() && !Gameplay_InCsMode(globalCtx)) { func_80078884(NA_SE_SY_HITPOINT_ALARM); } }