Commit graph

21058 commits

Author SHA1 Message Date
GenericHeroGuy
ef1489aa04 Cleanup, fix menu controls and keyboard 2025-03-10 15:06:52 +01:00
toaster
144e967ee5 Rework the entire G_PlayerInputAnalog system.
* Previous control checking flow:
    * Current controller/keyboard (userbound controls).
    * If on a menu:
        * Current controller/keyboard (default controls).
        * All controllers not in use by a player (default controls).
* New control checking flow:
    * Current controller/keyboard (userbound controls).
    * If player 0 and just checked a controller, check keyboard (userbound controls).
    * If on a menu:
        * Check all controllers not in use by a player (userbound controls).
        * If keys are inaccessible/unbound and keybind is necessary to navigate menus, repeat eveyrhting with default controls.
* Instead of duplicated code, control the flow in a finer fashion.
* Now able to detect if gamepad inputs are possible to recieve (via checking deviceID), instead of assuming they are.
* If a keybind is set but inaccessible by the above metric, make it flash on the Profile Controls screen.
* Fix out-of-order key mappings for a given bind being invisible on the Profile Controls menu.
2025-03-10 11:04:00 +01:00
NepDisk
bda7d26a0f Port basic lap anticheat for new waypoints from RR 2025-03-09 20:03:10 -04:00
NepDisk
58e243a20c Don't Do levelstart or Map Music in Titlemap 2025-03-09 11:22:00 -04:00
NepDisk
8ed52a3a9d G_Ticker fixes from RR
ab0094b8d0 95216563a6
2025-03-09 11:09:01 -04:00
NepDisk
033b65a70b Move Waypoint check code to P_DeathThink 2025-03-09 09:30:21 -04:00
NepDisk
da01a91852 Break from loop when valid target is found 2025-03-08 21:09:11 -05:00
NepDisk
7c65095671 yen 2025-03-08 15:40:30 -05:00
NepDisk
d7162bed71 implement safe guards for softlock respawns in New Waypoints
if you fail to respawn properly (die while respawning) you get placed at the next waypoint. Code was also adjusted so the next waypoint can't be the same as your current one if you are detected as going backwards, helps on turns that sometimes face you towards the previous waypoint. Respawning angle for both respawn fallbacks now gets the angle by comparing x and y of the current waypoint and next waypoint to guarntee you are facing the correct direction
2025-03-08 15:37:14 -05:00
NepDisk
dfab6cc945 Add customcutscene to F_BlanStartCredits 2025-03-08 13:03:56 -05:00
NepDisk
8ee3624b27 Fix kart credits crash 2025-03-08 11:39:57 -05:00
NepDisk
94b8c815bd specfiy which is which 2025-03-08 11:05:51 -05:00
NepDisk
195c21c659 Add back missing titlescreen sound 2025-03-08 11:03:37 -05:00
NepDisk
b9ad30c9e2 Add BlanKart Credits and append new scene to intro 2025-03-08 11:00:54 -05:00
NepDisk
8df4f4966b Fix goof in turn check 2025-03-07 20:32:14 -05:00
Sally Coolatta
a0348420f7 Fix menu multiplayer breaking again 2025-03-08 01:00:57 +01:00
Sally Coolatta
a934e09b0c Properly implement joystick axes
NOW it's fully navigable with controller
2025-03-08 01:00:56 +01:00
Sally Coolatta
9b3067a7a2 Fix control saving 2025-03-08 00:56:53 +01:00
Sally Coolatta
11bd4c453e Almost multiplayer char select
For some reason gamepads have not been registering buttons for a while, which makes this pretty hard to continue. Not sure if it's to do with how the menu cmd is generated, or something deeper in the SDL code.
2025-03-08 00:21:37 +01:00
Sally Coolatta
0a98ca63ab 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.

(G: finally, a commit that mostly survived... deviceResponding is useless
    for us right now but might as well keep it. maybe easier assignment on
    the multiplayer setup menu in the future?)
2025-03-07 23:44:59 +01:00
NepDisk
65f992fda8 Oops 2025-03-07 17:33:31 -05:00
NepDisk
fbb7335011 Revert "Fix Bubble Shield duplicate collisions"
This doesn't really apply to us since we don't have hitlag and it causes problems.

