From 51ff90314cf81af36d5074e4ac473dfce3278339 Mon Sep 17 00:00:00 2001 From: fallenoak Date: Sat, 29 Nov 2025 16:34:43 -0600 Subject: [PATCH] feat(sound): implement EnableAllSound_CVarCallback --- src/sound/CVarHandlers.cpp | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/sound/CVarHandlers.cpp b/src/sound/CVarHandlers.cpp index 7033af5..edb1e4e 100644 --- a/src/sound/CVarHandlers.cpp +++ b/src/sound/CVarHandlers.cpp @@ -1,6 +1,8 @@ #include "sound/CVarHandlers.hpp" #include "console/CVar.hpp" +#include "sound/SESound.hpp" #include "util/Unimplemented.hpp" +#include bool EnableMicrophoneHandler(CVar* var, const char* oldValue, const char* value, void* arg) { // TODO @@ -68,8 +70,27 @@ bool AmbienceVolume_CVarCallback(CVar* var, const char* oldValue, const char* va } bool EnableAllSound_CVarCallback(CVar* var, const char* oldValue, const char* value, void* arg) { - // TODO - WHOA_UNIMPLEMENTED(true); + // Enable + + if (SStrToInt(value)) { + static auto enableSfxCVar = CVar::Lookup("Sound_EnableSFX"); + static auto enableMusicCVar = CVar::Lookup("Sound_EnableMusic"); + static auto enableAmbienceCVar = CVar::Lookup("Sound_EnableAmbience"); + + SESound::MuteChannelGroup("SFX", enableSfxCVar->GetInt() == 0); + SESound::MuteChannelGroup("MUSIC", enableMusicCVar->GetInt() == 0); + SESound::MuteChannelGroup("AMBIENCE", enableAmbienceCVar->GetInt() == 0); + + return true; + } + + // Disable + + SESound::MuteChannelGroup("SFX", true); + SESound::MuteChannelGroup("MUSIC", true); + SESound::MuteChannelGroup("AMBIENCE", true); + + return true; } bool EnableAmbience_CVarCallback(CVar* var, const char* oldValue, const char* value, void* arg) {