M_PlayMenuJam

Pre-emptive work for more complicated menu music behaviour, permitting consistent implementation of the cycling music.
This commit is contained in:
toaster 2023-02-01 22:12:41 +00:00
parent d31e5ac76f
commit 57b22f32d5
3 changed files with 22 additions and 10 deletions

View file

@ -593,6 +593,8 @@ void M_GoBack(INT32 choice);
void M_Ticker(void);
void M_Init(void);
void M_PlayMenuJam(void);
void M_MenuTypingInput(INT32 key);
extern menu_t MessageDef;

View file

@ -356,6 +356,17 @@ boolean M_Responder(event_t *ev)
return true;
}
void M_PlayMenuJam(void)
{
if (cv_menujam_update.value)
{
CV_AddValue(&cv_menujam, 1);
CV_SetValue(&cv_menujam_update, 0);
}
S_ChangeMusicInternal(cv_menujam.string, true);
}
//
// M_SpecificMenuRestore
//
@ -472,14 +483,6 @@ void M_StartControlPanel(void)
CON_ToggleOff();
modeattacking = ATTACKING_NONE;
if (cv_menujam_update.value)
{
CV_AddValue(&cv_menujam, 1);
CV_SetValue(&cv_menujam_update, 0);
}
S_ChangeMusicInternal(cv_menujam.string, true);
}
if (cv_currprofile.value == -1) // Only ask once per session.
@ -510,6 +513,8 @@ void M_StartControlPanel(void)
currentMenu = M_SpecificMenuRestore(M_InterruptMenuWithChallenges(restoreMenu));
restoreMenu = NULL;
}
M_PlayMenuJam();
}
else
{

View file

@ -31,6 +31,7 @@
#include "m_cond.h" // for conditionsets
#include "lua_hook.h" // MusicChange hook
#include "byteptr.h"
#include "k_menu.h" // M_PlayMenuJam
#ifdef HW3SOUND
// 3D Sound Interface
@ -2651,9 +2652,13 @@ void GameDigiMusic_OnChange(void)
{
P_RestoreMusic(&players[consoleplayer]);
}
else if (S_MusicExists("menu"))
else if (gamestate == GS_TITLESCREEN)
{
S_ChangeMusicInternal("menu", looptitle);
S_ChangeMusicInternal("_title", looptitle);
}
else
{
M_PlayMenuJam();
}
}
else