mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-26 20:11:47 +00:00
S_SoundTestTogglePause
Instead of a fake S_StopMusic-based Pause, make it use the S_PauseAudio/S_ResumeAudio system.
This commit is contained in:
parent
b1b6756e6a
commit
bc07cfa94b
3 changed files with 45 additions and 11 deletions
|
|
@ -36,7 +36,14 @@ static void M_SoundTestMainControl(INT32 choice)
|
||||||
}
|
}
|
||||||
else if (soundtest.playing == true)
|
else if (soundtest.playing == true)
|
||||||
{
|
{
|
||||||
S_SoundTestStop((currentMenu->menuitems[itemOn].mvar1 == 2));
|
if (currentMenu->menuitems[itemOn].mvar1 == 2)
|
||||||
|
{
|
||||||
|
S_SoundTestTogglePause();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
S_SoundTestStop();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1593,7 +1593,7 @@ void S_SoundTestPlay(void)
|
||||||
{
|
{
|
||||||
if (soundtest.current == NULL)
|
if (soundtest.current == NULL)
|
||||||
{
|
{
|
||||||
S_SoundTestStop(false);
|
S_SoundTestStop();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1603,13 +1603,18 @@ void S_SoundTestPlay(void)
|
||||||
|
|
||||||
soundtest.playing = true;
|
soundtest.playing = true;
|
||||||
|
|
||||||
|
if (soundtest.paused == true)
|
||||||
|
{
|
||||||
|
S_SoundTestTogglePause();
|
||||||
|
}
|
||||||
|
|
||||||
S_ChangeMusicInternal(soundtest.current->name[soundtest.currenttrack], true);
|
S_ChangeMusicInternal(soundtest.current->name[soundtest.currenttrack], true);
|
||||||
S_ShowMusicCredit();
|
S_ShowMusicCredit();
|
||||||
|
|
||||||
soundtest.privilegedrequest = false;
|
soundtest.privilegedrequest = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void S_SoundTestStop(boolean pause)
|
void S_SoundTestStop(void)
|
||||||
{
|
{
|
||||||
if (soundtest.playing == false)
|
if (soundtest.playing == false)
|
||||||
{
|
{
|
||||||
|
|
@ -1621,18 +1626,35 @@ void S_SoundTestStop(boolean pause)
|
||||||
S_StopMusic();
|
S_StopMusic();
|
||||||
cursongcredit.def = NULL;
|
cursongcredit.def = NULL;
|
||||||
|
|
||||||
if (pause == false)
|
|
||||||
{
|
|
||||||
soundtest.playing = false;
|
soundtest.playing = false;
|
||||||
|
soundtest.paused = false;
|
||||||
soundtest.current = NULL;
|
soundtest.current = NULL;
|
||||||
soundtest.currenttrack = 0;
|
soundtest.currenttrack = 0;
|
||||||
|
|
||||||
S_AttemptToRestoreMusic();
|
S_AttemptToRestoreMusic();
|
||||||
}
|
|
||||||
|
|
||||||
soundtest.privilegedrequest = false;
|
soundtest.privilegedrequest = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void S_SoundTestTogglePause(void)
|
||||||
|
{
|
||||||
|
if (soundtest.playing == false)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (soundtest.paused == true)
|
||||||
|
{
|
||||||
|
soundtest.paused = false;
|
||||||
|
S_ResumeAudio();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
soundtest.paused = true;
|
||||||
|
S_PauseAudio();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
boolean S_PlaysimMusicDisabled(void)
|
boolean S_PlaysimMusicDisabled(void)
|
||||||
{
|
{
|
||||||
if (soundtest.privilegedrequest)
|
if (soundtest.privilegedrequest)
|
||||||
|
|
@ -2653,6 +2675,9 @@ void S_ResumeAudio(void)
|
||||||
if (S_MusicNotInFocus())
|
if (S_MusicNotInFocus())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (soundtest.paused == true)
|
||||||
|
return;
|
||||||
|
|
||||||
if (I_SongPlaying() && I_SongPaused())
|
if (I_SongPlaying() && I_SongPaused())
|
||||||
I_ResumeSong();
|
I_ResumeSong();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -211,6 +211,7 @@ extern struct cursongcredit
|
||||||
extern struct soundtest
|
extern struct soundtest
|
||||||
{
|
{
|
||||||
boolean playing; // Music is playing?
|
boolean playing; // Music is playing?
|
||||||
|
boolean paused; // System paused?
|
||||||
boolean privilegedrequest; // Overrides S_PlaysimMusicDisabled w/o changing every function signature
|
boolean privilegedrequest; // Overrides S_PlaysimMusicDisabled w/o changing every function signature
|
||||||
musicdef_t *current; // Current selected music definition
|
musicdef_t *current; // Current selected music definition
|
||||||
SINT8 currenttrack; // Current selected music track for definition
|
SINT8 currenttrack; // Current selected music track for definition
|
||||||
|
|
@ -220,7 +221,8 @@ extern struct soundtest
|
||||||
void S_PopulateSoundTestSequence(void);
|
void S_PopulateSoundTestSequence(void);
|
||||||
void S_UpdateSoundTestDef(boolean reverse, boolean dotracks, boolean skipnull);
|
void S_UpdateSoundTestDef(boolean reverse, boolean dotracks, boolean skipnull);
|
||||||
void S_SoundTestPlay(void);
|
void S_SoundTestPlay(void);
|
||||||
void S_SoundTestStop(boolean pause);
|
void S_SoundTestStop(void);
|
||||||
|
void S_SoundTestTogglePause(void);
|
||||||
|
|
||||||
boolean S_PlaysimMusicDisabled(void);
|
boolean S_PlaysimMusicDisabled(void);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue