Add command to restart the audio system

This commit is contained in:
Steel Titanium 2017-10-29 01:09:34 -04:00
parent 017df6cd75
commit 97445f941a
1 changed files with 17 additions and 0 deletions

View File

@ -26,6 +26,7 @@
#include "p_local.h"
#include "p_setup.h"
#include "s_sound.h"
#include "i_sound.h"
#include "m_misc.h"
#include "am_map.h"
#include "byteptr.h"
@ -128,6 +129,7 @@ static void Command_Playintro_f(void);
static void Command_Displayplayer_f(void);
static void Command_Tunes_f(void);
static void Command_RestartAudio_f(void);
static void Command_ExitLevel_f(void);
static void Command_Showmap_f(void);
@ -670,6 +672,7 @@ void D_RegisterClientCommands(void)
COM_AddCommand("displayplayer", Command_Displayplayer_f);
COM_AddCommand("tunes", Command_Tunes_f);
COM_AddCommand("restartaudio", Command_RestartAudio_f);
CV_RegisterVar(&cv_resetmusic);
// FIXME: not to be here.. but needs be done for config loading
@ -3909,6 +3912,20 @@ static void Command_Tunes_f(void)
}
}
static void Command_RestartAudio_f(void)
{
I_ShutdownMusic();
I_ShutdownSound();
I_StartupSound();
I_InitMusic();
// These must be called or everthing will be muted for the user until next volume change.
I_SetSfxVolume(cv_soundvolume.value);
I_SetDigMusicVolume(cv_digmusicvolume.value);
I_SetMIDIMusicVolume(cv_midimusicvolume.value);
}
/** Quits a game and returns to the title screen.
*
*/