- Solid objects have new bouncing physics, it's a mix of the object bumping and wall bumping. It replaces the "solid" option on K_KartBouncing.
- Goomba stomp momentum is decided in K_KartBouncing itself instead of needing to be manually passed in as a boolean, so you'll be able to goomba stomp all objects instead of just players.
- Fixed bumping not carrying all of its intended momentum, due to a bug making friction apply very strongly.
They will no longer do it on a whim after getting bumped out of position of hitting walls, instead checks if they're trying to accelerate and they physically can't.
Values are subject to tweaking.
(AngleDelta stuff is a leftover of the previous attempt, but I think the code's useful so I kept it in this commit anyway)
All my work thus far on solving the drawflag/renderflag/additive/subtractive conundrum.
Outstandng problems:
* Bad additive/subtractive tables means that they appear opaque except under certain conditions.
* No support for FOFs, Polyobjects, or linedefs in OpenGL yet.
* All OpenGL support mostly done blind, may or may not function in practice.
If nothing else, the hard engineering problems are solved and it's just bug hammering...
* Introducing K_GetKartButtons(player_t), for adding false presses to.
* K_GetForwardMove(player_t) takes kickstarting into account, and is now applied to engine sound generation too.
* BT_REALACCELERATE has been deleted.
The old condition for player movement was...
1. player hasn't finished
2. player not in pain, or player in pain but on the ground
The else condition to this is therefore player has finished or player in pain
and in the air.
I believe K_MomentumToFacing (prior to bots) was only for letting the player
turn around after crossing the finish line, to face the camera.
(K_MomentumToFacing also does nothing in the air.)
- Fixed the bugs with them in our last netgame
- Karma bombs are no longer slippery or have stat changes
- Karma bombs cannot pick up spheres. Their remaining spheres before they died are removed 1 per tic.
- Karma bombs are out of the game permanently when touching the overtime barrier
- When successfully hurting another player, instead of getting 0.5 bumpers, they steal ALL of the opponent's bumpers, effectively swapping places with them. One bumper is lost in the process, meaning bumpers are slowly flitered out the more people need to come back.
- Removed karma items/eggboxes... hopefully this is temporary and we can bring them back later, but currently we don't have a design for how they should work under the new rules :x. They are still in the code behind the `OTHERKARMAMODES` define
- Bumpers & comeback timer are now player_t variables instead of kartstuff shit
- eliminated boolean on player_t for checking when a player touched the barrier
Kart's manual player friction adjustments were being called after movefactor was reset, meaning friction changed but movefactor was default, essentially creating old 2.1 friction again