Calls to F_ContinueCredits and D_StartTitle, even if deferred,
change the current gamestate. However, the tic loop in TryRunTics
may still have a couple tics to execute to catch up to current
time, and as a consequence G_Ticker may execute game logic while
the current state is not GS_LEVEL or equivalent. As a result, it is
highly likely for the game to crash.
This adds deferred credits start to the tic loop, and exits that
loop if either title or credits are supposed to start after the
current iteration, fixing this crash scenario.
FixesKartKrew/Kart#1185
"level_nosync" was reactivating via P_Ticker from credits
demo and showing a music credit for a brief moment, where
there should not be any music credit.
- Credits demos will erase grandprixinfo
- Call F_InitGameEvaluation (new function) at the
beginning of the credits to cache the needed data from
grandprixinfo
- Fixes the evaluation screen not showing up for GP
credits
Fixes two bugs:
- Attract mode carrying over to gameplay if an attract
demo is allowed to finish without interrupting it
- Credits ending after the first replay ends
- This was causing Aquatic Cathedral and Aqua Tunnel staff
replays to get confused for one another
- Because for both RR_AQUATICCATHEDRAL and
RR_AQUATUNNEL, the first 8 chars are RR_AQUAT
- Now uses the lump id directly instead of the name, which
entirely circumvents the problem
- Fixed:
- Time Attack menu "Replay Staff" option
- Attract mode
- Credits
- Remove CV_NOSHOWHELP, so the config file can load
- Do not stealth set the cvar, so it is not dependent on
order of operations of config loading and challenge
loading