Add "Track 10" to the Message from the Stars

Stays with you after you leave the Challenges screen.

Also remove the duplicate-effort attempt-to-pre-optimise considersealedswapalert that only considered SECRET_SPECIALATTACK - it should also report here under other unlockable progressions, if relevant.
This commit is contained in:
toaster 2024-03-26 21:41:55 +00:00
parent 25da02f0e6
commit 6f67984e27
4 changed files with 9 additions and 11 deletions

View file

@ -1405,8 +1405,6 @@ extern struct challengesmenu_s {
boolean chaokeyadd, keywasadded;
UINT8 chaokeyhold;
boolean considersealedswapalert;
boolean requestflip;
UINT16 unlockcount[CMC_MAX];

View file

@ -528,6 +528,7 @@ void M_PlayMenuJam(void)
const char* overridetotrack[GDMUSIC_MAX-1] = {
"KEYGEN",
"LOSERC",
"TRACKA",
};
if (refMenu != NULL && NotCurrentlyPlaying(overridetotrack[override - 1]))
@ -580,6 +581,9 @@ boolean M_ConsiderSealedSwapAlert(void)
NULL, MM_NOTHING, NULL, NULL
);
if (gamedata->musicstate < GDMUSIC_TRACK10)
gamedata->musicstate = GDMUSIC_TRACK10;
return true;
}

View file

@ -286,6 +286,7 @@ typedef enum {
GDMUSIC_KEYG,
GDMUSIC_KEEPONMENU, // Minimum to keep after leaving the Challenge Grid
GDMUSIC_LOSERCLUB = GDMUSIC_KEEPONMENU,
GDMUSIC_TRACK10,
GDMUSIC_MAX
} gdmusic_t;

View file

@ -361,7 +361,6 @@ menu_t *M_InterruptMenuWithChallenges(menu_t *desiredmenu)
challengesmenu.requestnew = false;
challengesmenu.chaokeyadd = false;
challengesmenu.keywasadded = false;
challengesmenu.considersealedswapalert = false;
challengesmenu.chaokeyhold = 0;
challengesmenu.unlockcondition = NULL;
@ -707,9 +706,6 @@ void M_ChallengesTick(void)
gamedata->unlocked[challengesmenu.currentunlock] = true;
M_UpdateUnlockablesAndExtraEmblems(true, true);
if (ref->type == SECRET_SPECIALATTACK)
challengesmenu.considersealedswapalert = true;
// Update shown description just in case..?
if (challengesmenu.unlockcondition)
Z_Free(challengesmenu.unlockcondition);
@ -780,11 +776,7 @@ void M_ChallengesTick(void)
// Fade decrease.
if (--challengesmenu.fade == 0)
{
// Play music the moment control returns.
M_PlayMenuJam();
if (challengesmenu.considersealedswapalert == true
&& M_ConsiderSealedSwapAlert() == true)
if (M_ConsiderSealedSwapAlert() == true)
{
// No keygen tutorial in this case...
// not ideal but at least unlikely to
@ -795,6 +787,9 @@ void M_ChallengesTick(void)
{
M_ChallengesTutorial(CCTUTORIAL_KEYGEN);
}
// Play music the moment control returns.
M_PlayMenuJam();
}
}