mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Make intermission timer-dependent material consistent via K_CanChangeRules()
Prevents setting inttime 0 in singleplayer contexts
This commit is contained in:
parent
00b73d4a48
commit
9f4ced146a
3 changed files with 18 additions and 10 deletions
|
|
@ -3922,7 +3922,7 @@ static void G_DoCompleted(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
// play some generic music if there's no win/cool/lose music going on (for exitlevel commands)
|
// play some generic music if there's no win/cool/lose music going on (for exitlevel commands)
|
||||||
if ((gametyperules & GTR_CIRCUIT) && ((multiplayer && demo.playback) || j == r_splitscreen+1) && (cv_inttime.value > 0))
|
if ((gametyperules & GTR_CIRCUIT) && ((multiplayer && demo.playback) || j == r_splitscreen+1) && (!K_CanChangeRules() || cv_inttime.value > 0))
|
||||||
S_ChangeMusicInternal("racent", true);
|
S_ChangeMusicInternal("racent", true);
|
||||||
|
|
||||||
if (automapactive)
|
if (automapactive)
|
||||||
|
|
|
||||||
|
|
@ -1286,7 +1286,7 @@ void P_DoPlayerExit(player_t *player)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cv_inttime.value > 0)
|
if (!K_CanChangeRules() || cv_inttime.value > 0)
|
||||||
P_EndingMusic(player);
|
P_EndingMusic(player);
|
||||||
|
|
||||||
if (P_CheckRacers())
|
if (P_CheckRacers())
|
||||||
|
|
|
||||||
|
|
@ -806,23 +806,31 @@ void Y_StartIntermission(void)
|
||||||
powertype = K_UsingPowerLevels();
|
powertype = K_UsingPowerLevels();
|
||||||
|
|
||||||
// determine the tic the intermission ends
|
// determine the tic the intermission ends
|
||||||
if (!multiplayer || demo.playback)
|
if (!K_CanChangeRules())
|
||||||
{
|
{
|
||||||
timer = ((nump >= 2) ? 10 : 5)*TICRATE;
|
timer = 10*TICRATE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
timer = cv_inttime.value*TICRATE;
|
timer = cv_inttime.value*TICRATE;
|
||||||
|
|
||||||
if (!timer)
|
|
||||||
timer = 1; // prevent a weird bug
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// determine the tic everybody's scores/PWR starts getting sorted
|
// determine the tic everybody's scores/PWR starts getting sorted
|
||||||
sorttic = -1;
|
sorttic = -1;
|
||||||
if (multiplayer || nump >= 2)
|
if (!timer)
|
||||||
{
|
{
|
||||||
sorttic = max((timer/2) - 2*TICRATE, 2*TICRATE); // 8 second pause after match results
|
// Prevent a weird bug
|
||||||
|
timer = 1;
|
||||||
|
}
|
||||||
|
else if (nump < 2 && !netgame)
|
||||||
|
{
|
||||||
|
// No PWR/global score, skip it
|
||||||
|
timer /= 2;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Minimum two seconds for match results, then two second slideover approx halfway through
|
||||||
|
sorttic = max((timer/2) - 2*TICRATE, 2*TICRATE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (intermissiontypes[gametype] != int_none)
|
if (intermissiontypes[gametype] != int_none)
|
||||||
|
|
@ -841,7 +849,7 @@ void Y_StartIntermission(void)
|
||||||
case int_battle:
|
case int_battle:
|
||||||
case int_battletime:
|
case int_battletime:
|
||||||
{
|
{
|
||||||
if (cv_inttime.value > 0)
|
if (timer > 1)
|
||||||
S_ChangeMusicInternal("racent", true); // loop it
|
S_ChangeMusicInternal("racent", true); // loop it
|
||||||
|
|
||||||
// Calculate who won
|
// Calculate who won
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue