mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-27 12:31:54 +00:00
Resolve #510 by not stopping attempted playback/sequence when song duration is 0
This commit is contained in:
parent
d432cf3837
commit
a31d83cd6b
1 changed files with 19 additions and 15 deletions
|
|
@ -1635,35 +1635,39 @@ void S_SoundTestPlay(void)
|
||||||
|
|
||||||
S_ChangeMusicInternal(soundtest.current->name[soundtest.currenttrack],
|
S_ChangeMusicInternal(soundtest.current->name[soundtest.currenttrack],
|
||||||
!soundtest.current->basenoloop[soundtest.currenttrack]);
|
!soundtest.current->basenoloop[soundtest.currenttrack]);
|
||||||
S_ShowMusicCredit();
|
|
||||||
|
|
||||||
soundtest.currenttime = 0;
|
soundtest.currenttime = 0;
|
||||||
soundtest.sequencemaxtime = S_GetMusicLength();
|
soundtest.sequencemaxtime = S_GetMusicLength();
|
||||||
|
|
||||||
|
if (soundtest.sequencemaxtime == 0)
|
||||||
|
{
|
||||||
|
S_SoundTestStop(); // This sets soundtest.privilegedrequest to false
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
S_ShowMusicCredit();
|
||||||
|
|
||||||
// ensure default is always set
|
// ensure default is always set
|
||||||
soundtest.sequencefadeout = 0;
|
soundtest.sequencefadeout = 0;
|
||||||
soundtest.dosequencefadeout = false;
|
soundtest.dosequencefadeout = false;
|
||||||
|
|
||||||
if (soundtest.sequencemaxtime)
|
// Does song have default loop?
|
||||||
|
if (soundtest.current->basenoloop[soundtest.currenttrack] == false)
|
||||||
{
|
{
|
||||||
// Does song have default loop?
|
if (soundtest.sequencemaxtime < 3*60*1000)
|
||||||
if (soundtest.current->basenoloop[soundtest.currenttrack] == false)
|
|
||||||
{
|
{
|
||||||
if (soundtest.sequencemaxtime < 3*60*1000)
|
// I'd personally like songs in sequence to last between 3 and 6 minutes.
|
||||||
{
|
const UINT32 loopduration = (soundtest.sequencemaxtime - S_GetMusicLoopPoint());
|
||||||
// I'd personally like songs in sequence to last between 3 and 6 minutes.
|
soundtest.sequencemaxtime += loopduration;
|
||||||
const UINT32 loopduration = (soundtest.sequencemaxtime - S_GetMusicLoopPoint());
|
|
||||||
soundtest.sequencemaxtime += loopduration;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Only fade out if we're the last track for this song.
|
|
||||||
soundtest.dosequencefadeout = (soundtest.currenttrack == soundtest.current->numtracks-1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ms to TICRATE conversion
|
// Only fade out if we're the last track for this song.
|
||||||
soundtest.sequencemaxtime = (TICRATE*soundtest.sequencemaxtime)/1000;
|
soundtest.dosequencefadeout = (soundtest.currenttrack == soundtest.current->numtracks-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ms to TICRATE conversion
|
||||||
|
soundtest.sequencemaxtime = (TICRATE*soundtest.sequencemaxtime)/1000;
|
||||||
|
|
||||||
soundtest.privilegedrequest = false;
|
soundtest.privilegedrequest = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue