Commit graph

1609 commits

Author SHA1 Message Date
Sally Coolatta
e628894b47 Merge branch 'new-menus' into profiles 2021-12-25 06:09:53 -05:00
SinnamonLat
7c9f3385d4 Merge branch 'master' into new-menus 2021-12-17 12:32:01 +01:00
Sally Coolatta
d067c1ddef First pass on character select device select
Ultra mega hacked in, by saving all "discarded" joysticks to an array so they don't get totally closed & we can still poll them. Events now properly send the device number instead of the player number, which means we can store all controllers pressing buttons, and thus, can detect when ANY controller is pressing anything, and THUS we can make the character select work like we wanted to :V

Did not bother fixing any of the bugs, however. First of all, the opening menus do not properly fallback to default controls. Yet again, we may need a more robust system -- storing all keys from gamekeydown separately? Additionally it seems like when I input gamepad it makes me use keyboard anyway, so I think something fishy is up.
2021-12-06 17:43:52 -05:00
Sally Coolatta
7d0597d864 Merge branch 'master' into profiles 2021-12-04 15:46:28 -05:00
James R
a64263c96d Merge remote-tracking branch 'origin/master' into new-menus 2021-12-03 14:56:48 -08: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
Sally Coolatta
c66e85700b Merge branch 'master' into profiles 2021-11-29 10:32:14 -05: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
Sally Coolatta
cd8862f0bc New input handling
Events have a player ID instead of adding billions of keys for separate gamepads. Axis movement (mouse movement, analog sticks) now are counted as keys, so axes don't need to be separately implemented for all controls. Game controls emulate a Saturn controller (some of the external functions like screenshot / gif should be readded, but I got lazy)

This will allow later us to save a config for a controller that can be reused for any player slot, which is one of the main goals for profiles.

Only just enough was made to use the new input system to make it compile. Menus in this branch should aim to move to using PlayerInputDown entirely, instead of using hardcoded keys & simply remapping to those
2021-11-26 14:56:25 -05:00
toaster
b4af07ffed Merge branch 'master' into new-menus
# Conflicts:
#	src/d_main.c
#	src/dehacked.c
#	src/m_menu.c
#	src/v_video.c
#	src/y_inter.c
2021-10-18 01:18:37 +01: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
de1f67b72a Use strings in the map header for next level, marathon next, thumbnails, minimaps, encoremaps, and tweakmaps 2021-04-09 21:10:46 -04:00
Sally Coolatta
359cf86efb Merge branch 'master' into big-large-map-markers 2021-04-09 19:49:33 -04: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
Sally Coolatta
2af75a2bd1 Fix merge conflicts 2021-01-11 00:06:34 -05:00
Sally Coolatta
a14cf1f029 Merge branch 'master' into new-menus 2021-01-10 21:31:09 -05:00
Sryder
f2b706aa2f Initialise y-axis for the deadzone function 2021-01-10 20:22:51 +00:00
SteelT
29b5f38347 Merge branch 'master' into big-large-map-markers
# Conflicts:
#	src/d_netcmd.c
2021-01-09 15:52:34 -05: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