mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-28 04:51:42 +00:00
Merge branch 'attract-fade-fix' into 'master'
Fix regression for title/credits attract demo fades Closes ring-racers#6 See merge request kart-krew-dev/ring-racers-internal!2981
This commit is contained in:
commit
09a2c8783a
2 changed files with 24 additions and 29 deletions
|
|
@ -176,7 +176,7 @@ void Music_Init(void)
|
||||||
Tune& tune = g_tunes.insert("credits");
|
Tune& tune = g_tunes.insert("credits");
|
||||||
|
|
||||||
tune.priority = 101;
|
tune.priority = 101;
|
||||||
tune.song = ""; // Music_TuneReset
|
tune.song = ""; // F_NewCreditsMusic
|
||||||
tune.credit = true;
|
tune.credit = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -540,6 +540,5 @@ void Music_TuneReset(void)
|
||||||
Music_Remap("wait", "WAIT2J");
|
Music_Remap("wait", "WAIT2J");
|
||||||
Music_Remap("title", "_title");
|
Music_Remap("title", "_title");
|
||||||
Music_Remap("credits_silence", "");
|
Music_Remap("credits_silence", "");
|
||||||
Music_Remap("credits", "_creds");
|
|
||||||
Music_Remap("lawyer", "lawyer");
|
Music_Remap("lawyer", "lawyer");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8508,9 +8508,11 @@ boolean P_LoadLevel(boolean fromnetsave, boolean reloadinggamestate)
|
||||||
// use gamemap to get map number.
|
// use gamemap to get map number.
|
||||||
// 99% of the things already did, so.
|
// 99% of the things already did, so.
|
||||||
// Map header should always be in place at this point
|
// Map header should always be in place at this point
|
||||||
INT32 i, ranspecialwipe = 0;
|
INT32 i;
|
||||||
virtlump_t *encoreLump = NULL;
|
virtlump_t *encoreLump = NULL;
|
||||||
|
|
||||||
|
boolean fade_shortcircuit = false;
|
||||||
|
|
||||||
levelloading = true;
|
levelloading = true;
|
||||||
g_reloadinggamestate = reloadinggamestate;
|
g_reloadinggamestate = reloadinggamestate;
|
||||||
|
|
||||||
|
|
@ -8634,12 +8636,10 @@ boolean P_LoadLevel(boolean fromnetsave, boolean reloadinggamestate)
|
||||||
}
|
}
|
||||||
#undef WAIT
|
#undef WAIT
|
||||||
|
|
||||||
// Special stage & record attack retry fade to white
|
if (demo.attract
|
||||||
// This is handled BEFORE sounds are stopped.
|
|| (G_IsModeAttackRetrying() && !demo.playback && (gametyperules & GTR_BOSS) == 0))
|
||||||
if (G_IsModeAttackRetrying() && !demo.playback && (gametyperules & GTR_BOSS) == 0)
|
|
||||||
{
|
{
|
||||||
ranspecialwipe = 2;
|
fade_shortcircuit = true;
|
||||||
//wipestyleflags |= (WSF_FADEOUT|WSF_TOWHITE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Make sure all sounds are stopped before Z_FreeTags.
|
// Make sure all sounds are stopped before Z_FreeTags.
|
||||||
|
|
@ -8650,8 +8650,7 @@ boolean P_LoadLevel(boolean fromnetsave, boolean reloadinggamestate)
|
||||||
if (rendermode != render_none)
|
if (rendermode != render_none)
|
||||||
V_ReloadPalette(); // Set the level palette
|
V_ReloadPalette(); // Set the level palette
|
||||||
|
|
||||||
// Let's fade to white here
|
// Music set-up
|
||||||
// But only if we didn't do the encore startup wipe
|
|
||||||
if (demo.attract || demo.simplerewind)
|
if (demo.attract || demo.simplerewind)
|
||||||
{
|
{
|
||||||
// Leave the music alone! We're already playing what we want!
|
// Leave the music alone! We're already playing what we want!
|
||||||
|
|
@ -8661,17 +8660,6 @@ boolean P_LoadLevel(boolean fromnetsave, boolean reloadinggamestate)
|
||||||
}
|
}
|
||||||
else if (!reloadinggamestate)
|
else if (!reloadinggamestate)
|
||||||
{
|
{
|
||||||
int wipetype = wipe_level_toblack;
|
|
||||||
|
|
||||||
// TODO: What is this?? This does nothing because P_LoadLevelMusic is gonna halt music, anyway.
|
|
||||||
#if 0
|
|
||||||
// Fade out music here. Deduct 2 tics so the fade volume actually reaches 0.
|
|
||||||
// But don't halt the music! S_Start will take care of that. This dodges a MIDI crash bug.
|
|
||||||
if (gamestate == GS_LEVEL)
|
|
||||||
S_FadeMusic(0, FixedMul(
|
|
||||||
FixedDiv((F_GetWipeLength(wipedefs[wipe_level_toblack])-2)*NEWTICRATERATIO, NEWTICRATE), MUSICRATE));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (K_PodiumSequence())
|
if (K_PodiumSequence())
|
||||||
{
|
{
|
||||||
// mapmusrng is set by local player position in K_ResetCeremony
|
// mapmusrng is set by local player position in K_ResetCeremony
|
||||||
|
|
@ -8679,7 +8667,7 @@ boolean P_LoadLevel(boolean fromnetsave, boolean reloadinggamestate)
|
||||||
}
|
}
|
||||||
else if (gamestate == GS_LEVEL)
|
else if (gamestate == GS_LEVEL)
|
||||||
{
|
{
|
||||||
if (ranspecialwipe == 2)
|
if (fade_shortcircuit)
|
||||||
{
|
{
|
||||||
pausedelay = -3; // preticker plus one
|
pausedelay = -3; // preticker plus one
|
||||||
}
|
}
|
||||||
|
|
@ -8693,6 +8681,14 @@ boolean P_LoadLevel(boolean fromnetsave, boolean reloadinggamestate)
|
||||||
P_LoadLevelMusic();
|
P_LoadLevelMusic();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Let's fade to black or white here
|
||||||
|
// But only if we didn't do the encore startup wipe
|
||||||
|
if (!reloadinggamestate && !demo.simplerewind)
|
||||||
|
{
|
||||||
|
int wipetype = wipe_level_toblack;
|
||||||
|
sfxenum_t fadesound = sfx_None;
|
||||||
|
|
||||||
// Default
|
// Default
|
||||||
levelfadecol = 31;
|
levelfadecol = 31;
|
||||||
|
|
@ -8704,24 +8700,21 @@ boolean P_LoadLevel(boolean fromnetsave, boolean reloadinggamestate)
|
||||||
else if (K_PodiumHasEmerald())
|
else if (K_PodiumHasEmerald())
|
||||||
{
|
{
|
||||||
// Special Stage out
|
// Special Stage out
|
||||||
if (ranspecialwipe != 2)
|
fadesound = sfx_s3k6a;
|
||||||
S_StartSound(NULL, sfx_s3k6a);
|
|
||||||
levelfadecol = 0;
|
levelfadecol = 0;
|
||||||
wipetype = wipe_encore_towhite;
|
wipetype = wipe_encore_towhite;
|
||||||
}
|
}
|
||||||
else if (gametyperules & GTR_SPECIALSTART)
|
else if (gametyperules & GTR_SPECIALSTART)
|
||||||
{
|
{
|
||||||
// Special Stage in
|
// Special Stage in
|
||||||
if (ranspecialwipe != 2)
|
fadesound = sfx_s3kaf;
|
||||||
S_StartSound(NULL, sfx_s3kaf);
|
|
||||||
levelfadecol = 0;
|
levelfadecol = 0;
|
||||||
wipetype = wipe_encore_towhite;
|
wipetype = wipe_encore_towhite;
|
||||||
}
|
}
|
||||||
else if (skipstats == 1 && (gametyperules & GTR_BOSS) == 0)
|
else if (skipstats == 1 && (gametyperules & GTR_BOSS) == 0)
|
||||||
{
|
{
|
||||||
// MapWarp
|
// MapWarp
|
||||||
if (ranspecialwipe != 2)
|
fadesound = sfx_s3k73;
|
||||||
S_StartSound(NULL, sfx_s3k73);
|
|
||||||
levelfadecol = 0;
|
levelfadecol = 0;
|
||||||
wipetype = wipe_encore_towhite;
|
wipetype = wipe_encore_towhite;
|
||||||
}
|
}
|
||||||
|
|
@ -8740,6 +8733,9 @@ boolean P_LoadLevel(boolean fromnetsave, boolean reloadinggamestate)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (!fade_shortcircuit)
|
||||||
|
S_StartSound(NULL, fadesound);
|
||||||
|
|
||||||
if (rendermode != render_none)
|
if (rendermode != render_none)
|
||||||
{
|
{
|
||||||
F_WipeStartScreen();
|
F_WipeStartScreen();
|
||||||
|
|
@ -9019,7 +9015,7 @@ boolean P_LoadLevel(boolean fromnetsave, boolean reloadinggamestate)
|
||||||
G_StartTitleCard();
|
G_StartTitleCard();
|
||||||
|
|
||||||
// Can the title card actually run, though?
|
// Can the title card actually run, though?
|
||||||
if (WipeStageTitle && ranspecialwipe != 2 && fromnetsave == false)
|
if (WipeStageTitle && !fade_shortcircuit && fromnetsave == false)
|
||||||
{
|
{
|
||||||
G_PreLevelTitleCard();
|
G_PreLevelTitleCard();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue