summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorearthcrafterman <banddstudios@gmail.com>2022-05-15 15:04:04 -0400
committerGitHub <noreply@github.com>2022-05-15 15:04:04 -0400
commit3e01b25573e2f8a70a2abd2829d0ea7c0a7f30da (patch)
tree530445b1ed806eb1388e592dfa75d57056f3fff8
parentf217b9bb973e334ffc88e37b167cfffa45b4bd3f (diff)
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
-rw-r--r--libultraship/libultraship/SohImGuiImpl.cpp1
-rw-r--r--soh/src/code/z_lifemeter.c4
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);
}
}