Set a sidedef's midtexture to "TRIPWIRE" to turn that line
into a tripwire.
Players can't drive through a tripwire and will bounce
back at high speed if they're in one of the following
states:
1. Invincibility / Grow
2. Sneakers
3. Flame Shield dash
4. >200% on the speedometer
Hitting a tripwire plays a sound, sends you into hitlag,
then plays another sound when the hitlag is over. The
sounds used depend on whether you can drive through the
tripwire.
Makes a little easier to parse. I might have gone overboard but I really wanted to test my hunch if Ivo's issue was mostly the fact it jitters so hard :V
- Invert high contrast greyscale colorization effect for damage hitlag
- Jitter is now also exclusive to damage-related hitlag
- Since jitter is now just tied to a flag, removed the old trick momentum hack
- Added a hitlag cap of 18 frames (can be decreased to 12 if it's too much)
- Hitlag amount can't be reduced, only increased
- Hitlag added is the same between both objects, instead of being different between the two
- Objects in hitlag can be interacted with again with TryMove (I was too nervous of it but it's fine in Snap lol)
- Rebalanced the damage hitlag lengths to make it feel relatively the same with all of the above considered
- 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.