Skip titlecard for modeattacking except VERSUS

Fixes KartKrew/Kart#1062
This commit is contained in:
Eidolon 2024-02-24 17:38:28 -06:00
parent db49975d67
commit 3c63b84299
4 changed files with 14 additions and 30 deletions

View file

@ -212,7 +212,6 @@ unloaded_cupheader_t *unloadedcupheaders = NULL;
static boolean exitgame = false;
static boolean retrying = false;
static boolean retryingmodeattack = false;
UINT8 stagefailed; // Used for GEMS BONUS? Also to see if you beat the stage.
@ -1315,6 +1314,12 @@ boolean G_IsTitleCardAvailable(void)
if (K_PodiumSequence() == true)
return false;
// Mynd you, møøse bites Kan be pretty nasti...
if (modeattacking != ATTACKING_NONE && gametype != GT_VERSUS)
{
return false;
}
// The title card is available.
return true;
}
@ -1455,7 +1460,7 @@ boolean G_Responder(event_t *ev)
pausedelay = 1+(NEWTICRATE/2);
else if (++pausedelay > 1+(NEWTICRATE/2)+(NEWTICRATE/3))
{
G_SetModeAttackRetryFlag();
G_SetRetryFlag();
return true;
}
pausedelay++; // counteract subsequent subtraction this frame
@ -5427,20 +5432,9 @@ boolean G_GetRetryFlag(void)
return retrying;
}
void G_SetModeAttackRetryFlag(void)
boolean G_IsModeAttackRetrying(void)
{
retryingmodeattack = true;
G_SetRetryFlag();
}
void G_ClearModeAttackRetryFlag(void)
{
retryingmodeattack = false;
}
boolean G_GetModeAttackRetryFlag(void)
{
return retryingmodeattack;
return retrying && modeattacking != ATTACKING_NONE;
}
// Time utility functions

View file

@ -250,9 +250,7 @@ void G_SetRetryFlag(void);
void G_ClearRetryFlag(void);
boolean G_GetRetryFlag(void);
void G_SetModeAttackRetryFlag(void);
void G_ClearModeAttackRetryFlag(void);
boolean G_GetModeAttackRetryFlag(void);
boolean G_IsModeAttackRetrying(void);
void G_LoadGameData(void);
void G_LoadGameSettings(void);

View file

@ -429,11 +429,8 @@ void M_TryAgain(INT32 choice)
G_CheckDemoStatus(); // Cancel recording
M_StartTimeAttack(-1);
}
else
{
G_SetRetryFlag();
}
}
static void M_GiveUpResponse(INT32 ch)
{

View file

@ -8363,15 +8363,11 @@ boolean P_LoadLevel(boolean fromnetsave, boolean reloadinggamestate)
// Special stage & record attack retry fade to white
// This is handled BEFORE sounds are stopped.
if (G_GetModeAttackRetryFlag())
{
if (modeattacking && !demo.playback)
if (G_IsModeAttackRetrying() && !demo.playback && gametype != GT_VERSUS)
{
ranspecialwipe = 2;
//wipestyleflags |= (WSF_FADEOUT|WSF_TOWHITE);
}
G_ClearModeAttackRetryFlag();
}
// Make sure all sounds are stopped before Z_FreeTags.
S_StopSounds();
@ -8410,7 +8406,6 @@ boolean P_LoadLevel(boolean fromnetsave, boolean reloadinggamestate)
if (ranspecialwipe == 2)
{
pausedelay = -3; // preticker plus one
S_StartSound(NULL, sfx_s3k73);
}
// We should be fine starting music here.