Merge branch 'focusvoice' into 'master'

Include voice in tabbed out audio settings (fixes #37)

Closes #37

See merge request kart-krew-dev/ring-racers!44
This commit is contained in:
Eidolon 2025-10-06 15:12:59 -05:00
commit 7f8b5ec43e
4 changed files with 14 additions and 4 deletions

View file

@ -420,7 +420,11 @@ consvar_t cv_bgaudio = Player("bgaudio", "Nothing").onchange_noinit(BGAudio_OnCh
{0, "Nothing"},
{1, "Music"},
{2, "Sounds"},
{4, "Voices"},
{3, "Music&Sounds"},
{5, "Music&Voices"},
{6, "Sounds&Voices"},
{7, "MusicSounds&Voices"}
});
// Pause game upon window losing focus

View file

@ -5396,7 +5396,7 @@ static void PT_HandleVoiceClient(SINT8 node, boolean isserver)
{
continue;
}
if (cv_voice_selfdeafen.value != 1 && playernum != g_localplayers[0])
if (cv_voice_selfdeafen.value != 1 && playernum != g_localplayers[0] && !g_voice_disabled)
{
S_QueueVoiceFrameFromPlayer(playernum, (void*)decoded_out, decoded_samples * sizeof(float), false);
}
@ -5410,7 +5410,7 @@ static void PT_HandleVoiceClient(SINT8 node, boolean isserver)
return;
}
if (cv_voice_selfdeafen.value != 1 && playernum != g_localplayers[0])
if (cv_voice_selfdeafen.value != 1 && playernum != g_localplayers[0] && !g_voice_disabled)
{
S_QueueVoiceFrameFromPlayer(playernum, (void*)decoded_out, decoded_samples * sizeof(float), terminal);
}
@ -7674,7 +7674,7 @@ void NetVoiceUpdate(void)
continue;
}
if (cv_voice_selfdeafen.value == 1)
if (cv_voice_selfdeafen.value == 1 || g_voice_disabled)
{
continue;
}

View file

@ -2858,6 +2858,9 @@ void BGAudio_OnChange(void)
if (window_notinfocus && !(cv_bgaudio.value & 2))
S_StopSounds();
if (window_notinfocus && !(cv_bgaudio.value & 4))
g_voice_disabled = true;
}
@ -2889,7 +2892,7 @@ void S_QueueVoiceFrameFromPlayer(INT32 playernum, void *data, UINT32 len, boolea
{
return;
}
if (cv_voice_selfdeafen.value != 1)
if (cv_voice_selfdeafen.value != 1 && !g_voice_disabled)
{
I_QueueVoiceFrameFromPlayer(playernum, data, len, terminal);
}

View file

@ -523,6 +523,7 @@ static void Impl_HandleWindowEvent(SDL_WindowEvent evt)
window_notinfocus = false;
S_SetMusicVolume();
g_voice_disabled = cv_voice_selfdeafen.value;
if (!firsttimeonmouse)
{
@ -537,6 +538,8 @@ static void Impl_HandleWindowEvent(SDL_WindowEvent evt)
I_SetMusicVolume(0);
if (!(cv_bgaudio.value & 2))
S_StopSounds();
if (!(cv_bgaudio.value & 4))
g_voice_disabled = true;
G_ResetAllDeviceGameKeyDown();
G_ResetAllDeviceResponding();