- Moved respawn code to its own file
- Reorganized a lot of the code related to respawning
- As a result of the massive reorganization, I squashed several bugs. Most notably: mid-game joiners having weird spawns, being able to skip laps by respawning.
- Respawn lightsnake no longer takes you straight to your nextwaypoint -- it now has a minimum distance forward that it tries to put you at when you respawn.
* Laps now have an initial zero instead of being directly indexed from 1, so start counting from there.
* Clean up the circumstances under which LAGLESS! is shown next to a name - specifically removing it from both non-netgames in general, and bots in netgames.
* Fix `(powertype == -1)` being broken on the intermission drawer, which was especially obvious with bots outside of netgames.
Use "tire spinning" animations when you're moving on the ground and/or holding accelerate!
The two cases that are changed are:
- If you're in the air and not pressing accelerate, your tires won't spin anymore.
- If you're on the ground, but not moving, but you're still pressing accelerate, they will spin in place. (right now only happens for start boosting, later it will be for spindashing)
Isn't really a tell for anything, just thought it'd be fun attention to detail :)
Additionally, we can use drift frames in the air. Just makes sense because we have air sparks now.
- Add unique frames for inward and outward drifting.
- Increase the speed threshold required to reach your "fast driving" frames.
- Use slow driving frames when you're slowing down, even if you're techincally above the fast speed threshold.
- Use frameangle to smooth out the transition into drifting, instead of having "pre-turned" drift frames.
- Cleans up multiple FixedMul instances, ensuring only fixed_t numbers are ever passed in.
- Prevents speed values from overflowing by giving it a maximum. This both gives you more control when moving above 200% top speed, and fixes the bug which corrupted your turn inputs (turning wrong direction, turning without pressing anything, etc) when moving too fast.
- Bots can roll & use eggboxes now
- Bots can be "tricked" by eggboxes and treat them like normal items, depending on their difficulty and how many normal items are around them.
- If exploding and in 1st place, they'll slow down to try and find someone to explode next to.
- Item usage is difficulty dependent, and thus far more aggressive for the rivals