Controls bot behavior while they're touching a tagged sector.
X texture offset is angle to force the bot in (0 is east, 90 is north, 180 is west, 270 is south)
Y texture offset is trick type -- if a bot enters the sector while in trick panel state, then they'll do the input for the trick. Without the effect present, they'll do nothing and eventually tumble.
Y offset 1 does a left trick, 2 is right, 3 is forward, 4 is back/up.
Was a long time coming :V
Nev3r's supported different FOV. I also expanded it to let it support splitscreen's different screen sizes in a better fashion than the old method of just dividing the final coordinates.
The results are also stored in a struct, instead of modifying passed in variables, so it's also less dunderheaded than what I was doing before overall.
Makes it consistent with the subtractive lighting I was working on... the big benefit is that no saturation is lost when blending to white or black.
Has a few maps this looks worse on, though.
I really hated that one of your controls would just... turn off while you were flashing. Even if there was a very good reason to not allow it (Funky Kong's Ring Racers™️).
So instead, you CAN spindash in flashing ticks... but you're punished so harshly for it that it's not worth it. Which will actually teach people to not do it more than just the input arbitrarily not working :p
While in the air: release accelerate while at nearly-still speeds, and you'll preform a minisucle air drift boost. This mechanic is meant to fix the long-standing issue where you can get stuck in 0 speed in the air and not be able to do anything.
Before, doing a spindash input while turning, but not being at a low enough speed, would make you start drifting.
Now, it checks if you're trying to E-Brake first before interpreting it as a drift input.
If you were already drifting, then attempting accel+brake will still be brake-drift, so that technique is unaffected.
Instead of figuring out where it should be every tick while it's visible, store where it'll be at the start of the map.
Also moved finish line beam into a new file, k_race.c/h, for any Race-specific code.
A few unused variables for sprint map support later too