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 exitgame = false;
static boolean retrying = false; static boolean retrying = false;
static boolean retryingmodeattack = false;
UINT8 stagefailed; // Used for GEMS BONUS? Also to see if you beat the stage. 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) if (K_PodiumSequence() == true)
return false; 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. // The title card is available.
return true; return true;
} }
@ -1455,7 +1460,7 @@ boolean G_Responder(event_t *ev)
pausedelay = 1+(NEWTICRATE/2); pausedelay = 1+(NEWTICRATE/2);
else if (++pausedelay > 1+(NEWTICRATE/2)+(NEWTICRATE/3)) else if (++pausedelay > 1+(NEWTICRATE/2)+(NEWTICRATE/3))
{ {
G_SetModeAttackRetryFlag(); G_SetRetryFlag();
return true; return true;
} }
pausedelay++; // counteract subsequent subtraction this frame pausedelay++; // counteract subsequent subtraction this frame
@ -5427,20 +5432,9 @@ boolean G_GetRetryFlag(void)
return retrying; return retrying;
} }
void G_SetModeAttackRetryFlag(void) boolean G_IsModeAttackRetrying(void)
{ {
retryingmodeattack = true; return retrying && modeattacking != ATTACKING_NONE;
G_SetRetryFlag();
}
void G_ClearModeAttackRetryFlag(void)
{
retryingmodeattack = false;
}
boolean G_GetModeAttackRetryFlag(void)
{
return retryingmodeattack;
} }
// Time utility functions // Time utility functions

View file

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

View file

@ -429,11 +429,8 @@ void M_TryAgain(INT32 choice)
G_CheckDemoStatus(); // Cancel recording G_CheckDemoStatus(); // Cancel recording
M_StartTimeAttack(-1); M_StartTimeAttack(-1);
} }
else
{
G_SetRetryFlag(); G_SetRetryFlag();
} }
}
static void M_GiveUpResponse(INT32 ch) 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 // Special stage & record attack retry fade to white
// This is handled BEFORE sounds are stopped. // This is handled BEFORE sounds are stopped.
if (G_GetModeAttackRetryFlag()) if (G_IsModeAttackRetrying() && !demo.playback && gametype != GT_VERSUS)
{
if (modeattacking && !demo.playback)
{ {
ranspecialwipe = 2; ranspecialwipe = 2;
//wipestyleflags |= (WSF_FADEOUT|WSF_TOWHITE); //wipestyleflags |= (WSF_FADEOUT|WSF_TOWHITE);
} }
G_ClearModeAttackRetryFlag();
}
// Make sure all sounds are stopped before Z_FreeTags. // Make sure all sounds are stopped before Z_FreeTags.
S_StopSounds(); S_StopSounds();
@ -8410,7 +8406,6 @@ boolean P_LoadLevel(boolean fromnetsave, boolean reloadinggamestate)
if (ranspecialwipe == 2) if (ranspecialwipe == 2)
{ {
pausedelay = -3; // preticker plus one pausedelay = -3; // preticker plus one
S_StartSound(NULL, sfx_s3k73);
} }
// We should be fine starting music here. // We should be fine starting music here.