Commit graph

17111 commits

Author SHA1 Message Date
toaster
d039b14aa4 Make kickstartaccel a UINT8 instead of an INT32 kartstuff entry. 2021-02-21 18:08:04 +00:00
toaster
f71741f557 MT_BRAKEDRIFT appears to be broken, and self-removing if BT_ACCELERATE ISN'T there, as opposed to if it is as the comment suggests. Fix that here. 2021-02-21 16:58:37 +00:00
toaster
b49e44bd97 Bots will now pretend their imaginary accelerate buttons are real, just so PF_ACCELDOWN is properly tracked. 2021-02-21 16:56:16 +00:00
toaster
08d087c6b5 Acceleration Kickstart, my little hobby project.
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.
2021-02-20 23:10:18 +00:00
Sal
5ee4680c04 Merge branch 'skyswapping' into 'master'
Fixed Change Sky linedef type crashing the game (resolves #118)

Closes #118

See merge request KartKrew/Kart!387
2021-02-18 18:55:31 -05:00
Sal
e6a0ff727c Merge branch 'typing-notifier' into 'master'
Typing Indicator

See merge request KartKrew/Kart!389
2021-02-18 18:34:00 -05:00
Sal
cd57c0fefc Merge branch 'oop-starttime' into 'master'
"starttime" order of operations

See merge request KartKrew/Kart!374
2021-02-18 18:33:47 -05:00
Sal
8853a4b8e3 Merge branch 'jumping-finish-line-distance' into 'master'
Finish line waypoint issues

See merge request KartKrew/Kart!384
2021-02-18 18:23:08 -05:00
Sal
bf77c826cc Merge branch 'tweakmaps' into 'master'
Tweakmaps!

See merge request KartKrew/Kart!391
2021-02-18 18:18:36 -05:00
Sal
db46507b81 Merge branch 'respawnstuff' into 'master'
Respawning, FAULTing and spectators

Closes #108

See merge request KartKrew/Kart!392
2021-02-18 18:15:27 -05:00
Sal
5d431dbb2c Merge branch 'firstpersonhitlag' into 'master'
First-person view hitlag

See merge request KartKrew/Kart!393
2021-02-18 18:10:47 -05:00
Sal
5651dc2623 Merge branch 'respawn-before-finish-line' into 'jumping-finish-line-distance'
Respawn before finish line waypoint

See merge request KartKrew/Kart!386
2021-02-18 18:09:24 -05:00
Sal
3ea8e23337 Merge branch 'ring-burst-reverse-gravity' into 'master'
Fix caltrop dropping in reverse gravity as well as not disappearing under some slope conditions

See merge request KartKrew/Kart!388
2021-02-18 18:07:47 -05:00
toaster
34ebcdf696 Hitlag is now displayed in first-person view. 2021-02-18 13:23:44 +00:00
toaster
5310acc84e * As predicted, remove FAULTing from simply becoming a spectator at the start of the race - only apply it if you attempt to rejoin!
* Mark FAULTing players as in pain, preventing you from using your rings in mid-air (which is especially egregrious when re-entering the race from being a spectator uses the item button).
2021-02-18 11:11:50 +00:00
toaster
2ec943a214 Several changes to respawning and race start.
* Becoming a spectator is now instant, and leaves no bumpable corpse behind.
* Players will now FAULT if they:
    * change from a spectator into a player after the initial camera turnaround but before the end of POSITION.
    * touch an instant kill FOF or get crushed during POSITION.
    * become a spectator during POSITION. (I might change this later, seems overkill)
* If you respawn during POSITION, the jingle will not restart from the beginning.
* Change the FAULT animation to match spinout/currents.
* Clean up some of the spawning code to not place spectators on the ground.
2021-02-17 21:48:09 +00:00
toaster
7fb44bdb02 Tweakmaps!
Literally identical to Encore remapping, but *only applied when Encore mode is OFF*. Long-requested by Oni, and allows you to reuse textures and skies from other stages without having to duplicate them in different colours.
2021-02-17 10:21:58 +00:00
Sal
1858811fbc Merge branch 'opengl-encore-screeninvert' into 'master'
Invert the screen for encore circle transition in OpenGL

See merge request KartKrew/Kart!390
2021-02-16 20:04:26 -05:00
James R
a3c72c0158 Speed up the cycle if typing quickly 2021-02-16 14:50:00 -08:00
James R
62ca621827 Handle typing dot y offset in lump
One less thing to do in the code.
2021-02-16 13:03:36 -08:00
James R
34744b03b1 Nevermind the part about making the first dot end sooner, might be a bird moment 2021-02-16 12:08:47 -08:00
James R
46e4d5c8ee Add typing_timer and typing_duration to netsave 2021-02-16 11:03:19 -08:00
James R
8f9d9d783b Adjust dot timing to look a bit nicer
* The cycle always ends on two dots.
* The second dot gets drawn slightly sooner after a wrap.
2021-02-16 10:59:36 -08:00
James R
196d310052 Sacrifice fun for readability :( 2021-02-16 10:48:24 -08:00
Sryder
0d43c3e3ad Invert the screen for encore circle transition in OpenGL 2021-02-16 18:26:45 +00:00
James R
56dc373f76 n 2021-02-16 10:17:00 -08:00
James R
dd5223f4d7 Draw an icon above players when they are typing in chat or console
A little speech bubble is drawn, with dots cycling as they type.
No typing = no dots.
2021-02-16 09:24:22 -08:00
toaster
4efd1fdc8c minor typo 2021-02-16 17:16:22 +00:00
toaster
ac0e291db6 Fixed Change Sky linedef type crashing the game.
It was changed during v2 indev to operate off textures supplied rather than offsets. Unfortunately, she didn't bank on the 2.2 merge making it so that only linedefs of specific types would generate the necessary `->text` string from their texture fields. This branch corrects that issue, along with a bonus null-avoidance in P_SetupLevelSky just in case someone messes up the source linedef.
2021-02-16 17:08:49 +00:00
James R
3ac803be76 Merge branch 'mirrorfixes' into 'master'
Mirror fixes

See merge request KartKrew/Kart!385
2021-02-16 11:33:13 -05:00
James R
465bc55219 Merge branch 'caltropcalstop' into 'master'
Caltrop calstop (resolves #114)

Closes #114

See merge request KartKrew/Kart!381
2021-02-16 11:31:51 -05:00
toaster
4052e01f4a Introduce a sequence of macros to reduce the reliance of Colormap-related code (especially but not limited to Encore mode) on magic numbers. 2021-02-16 14:34:00 +00:00
James R
49bbdd537b Move the debt spike fuse initialization from P_ZMovement to P_MobjThinker
slopes + upward momentum = no upward momentum haha
2021-02-16 04:43:20 -08:00
James R
81d162d19c Add some helper functions for objects in reverse gravity 2021-02-16 04:42:27 -08:00
James R
0cf41dade0 Improve P_SpawnMobjFromMobj by factoring the scale from P_SpawnMobj in
This will copy the parent object's scale to the child, but scale it by the
child's original scale relative to the map scale. Also uses the child's actual
height, instead of the mobjinfo version. Might be useful if either the scale
or height was changed in P_SpawnMobj. Say, from a Lua hook.
2021-02-16 03:55:37 -08:00
James R
b77a67c085 Fix caltrop burst in reverse gravity; condense function
I'm not sure how the rings were working though.
2021-02-16 03:54:09 -08:00
James R
9fae8dbb41 Don't respawn on the finish line waypoint
This causes you to respawn at the waypoint before the finish line waypoint,
which I think looks a bit nicer.
2021-02-15 23:17:55 -08:00
James R
130e1fc4f9 Windows??? 2021-02-15 23:12:30 -08:00
James R
82718216cc Respawn slightly before a waypoint, in the direction you came from, if the waypoint is exactly on a line
See notably the finish line. Basically respawning exactly on a line can let you
cross it twice, if you crossed it before respawning, or NOT cross it, depending
on which direction you drive after landing. So this just respawns very slightly
before the line so you can cross (or not cross) it normally.
2021-02-15 23:01:13 -08:00
toaster
f40836dcec Fix skies not being Encore-remapped (only affected software :regret:) 2021-02-15 21:55:40 +00:00
toaster
a597d9b463 Fixed a too-small memory allocation for Encore remaps, removing all memory-related crashes in Software. 2021-02-15 16:37:37 +00:00
toaster
8a4542a5ef Reintroduce the mirroring aspect of Encore in OpenGL. I'm not familiar enough with the renderer to recreate the rest of the changes at current, but this is the most significant regression. 2021-02-15 12:26:22 +00:00
toaster
a210049839 Attempt to calculate postimg during chasecam hitlag - otherwise encore mode will temporarily flip back and it'll be confusing. 2021-02-15 11:43:45 +00:00
James R
4f96fead3a Search entire map, not just waypoint's sector, for finish line 2021-02-15 01:46:29 -08:00
James R
29d9bafb9e Snap finish line waypoints to the nearest point of the finish line
Finish line waypoints must be exactly on the finish line to avoid erroneous
finish line distance from crossing the waypoint before/after the line. This
is only a problem in circuit maps and on laps before the last, due to the
multiplied circuit length.
2021-02-14 23:04:17 -08:00
James R
b4eefec81d Fix angle issue with finish line waypoint hack
The other hack which adds distance is also gone. It's not needed for
...reasons. All this was Sal's massive brain.
2021-02-14 22:56:36 -08:00
James R
b672ffa8ba Check previously considered best waypoint when pathfinding to solve overlapping waypoints
Previously could skip the waypoint that was actually closer and assume the
further is the best.
2021-02-14 22:55:03 -08:00
Sal
e11f4ed167 Merge branch 'purplepussyfooting' into 'master'
Resolves #87 after literally 7 months

Closes #87

See merge request KartKrew/Kart!382
2021-02-14 21:18:28 -05:00
Sal
ea2223abe6 Merge branch 'once-in-battle' into 'master'
Don't disable linedef executors other than 308 outside of Race

See merge request KartKrew/Kart!380
2021-02-14 21:13:51 -05:00
Sal
8cb676b0a1 Merge branch 'bigger-signpost' into 'master'
Beeg Large Signpost

See merge request KartKrew/Kart!383
2021-02-14 21:13:10 -05:00