mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-12-10 18:12:46 +00:00
Merge branch 'eid/explicit-mic-device' into 'master'
Turn on and off microphone explicitly See merge request kart-krew-dev/ring-racers-internal!2595
This commit is contained in:
commit
9397e07541
3 changed files with 36 additions and 18 deletions
|
|
@ -281,7 +281,7 @@ shouldsign_t ShouldSignChallenge(uint8_t *message)
|
||||||
if ((max(now, then) - min(now, then)) > 60*15)
|
if ((max(now, then) - min(now, then)) > 60*15)
|
||||||
return SIGN_BADTIME;
|
return SIGN_BADTIME;
|
||||||
|
|
||||||
// ____ _____ ___ ____ _
|
// ____ _____ ___ ____ _
|
||||||
// / ___|_ _/ _ \| _ \| |
|
// / ___|_ _/ _ \| _ \| |
|
||||||
// \___ \ | || | | | |_) | |
|
// \___ \ | || | | | |_) | |
|
||||||
// ___) || || |_| | __/|_|
|
// ___) || || |_| | __/|_|
|
||||||
|
|
@ -2436,6 +2436,11 @@ static void CL_ConnectToServer(void)
|
||||||
|
|
||||||
joinedIP[0] = '\0'; // And empty this for good measure regardless of whether or not we actually used it.
|
joinedIP[0] = '\0'; // And empty this for good measure regardless of whether or not we actually used it.
|
||||||
|
|
||||||
|
// Enable sound input/microphone in netgames, activating the microphone device.
|
||||||
|
if (netgame)
|
||||||
|
{
|
||||||
|
S_SoundInputSetEnabled(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void Command_connect(void)
|
static void Command_connect(void)
|
||||||
|
|
@ -2502,6 +2507,8 @@ static void Command_connect(void)
|
||||||
{
|
{
|
||||||
CONS_Alert(CONS_ERROR, M_GetText("There is no server identification with this network driver\n"));
|
CONS_Alert(CONS_ERROR, M_GetText("There is no server identification with this network driver\n"));
|
||||||
D_CloseConnection();
|
D_CloseConnection();
|
||||||
|
|
||||||
|
S_SoundInputSetEnabled(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -3659,6 +3666,7 @@ void D_QuitNetGame(void)
|
||||||
K_ClearClientPowerLevels();
|
K_ClearClientPowerLevels();
|
||||||
G_ObliterateParties();
|
G_ObliterateParties();
|
||||||
K_ResetMidVote();
|
K_ResetMidVote();
|
||||||
|
S_SoundInputSetEnabled(false);
|
||||||
|
|
||||||
DEBFILE("===========================================================================\n"
|
DEBFILE("===========================================================================\n"
|
||||||
" Log finish\n"
|
" Log finish\n"
|
||||||
|
|
@ -7376,9 +7384,6 @@ void NetVoiceUpdate(void)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This necessarily runs every frame, not every tic
|
|
||||||
S_SoundInputSetEnabled(true);
|
|
||||||
|
|
||||||
UINT32 bytes_dequed = 0;
|
UINT32 bytes_dequed = 0;
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -72,6 +72,24 @@ static boolean input_routine(INT32)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void init_routine(void)
|
||||||
|
{
|
||||||
|
if (!netgame)
|
||||||
|
{
|
||||||
|
S_SoundInputSetEnabled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static boolean quit_routine(void)
|
||||||
|
{
|
||||||
|
if (!netgame)
|
||||||
|
{
|
||||||
|
S_SoundInputSetEnabled(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
menu_t OPTIONS_VoiceDef = {
|
menu_t OPTIONS_VoiceDef = {
|
||||||
sizeof (OPTIONS_Voice) / sizeof (menuitem_t),
|
sizeof (OPTIONS_Voice) / sizeof (menuitem_t),
|
||||||
&OPTIONS_MainDef,
|
&OPTIONS_MainDef,
|
||||||
|
|
@ -85,7 +103,7 @@ menu_t OPTIONS_VoiceDef = {
|
||||||
draw_routine,
|
draw_routine,
|
||||||
M_DrawOptionsCogs,
|
M_DrawOptionsCogs,
|
||||||
tick_routine,
|
tick_routine,
|
||||||
NULL,
|
init_routine,
|
||||||
NULL,
|
quit_routine,
|
||||||
input_routine,
|
input_routine,
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -198,7 +198,6 @@ static void (*music_fade_callback)();
|
||||||
|
|
||||||
static SDL_AudioDeviceID g_device_id;
|
static SDL_AudioDeviceID g_device_id;
|
||||||
static SDL_AudioDeviceID g_input_device_id;
|
static SDL_AudioDeviceID g_input_device_id;
|
||||||
static boolean g_input_device_paused;
|
|
||||||
|
|
||||||
void* I_GetSfx(sfxinfo_t* sfx)
|
void* I_GetSfx(sfxinfo_t* sfx)
|
||||||
{
|
{
|
||||||
|
|
@ -999,14 +998,14 @@ void I_UpdateAudioRecorder(void)
|
||||||
|
|
||||||
boolean I_SoundInputIsEnabled(void)
|
boolean I_SoundInputIsEnabled(void)
|
||||||
{
|
{
|
||||||
return g_input_device_id != 0 && !g_input_device_paused;
|
return g_input_device_id != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean I_SoundInputSetEnabled(boolean enabled)
|
boolean I_SoundInputSetEnabled(boolean enabled)
|
||||||
{
|
{
|
||||||
if (g_input_device_id == 0 && enabled)
|
if (g_input_device_id == 0 && enabled)
|
||||||
{
|
{
|
||||||
if (SDL_GetNumAudioDevices(true) == 0)
|
if (!sound_started || SDL_GetNumAudioDevices(true) == 0)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
@ -1023,21 +1022,17 @@ boolean I_SoundInputSetEnabled(boolean enabled)
|
||||||
CONS_Alert(CONS_WARNING, "Failed to open input audio device: %s\n", SDL_GetError());
|
CONS_Alert(CONS_WARNING, "Failed to open input audio device: %s\n", SDL_GetError());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
g_input_device_paused = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (enabled && g_input_device_paused)
|
|
||||||
{
|
|
||||||
SDL_PauseAudioDevice(g_input_device_id, SDL_FALSE);
|
SDL_PauseAudioDevice(g_input_device_id, SDL_FALSE);
|
||||||
g_input_device_paused = false;
|
|
||||||
}
|
}
|
||||||
else if (!enabled && !g_input_device_paused)
|
else if (g_input_device_id != 0 && !enabled)
|
||||||
{
|
{
|
||||||
SDL_PauseAudioDevice(g_input_device_id, SDL_TRUE);
|
SDL_PauseAudioDevice(g_input_device_id, SDL_TRUE);
|
||||||
SDL_ClearQueuedAudio(g_input_device_id);
|
SDL_ClearQueuedAudio(g_input_device_id);
|
||||||
g_input_device_paused = true;
|
SDL_CloseAudioDevice(g_input_device_id);
|
||||||
|
g_input_device_id = 0;
|
||||||
}
|
}
|
||||||
return !g_input_device_paused;
|
|
||||||
|
return enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
UINT32 I_SoundInputDequeueSamples(void *data, UINT32 len)
|
UINT32 I_SoundInputDequeueSamples(void *data, UINT32 len)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue