S_StopMusicCredit: Make killing a music credit a request, not a guarantee

Fixes some menu events causing Stereo-caused music credits to disappear
This commit is contained in:
toaster 2023-04-03 21:32:13 +01:00
parent a85af6339d
commit 5dd4e36b72
5 changed files with 14 additions and 5 deletions

View file

@ -1047,7 +1047,7 @@ void D_ClearState(void)
if (rendermode != render_none)
V_SetPaletteLump("PLAYPAL");
cursongcredit.def = NULL;
S_StopMusicCredit();
S_StopSounds();
if (gamedata && gamedata->deferredsave)

View file

@ -310,7 +310,7 @@ void F_StartCustomCutscene(INT32 cutscenenum, boolean precutscene, boolean reset
void F_StartIntro(void)
{
cursongcredit.def = NULL;
S_StopMusicCredit();
if (gamestate)
{

View file

@ -376,7 +376,7 @@ void M_PlayMenuJam(void)
if (challengesmenu.pending)
{
S_StopMusic();
cursongcredit.def = NULL;
S_StopMusicCredit();
loserclubpermitted = true;
return;
@ -390,7 +390,7 @@ void M_PlayMenuJam(void)
if (refMenu->music[0] == '.' && refMenu->music[1] == '\0')
{
S_StopMusic();
cursongcredit.def = NULL;
S_StopMusicCredit();
return;
}
else if (!loserclub)

View file

@ -1665,7 +1665,7 @@ void S_SoundTestStop(void)
soundtest.autosequence = false;
S_StopMusic();
cursongcredit.def = NULL;
S_StopMusicCredit();
soundtest.currenttime = 0;
soundtest.sequencemaxtime = 0;
@ -2147,6 +2147,14 @@ void S_ShowMusicCredit(void)
cursongcredit.trans = NUMTRANSMAPS;
}
void S_StopMusicCredit(void)
{
if (S_PlaysimMusicDisabled())
return;
cursongcredit.def = NULL;
}
/// ------------------------
/// Music Status
/// ------------------------

View file

@ -247,6 +247,7 @@ void S_LoadMusicDefs(UINT16 wadnum);
void S_InitMusicDefs(void);
musicdef_t *S_FindMusicDef(const char *name, UINT8 *i);
void S_ShowMusicCredit(void);
void S_StopMusicCredit(void);
//
// Music Seeking