- Most R_SkinAvailable calls should be returning index into demo.skinlist (same numerical value as when demo was recorded), for demo sync
- A handful of general things permit exception for this
- Expose `replaynumskins` (calculated as `(demo.playback ? demo.numskins : numskins)`) to Lua
- There's *always* more that can be done for this, but this is the minimum spec that can at least be somewhat stable
This fixes lightsnaking through a finish line on sprint
maps not giving you a lap.
- On circuit maps, lightsnake stops at the finish line
waypoint (there's only one finish line)
- On sprint maps, there are multiple finish lines but you
can't have multiple finish line waypoints, therefore
lightsnake goes right through
- So we have to make sure the player can cross a finish
line while in lightsnake to account for this
- Because lightsnake sends you back to the respawn
waypoint in a straight line, it may inadvertently cross
a finish line and remove a lap
- So here's the change: the player should no-clip through
the finish line ONLY while traveling back to the first
waypoint
- Because after that, lightsnake follows the map's
waypoints and is intentionally crossing sprint maps'
finish lines
- The goal here is to make it more obvious if a CD drops,
and make the CD more visible.
- Rainbow sparkles scaled up by x3.
- Play long "powering down" noise when a Prison with a CD
inside is destroyed.
- CD spawns after noise stops playing.
- Spawn a twinkle (Gainax).
- Flickers while "powering down" noise is playing.
- Enlarges and disappears in sync with the "CD dropped"
sound effect.
- Darken the map while all of this is happening.
- 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
- All inputs create input events that get stored in a very
small buffer
- Normally, the game listens for some inputs and then
immediately processes them and updates the button state
in-game
- However, during wipes the processing step would not
happen and it would just let the events pile up
- Because the buffer is small though, it would quickly
fill up and lose some events
- This would lead to button states getting stuck on some
controllers if you released a button during a wipe
- If you spun an analog stick around, this would cause
it to happen more frequently, because there is a new
event for every slight change of an analog stick's
position