This reverts commit b048467aa2.
2025-03-07 17:30:53 -05:00
GenericHeroGuy
d286ff3bdf Ok, get this outta here already 2025-03-07 22:47:50 +01:00
NepDisk
b4b9a250d4 Merge branch 'blankart-dev' into newinput 2025-03-07 12:56:51 -05:00
GenericHeroGuy
84850ba8a3 Update input handling in menus to use key bindings (port-ish of f17b9484)
G_GetControlForKey -> G_ControlBoundToKey, to make it usable everywhere
2025-03-07 18:12:59 +01:00
NepDisk
bdbfeaf1ac More uses K_GetKartButtons 2025-03-07 12:12:52 -05:00
NepDisk
ec6a3d2716 Small turn code refactor 2025-03-07 11:50:10 -05:00
GenericHeroGuy
7740b0dccd Add back joywait
For some reason I thought this didn't do anything kek
2025-03-07 13:11:42 +01:00
GenericHeroGuy
26ca5be4e0 Fix replay freecam by reusing G_BuildTiccmd 2025-03-07 01:39:10 +01:00
GenericHeroGuy
f419ccee57 New input handling (port of cd8862f0)
More or less a port with gamecontrols left untouched.

Some notable differences:
* ev_joystick now has a separate data1 for each axis, rather than having you
  check which of data2/3 is INT32_MAX and which one isn't
  (pissed me off when updating menu code...)
* Gutted the 1.6 upgrade code, since we're not upgrading from anything :P
* G_GetControlForKey, a helper for menu code
* Turn smoothing code left unused as a reminder to fix it
* Various small fixes so this commit is playable and doesn't segfault

Menu changes:
* Max 4 binds, joystick axes are now bindable like any other button
* The gamepad options submenu has been replaced by its two remaining options
  after the removal of axis cvars (gamepad select and deadzone)

See cd8862f0's message for more details
2025-03-07 00:05:35 +01:00
NepDisk
3e68d31e63 Drop droptarget a point in odds 2025-03-06 13:12:35 -05:00
GenericHeroGuy
403f7edc85 Don't run A_RockSpawn with zero tics in Kart maps 2025-03-05 01:09:49 +01:00
NepDisk
0a0c468ac3 Fix Distribution debugger 2025-03-04 16:01:39 -05:00
NepDisk
a63c301dea Remove flameshield turn buff for drifitng 2025-03-04 15:41:12 -05:00
Indev
5a0303d649 Only add command to history if it differs from previous one 2025-03-04 15:14:23 -05:00
NepDisk
5b2bf450c0 Adjust Airfailsafe conditions 2025-03-04 07:53:40 -05:00
GenericHeroGuy
41f2bbcb1e Okay, let's not break UDMF speedpads
Change binary conversion to 2.2 behavior, but ignore it and use
linedef length directly for kart maps
2025-03-04 01:57:03 +01:00
GenericHeroGuy
6fdfeb42a0 Store speed pad speed with full precision 2025-03-04 01:07:57 +01:00
GenericHeroGuy
918c9ec0a1 Fix P_ButteredSlope's wrong behavior 2025-03-04 01:03:31 +01:00
NepDisk
47d921a532 Fix kartstuff in stats 2025-03-03 16:52:16 -05:00
GenericHeroGuy
2aa52a15b6 Revert P_CheckPosition's MF_NOCLIP behavior
Seems to have been unintenionally yoinked in 122b2696,
and it causes an obnoxious amount of lag for grindrails
2025-03-03 22:26:07 +01:00
GenericHeroGuy
8a51847fb1 Y'know what? Just make these functions one-based, sheesh 2025-03-03 21:18:07 +01:00
NepDisk
037a75df08 Match is battle 2025-03-03 13:49:16 -05:00
NepDisk
96ce824155 Fix BT_FORWARD/BT_BACKWARD not being applied on sticks 2025-03-03 13:33:11 -05:00
GenericHeroGuy
1025ac59bd Translate MapLoad/MapChange and implicit gamemap argument 2025-03-03 19:03:36 +01:00
NepDisk
ec913108b9 Restore old offroad behaviour 2025-03-03 12:49:45 -05:00
NepDisk
678ce10475 Fix some P_AllowMobjSpawn conditions 2025-03-03 08:30:36 -05:00
GenericHeroGuy
ec279abe4a And finally... break some more limits
Good luck to whoever wants to deal with the raw texture numbers in
that Liminal Landscape HUD hook that changes sidedef textures
(I had no idea that was even possible...)
2025-03-03 02:39:53 +01:00
GenericHeroGuy
5259bab788 'Fix' Mauro Mania static effect (by shuffling video flags) 2025-03-03 02:29:50 +01:00
GenericHeroGuy
ebea1395d4 Map number compatmode 2025-03-03 01:28:51 +01:00