Commit graph

1442 commits

Author SHA1 Message Date
toaster
8de92e8dca Merge branch 'master' into boss
# Conflicts:
#	src/k_bot.c
2022-03-17 16:58:42 +00:00
toaster
6e7adedaa0 Make the Kart TICQUEUE system closer to the 2.2 BACKUPTICS system.
* Rename TICQUEUE to BACKUPTICS.
* Add CLIENTBACKUPTICS to limit the time gap players can send tics in at once
    * This likely means freezes are more possible, and this variable could be raised later, but prevents some potential duplication in the extrapolerated tic.
2022-03-14 19:24:07 +00:00
toaster
fcb6a4e1ab Disable the vanilla-sourced "keepbody" (rejointimeout) feature. 2022-03-14 16:33:03 +00:00
toaster
31db72256d Merge branch 'master' into boss
# Conflicts:
#	src/y_inter.c
2022-03-12 19:24:23 +00:00
toaster
3ddebabfa9 Fix a followers invalid memory crash (discovered in this branch but likely existed beforehand). 2022-03-07 01:37:58 +00:00
toaster
f518ae5c58 * Fix some music and visual bugs with dying in Battle at the conclusion of the round.
* Fix emeralds HUD overlapping minimap in 2P splits.
2022-03-06 18:19:28 +00:00
toaster
4a2efd3000 Fix a few basic mistakes.
* Don't forcibly go to a race map if you're exiting a boss and would otherwise return to the title screen.
* Yes, there are four basc TOL's now, not three.
* Title card string for ZONE should be right aligned.
2022-02-27 17:07:56 +00:00
toaster
c1f3237157 Boss API + assorted relevant bugfixes, will go over the featureset of this branch with a fine toothed comb when it's time to write the merge request description so this is all you're getting right now 2022-02-24 21:19:03 +00:00
toaster
2df53dd5a5 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart.git into votefree 2022-01-23 22:46:11 +00:00
toaster
28ee382587 ok this was supposed to be here 2022-01-23 20:40:59 +00:00
toaster
8c3fad058d * Fix the Z_Free double-free issue (in two different ways, one ifdef'd out) that can sometimes occur on the vote screen.
* Fix a technically invalid read in D_SetupVote.
* If the third map on the voting screen has a different gametype, don't interact with the buffer.
* Fix the inttime 0 setting, since I was in y_inter.c and testing quick map changes.
2022-01-23 20:33:27 +00:00
Sally Coolatta
c606e1e96b Force shrink can be toggled individually online
In preparation for a "make yourself small by default" cheat on the char select like SMK.
2022-01-09 04:08:26 -05:00
Sally Coolatta
7533472799 Less Karma Bomb CBT
- Karma delay is 3sec instead of 10sec
- Karma delay is only used for initially changing into a bomb
2022-01-05 03:46:19 -05:00
toaster
b716e142a8 Some fixes for bad player info on joining servers.
* Don't overwrite the first player's name when joining with multiple local splitscreen players. (resolves #151)
* The defaults for unprovided names are now consistently "Player A/B/C/D" as opposed to some being letter-based and some being number-based.
* Send local player info once per local splitscreen player, rather than n^2 times (where n is the number of local splitscreen players).
* Since the packet *requires* four names to be sent every time you join a server, send dummy names for local splitscreen players who aren't connecting, instead of your actual cvars (no data leakage you didn't ask for!)
2021-11-30 21:24:00 +00:00
Sal
a326e180ca Merge branch 'replayfixes' into 'master'
Replay fixes mark whatever

See merge request KartKrew/Kart!463
2021-11-30 02:28:57 +00:00
Eidolon
1550210188 Implement interpolation at the renderer level
Instead of interpolating thinkers, we interpolate mobjs inside the
renderer. Further interpolation is TBI.
2021-11-29 06:43:46 -05:00
toaster
3141ca0221 Replay fixes mark whatever
Not a pancaea for EVERYTHING, just a bunch of good stuff.

* Some issues with spectators not == true because the assignment wasn't casted.
* Netgame status (or rather its inverse) is recorded in netreplays now, to allow for power levels controlling spawn position.
* Fixed tally screen for replays to not scream infinitely at you.
* P_IsLocalPlayer now uses display players in replays.
* A bunch of good testing prints that helped me find these problems, commented out for now just in case we need them again soonish.
2021-11-28 20:03:49 +00:00
James R
8e20ca4c04 TRIPWIRE
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.
2021-11-28 03:03:43 -08:00
James R
059058476e Elimination timer for karma bombs during overtime
Every hit on another player while you are alive awards you
five seconds of karma bomb time during overtime. When this
timer is empty, you will DIE.
2021-11-26 21:55:32 -08:00
Latapostrophe
f559f24c07 Encore support, gif fix and slight optimization 2021-05-02 11:38:33 +02:00
Latapostrophe
f2f0a6cbe2 New titlecards 2021-04-30 18:11:36 +02:00
Sally Coolatta
e5d899412c FIX PARTIES 2021-04-23 03:53:35 -04:00
Sally Coolatta
dcee9269dd FLAGS IS NOT LATENCY
UH OH STINKY COPY PASTE!!!!
2021-04-21 20:51:57 -04:00
toaster
00972a83d2 remove the prefix since everything seems to function 2021-04-17 11:30:08 +01:00
toaster
b3d006b093 structs gunched 2021-04-17 00:27:13 +01:00
Sally Coolatta
72dc88c043 Attempt at a non-controller dependent compromise for turn easing
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)
2021-04-05 23:52:56 -04:00
Sally Coolatta
8bb1fa57d4 Merge branch 'master' into 22-merge-again 2021-04-05 01:11:26 -04:00
toaster
40cbc30bff Mammoth commit, sorry.
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...
2021-03-31 22:46:23 +01:00
Sally Coolatta
0a10396c84 Spindash shortcut button 2021-03-09 17:28:20 -05:00
Sryder
8344ac3489 Actually just get rid of seenplayer and NAMECHECK altogether. 2021-03-03 18:03:41 +00:00
Sally Coolatta
0be122189f Remove turn easing code
Vanilla holdover lots of people complain about & tbh just doesn't need to exist
2021-03-01 12:39:42 -05:00
Sally Coolatta
420a6ccccb Fix Dehacked loading 2021-02-28 22:39:47 -05:00
Sally Coolatta
9d7ec0ab8f Merge SRB2 next
Probably doesn't compile yet, but I got rid of all of the conflicts for anyone who wants to take a stab at it.
2021-02-27 05:18:36 -05:00
toaster
a43a762b46 Instead of hacking ticcmd generation, add/modify helper functions acting as intermediaries that add the necessary changes.
* 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.
2021-02-22 12:21:48 +00:00
toaster
d039b14aa4 Make kickstartaccel a UINT8 instead of an INT32 kartstuff entry. 2021-02-21 18:08:04 +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
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
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
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
LJ Sonic
85cd429d1d Revert "Replace all instances of P_AproxDistance with FixedHypot"
This reverts commit 498ff708bb.
2021-02-13 17:45:20 +01:00
Sally Coolatta
c4850c1990 Merge branch 'master' into oop-starttime 2021-02-12 20:28:45 -05:00
Sally Coolatta
e2dcc35bcd Reset properties on map load 2021-02-12 20:25:03 -05:00
James R
839d5fdd09 Title card is always available, regardless of level title
This had the really mean side effect of disabling lt_ticker, forcing anything
drawn with V_SLIDEIN to never appear (basically the entire hud).
2021-02-12 01:16:51 -08:00
LJ Sonic
70c0f8a644 Only call PlayerCmd hooks if added to game 2021-02-11 00:24:42 +01:00
Sally Coolatta
e2e342f3f7 Update panim for the new states 2021-02-03 19:29:13 -05:00
Sally Coolatta
d627da7510 Fix lap executors not happening, and also edit it so they act like Each Time rather than Once
Allows for simplified executor logic on Desert Palace and Chrome Gadget, possibly Egg Zeppelin too
2021-02-01 14:34:48 -05:00
LJ Sonic
05a75758ab Merge branch 'redundant-hypot' into 'next'
Replace P_AproxDistance with FixedHypot, and replace FixedHypot's algorithm with R_PointToDist2's

See merge request STJr/SRB2!1320
2021-01-25 18:08:25 -05:00
Sryder
f2b706aa2f Initialise y-axis for the deadzone function 2021-01-10 20:22:51 +00:00
Sryder
0be892ba0d Turn the aim axis into a digital one, as we only use it for throwing items and the vote screen
Turn axis still has the same deadzone handling as before, meaning it gradients away from the deadzone properly.
2021-01-09 12:09:00 +00:00