Pretty much just copy+pasted from Snap the Sentinel!!
- Hold left/right to adjust the momentum angle after hitlag, up to 22.5 degrees. (Only angle can be adjusted, so you can't adjust your speed, only your direction.)
- It's relative to your angle, so sometimes you need to use forward/back, or even diagonals (forward/back throws now store full analog data for this to work)
- Bananas flip DI direction, to make them not baby easy mode
- Tumble has x3 DI (so angle adjustments of 67.5!!), and hitlag on each bounce to allow even more control.
* Fix majority of Battle resyncs.
* Change how Paperitem spawners work. Instead of rerolling the RNG if a map spot is already used, maintain a list of available spots...
* Correct over-the-network type of player->spheredigestion.
* Remove the condition that prevented the spheres' spawnpoints from being sent over the network, which meant they were only respawning on the host's end...
* Fix itemroulette on Battle playerarrow. (Rarely seen these days but still possible to observe as spectator for Break the Targets)
* Change draw order of Position Faces and Tab Rankings to allow for players' numbers to draw on top of the big out-of-bumpers X.
HUD:
* Miniaturised Spheres and Emeralds HUD for 3P/4P.
* Repair 3P minimap.
* Move accessibility icons in 3P/4P to next to the lap/bumper sticker (currently only kickstartaccel exists)
* Change language on menu retry to be more generalised.
* Adjust HUD code structuring a bit.
MECHANICAL:
* Now correctly set number of bumpers in Break the Capsules to 1 (from 3).
* The above required reworking K_SpawnBattleCapsules into K_BattleInit, which is a good staging ground to handle more battle-specific setup in future.
* Do not spawn Emeralds or Sphereboxes in Break the Capsules.
* If everyone is WANTED... nobody is.
* Try to handle exceptions to timelimits a little more thoroughly (still not perfect).
* Disable pointlimits in bosses.
* Prevent a player that is moving upwards from being DMG_TUMBLE'd again (resolves#212).
* Instead of having a special case for missiles there, make PIT_CheckThing toggle DMG_WOMBO instead.
* Allow hard hits (DMG_TUMBLE, DMG_EXPLODE, and DMG_KARMA) to have combos toggled off with DMG_WOMBO, too.
They look like random item boxes (the ones in Race) but
have a blue sphere inside of them. One box is worth 10
blue spheres. More boxes spawn during Overtime.
New sprite: SBOX
- 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
* Hold lookback to create a tiny twinkle in your eye.
* If an opponent is behind you, that sparkle is pretty big and plays a cool animation.
* If an opponent is behind you and you have an item, initiate the Chengi Gleam.
* These sparkles are only visible for every player except you. (Currently even with hyuu ghostliness)
- Restructured some item capsule code to reduce thinker density and allow the item capsule parts to think after the capsule
- Super Ring capsules are now semibright
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...
I could've used the existing `boolean force` here to skip over the check, but I think the MF_SHOOTABLE check is appropriate, and the DMG_CANTHURTSELF flag will be respected this way too.
Also, clean up a ridiculously long statement.
* `k_spinouttype` will never have the value of 2. This might've been a check for KSPIN_IFRAMES, but
* that already controls `pw_flashing` earlier in the check
* completely unlabeled, so it's nonsense that needs to be stripped
* `k_squishedtimer` wa mou shinderu.
It's no secret that holding down a button a lot can fuck with your wrists and fingers. It's too late for me to be damageless, but I can at least create an option to reduce further harm.
This accessibility feature, when enabled (kickstartaccel and kickstartaccel2/3/4 in the console) behaves with the following properties:
* Hold accelerate for 1 second to lock it down.
* Press again to release.
* Short holds/presses do nothing (good for POSITION).
* Continue holding it during the releasing press to re-lock it.
* A small triangular UI element is added next to the speedometer sticker, which displays the current state of the acceleration kickstart for visual feedback. (NO SPLITS SUPPORT YET)
In addition:
* Add PF_ACCELDOWN and PF_BRAKEDOWN, and BT_REALACCELERATE (which ACCELDOWN tracks). Even if this feature never gets merged, BT_REALACCELERATE is required because sneakers and boosters force it on too (extending this is how I implemented it).
* Fix the dehacked playerflag list being out of shape.
* I replaced some existing flags during development of this branch, so their old uses have been whittled away.