mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +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)
|
||||
{
|
||||
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)
|
||||
{
|
||||
S_SoundTestStop(false);
|
||||
S_SoundTestStop();
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -1603,13 +1603,18 @@ void S_SoundTestPlay(void)
|
|||
|
||||
soundtest.playing = true;
|
||||
|
||||
if (soundtest.paused == true)
|
||||
{
|
||||
S_SoundTestTogglePause();
|
||||
}
|
||||
|
||||
S_ChangeMusicInternal(soundtest.current->name[soundtest.currenttrack], true);
|
||||
S_ShowMusicCredit();
|
||||
|
||||
soundtest.privilegedrequest = false;
|
||||
}
|
||||
|
||||
void S_SoundTestStop(boolean pause)
|
||||
void S_SoundTestStop(void)
|
||||
{
|
||||
if (soundtest.playing == false)
|
||||
{
|
||||
|
|
@ -1621,18 +1626,35 @@ void S_SoundTestStop(boolean pause)
|
|||
S_StopMusic();
|
||||
cursongcredit.def = NULL;
|
||||
|
||||
if (pause == false)
|
||||
{
|
||||
soundtest.playing = false;
|
||||
soundtest.current = NULL;
|
||||
soundtest.currenttrack = 0;
|
||||
soundtest.playing = false;
|
||||
soundtest.paused = false;
|
||||
soundtest.current = NULL;
|
||||
soundtest.currenttrack = 0;
|
||||
|
||||
S_AttemptToRestoreMusic();
|
||||
}
|
||||
S_AttemptToRestoreMusic();
|
||||
|
||||
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)
|
||||
{
|
||||
if (soundtest.privilegedrequest)
|
||||
|
|
@ -2653,6 +2675,9 @@ void S_ResumeAudio(void)
|
|||
if (S_MusicNotInFocus())
|
||||
return;
|
||||
|
||||
if (soundtest.paused == true)
|
||||
return;
|
||||
|
||||
if (I_SongPlaying() && I_SongPaused())
|
||||
I_ResumeSong();
|
||||
|
||||
|
|
|
|||
|
|
@ -211,6 +211,7 @@ extern struct cursongcredit
|
|||
extern struct soundtest
|
||||
{
|
||||
boolean playing; // Music is playing?
|
||||
boolean paused; // System paused?
|
||||
boolean privilegedrequest; // Overrides S_PlaysimMusicDisabled w/o changing every function signature
|
||||
musicdef_t *current; // Current selected music definition
|
||||
SINT8 currenttrack; // Current selected music track for definition
|
||||
|
|
@ -220,7 +221,8 @@ extern struct soundtest
|
|||
void S_PopulateSoundTestSequence(void);
|
||||
void S_UpdateSoundTestDef(boolean reverse, boolean dotracks, boolean skipnull);
|
||||
void S_SoundTestPlay(void);
|
||||
void S_SoundTestStop(boolean pause);
|
||||
void S_SoundTestStop(void);
|
||||
void S_SoundTestTogglePause(void);
|
||||
|
||||
boolean S_PlaysimMusicDisabled(void);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue