- Cross a finish line so your lap goes forward and your
waypoints update ahead of the line
- Turn around to face the opposite direction
- Do this on a map where the lap cheat timer activates
when you turn around
- Drive a little way backward and make sure the lap cheat
timer keeps going
- Activate Ring Shooter and start lightsnaking
- Immediately spectate and then rejoin
- The lightsnake would send you ahead of the finish line
and give you an extra lap
Fix Time Attack crash if you let the map exit without manually returning to the menu, then start another Time Attack
See merge request KartKrew/Kart!2073
- Fixes a very specific crash
- Record a Time Attack
- Let the map exit naturally
- I tested by FALLING OUT of a Sealed Star
- Start recording another Time Attack
- I tested by going to the same map again
- Result
- One of three possibilities
- Z_Free: wrong id
- SIGSEGV
- Game freezes and hangs forever
- I also wrote detailed comments in M_EndModeAttackRun so
you know what it's supposed to be doing
UFO Catcher Tripwire Boost damage, and slow down the player less after hitting it with a boost while waterskiing
Closes#619
See merge request KartKrew/Kart!2074
- Do not send the player backward, simply reduce their
forward momentum
- Below 67%, divide speed by 4
- Above 67%, remove a flat 50% top speed
- The goal here is to basically stop the player at low
speeds, like it did before, but cut a smaller amount at
high speeds so players can remain water skiing after
a highly boosted collision
- Permit saving "this map has been beaten" for the Tutorial Challenge map if you conquered it
- This was previously short circuited because it wasn't a dedicated course
- Only trigger an extra UpdateUnlockablesAndExtraEmblems check if you haven't yet completed it
The original purpose was to make using the map command allow for multiple tries, ala standard console testing, but the condition was way too permissive and was promoting all esoteric map overrides to undue importance for the end of the Cup's evaluation.
- Don't assume that the first Round in a Cup defines the default gametype for it
- Now consistently uses GT_RACE
- It was written this way to try and permit non-Race cups in future...
- But there are much more solid ways to approach this down the line, instead of overloading this pre-existing data.
- cup-select.c: Don't assume `roundqueue.position == 1` means starting a fresh Cup from scratch
- G_HandleSaveLevel: Allow saving GP backups for overridden Courses at the front of the roundqueue
If a stage is taken out of the running for Grand Prix mode and replaced with another, the rank data wasn't corrected. We were merely getting lucky that the one Round Star regularly accessible had the same number of laps as the course it replaced.
Now, Laps, Rings, and Prisons can be adjusted up or down depending on the number of each element you're expected to have with a perfect GP tally.
Related: To make it more friendly to call in multiple places, RankCapsules_CountFromMap has now been adjusted to take a course ID instead of a virtres_t.
- Simplest possible solution for the time remaining: If the current gametype doesn't overlap with the nextmapoverride's TOL, do G_GuessGametypeByTOL.
- Future work: Allow an optional extra parameter to MapWarp to specify a specific Gametype by name.
- Fixes for tutorialchallenge
- NEXTMAP_TUTORIALCHALLENGE is integrated into the above, to reduce duplicate code
- Call D_GametypeChanged, which was previously missing