Merge branch 'gme-pause' into 'master'

Fix pausing on gme

See merge request STJr/SRB2!251
This commit is contained in:
Monster Iestyn 2018-07-31 14:33:56 -04:00
commit 16999b7080
1 changed files with 5 additions and 1 deletions

View File

@ -66,6 +66,7 @@ static boolean midimode;
static Mix_Music *music; static Mix_Music *music;
static UINT8 music_volume, midi_volume, sfx_volume; static UINT8 music_volume, midi_volume, sfx_volume;
static float loop_point; static float loop_point;
static boolean songpaused;
#ifdef HAVE_LIBGME #ifdef HAVE_LIBGME
static Music_Emu *gme; static Music_Emu *gme;
@ -102,6 +103,7 @@ void I_StartupSound(void)
} }
sound_started = true; sound_started = true;
songpaused = false;
Mix_AllocateChannels(256); Mix_AllocateChannels(256);
} }
@ -450,7 +452,7 @@ static void mix_gme(void *udata, Uint8 *stream, int len)
(void)udata; (void)udata;
// no gme? no music. // no gme? no music.
if (!gme || gme_track_ended(gme)) if (!gme || gme_track_ended(gme) || songpaused)
return; return;
// play gme into stream // play gme into stream
@ -476,12 +478,14 @@ void I_PauseSong(INT32 handle)
{ {
(void)handle; (void)handle;
Mix_PauseMusic(); Mix_PauseMusic();
songpaused = true;
} }
void I_ResumeSong(INT32 handle) void I_ResumeSong(INT32 handle)
{ {
(void)handle; (void)handle;
Mix_ResumeMusic(); Mix_ResumeMusic();
songpaused = false;
} }
// //