From 3d6e3993d2e7701119f7b049177d7ea103d0345d Mon Sep 17 00:00:00 2001 From: Kelsi Date: Thu, 26 Feb 2026 02:34:36 -0800 Subject: [PATCH] Fix water splash sounds bypassing mute via ffplay path playOneShot() spawns an external ffplay process that bypasses the miniaudio engine master volume. Now checks getMasterVolume() before spawning the process. --- src/audio/activity_sound_manager.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/audio/activity_sound_manager.cpp b/src/audio/activity_sound_manager.cpp index 5b28d5c8..4f02b35e 100644 --- a/src/audio/activity_sound_manager.cpp +++ b/src/audio/activity_sound_manager.cpp @@ -203,6 +203,7 @@ void ActivitySoundManager::rebuildHardLandClipsForProfile(const std::string& rac bool ActivitySoundManager::playOneShot(const std::vector& clips, float volume, float pitchLo, float pitchHi) { if (clips.empty()) return false; if (volumeScale <= 0.0001f || volume <= 0.0001f) return true; // Intentionally muted + if (AudioEngine::instance().getMasterVolume() <= 0.0f) return true; // Global mute reapProcesses(); if (oneShotPid != INVALID_PROCESS) return false;