Commit graph

246 commits

Author SHA1 Message Date
wolfy852
f2e5de3043 Check joystick IDs against all other players [by Digiku]
Untested on my end, but conceptually sound.
2018-12-29 02:33:53 -06:00
wolfy852
650df71cfc Reorganize some of the code for SDL_JOYDEVICEADDED events 2018-12-28 14:20:28 -06:00
wolfy852
b5b9703b8b Make I_GetJoystickDeviceIndex account for controllers 3 and 4 2018-12-27 18:28:09 -06:00
wolfy852
f4d6a108d5 Merge remote-tracking branch 'remotes/SRB2/vanilla-hotplug-stableid' into gamepad-tweaks
# Conflicts:
#	src/command.c
#	src/command.h
#	src/g_game.c
#	src/m_menu.c
#	src/sdl/i_system.c
#	src/sdl/i_video.c
#	src/sdl/sdlmain.h

This is NOT just a normal merge commit. I have adjusted the hotplugging code from stableid to account for the last two players, and also removed new 2.1 additions that were deemed irrelevant to Kart.
2018-12-27 16:21:51 -06:00
wolfy852
72619a3f71 Extend joystick hotplugging to players 3 and 4 2018-12-19 18:08:38 -06:00
wolfy852
39e01fe643 Revert GameController stuff 2018-12-19 13:11:30 -06:00
wolfy852
586c60a00d I_NumGameControllers, print GameController mapping, and store joystick GUID in JoyInfo 2018-12-14 12:49:07 -06:00
wolfy852
ac62575896 Print GameController info when detected, use proper 360 controller defaults for triggers 2018-12-14 11:50:53 -06:00
mazmazz
f90348ac05 Better I_InitJoystick log message 2018-12-14 06:14:21 -05:00
mazmazz
f7727fac5a Don't override an already-active controller
* Menu improvements to tell the user that they can't set a controller if it's already active
2018-12-14 05:02:41 -05:00
mazmazz
732956088a Lots of changes to better support hotplugging and unstable device indexes
* Don't save cv_usejoystick/2 because hotplugging changes can be made invalid by next run
* Properly set cv_usejoystick/2 for menu toggling
* Force-disable a player's joystick if setting another player's joystick to the same device
* Properly set cv_usejoystick/2 value of BOTH target player AND other players when hotplugging and unplugging
2018-12-14 03:58:07 -05:00
mazmazz
18287c09bb Properly handle unstable device indexes for hotplug 2018-12-14 01:45:18 -05:00
mazmazz
601535fe41 Attempt to handle unstable device IDs 2018-12-14 00:22:25 -05:00
mazmazz
d2e39c660e Improve hotplug edge case with changing device indexes; return proper joy_open output on error 2018-12-13 23:52:04 -05:00
mazmazz
651c99c5e3 Change joystick log messages to DBG_GAMELOGIC 2018-12-13 23:26:07 -05:00
mazmazz
1cdbe75183 Handle unstable device index when hotplugging controller 2018-12-13 23:09:05 -05:00
wolfy852
aa5ee0ebf3 Restore a change lost in the merge madness, do some SDL_GameController prep 2018-12-10 09:00:15 -06:00
wolfy852
a1fffe5755 Merge remote-tracking branch 'remotes/SRB2/vanilla-hotplug' into unfuck-gamepads
# Conflicts:
#	src/d_clisrv.c
#	src/d_netcmd.c
#	src/d_netcmd.h
#	src/dehacked.c
#	src/doomdef.h
#	src/g_game.c
#	src/hu_stuff.c
#	src/lua_baselib.c
#	src/m_menu.c
#	src/sdl/i_system.c
#	src/sdl/sdlmain.h
2018-12-06 13:07:39 -06:00
mazmazz
cc6daa751d Disable XINPUT before initing the joy subsystem 2018-12-06 14:03:46 -05:00
mazmazz
c4f035dfa9 Controller hotplugging by always keeping joy subsystem on (thanks WOLFS)
(with log messages)
2018-12-06 10:54:58 -05:00
TehRealSalt
bf3a9d1d2e Edited even more things to say "SRB2Kart" 2018-12-05 20:40:58 -05:00
TehRealSalt
26315ccf63 Merge remote-tracking branch 'srb2public/master' into merge-next 2018-12-05 19:21:13 -05:00
Digiku
2c557d668a Merge branch 'joystick-juggling' into 'master'
Joystick juggling

See merge request STJr/SRB2!355
2018-12-04 11:51:55 -05:00
mazmazz
a7b12b3ce5 Use static joyname instead of malloc 2018-12-03 12:35:12 -05:00
mazmazz
856f826afb Copy string from SDL_JoystickNameForIndex before the subsystem is shut down 2018-12-03 05:37:07 -05:00
Monster Iestyn
dadaf83e41 Disable the axis parts of I_GetJoystickEvents and its player2 counterpart.
(This is what I should have done in the first place)
2018-12-02 17:42:51 +00:00
TehRealSalt
4507ee18fd Merge remote-tracking branch 'srb2public/next' into merge-next 2018-11-29 08:49:50 -05:00
Monster Iestyn
0bff44e22b Add myargmalloc boolean to detect whether we allocated myargv ourselves or not, so we don't free myargv if we didn't 2018-11-23 19:12:48 +00:00
Steel Titanium
0c30cd0fa1 Merge branch 'master' into responsefile-fix 2018-11-22 23:02:20 -05:00
Sryder
9350721d12 Merge branch 'next' of git@git.magicalgirl.moe:STJr/SRB2.git into nextmerge
# Conflicts:
#	src/d_main.c
#	src/d_main.h
#	src/d_netcmd.c
#	src/doomtype.h
#	src/hardware/hw_md2.h
#	src/p_user.c
#	src/r_splats.h
#	src/s_sound.c
#	src/s_sound.h
#	src/screen.c
#	src/sdl/i_system.c
2018-11-10 21:14:53 +00:00
Monster Iestyn
4c3bfe81bd Merge branch 'public_next'
# Conflicts:
#	src/Makefile
#	src/doomtype.h
#	src/hardware/hw_clip.c
#	src/hardware/hw_main.c
#	src/sdl12/sdl_sound.c
2018-11-10 19:18:34 +00:00
Monster Iestyn
51ee510b85 Merge branch 'gcc-compiling-cleanup' into 'master'
Compiling cleanup and fixes

See merge request STJr/SRB2!311
2018-11-10 13:56:17 -05:00
Monster Iestyn
7989e9a482 Merge branch 'public_next'
# Conflicts:
#	src/d_netcmd.c
#	src/d_netcmd.h
#	src/dehacked.c
#	src/g_game.h
#	src/hardware/hw_draw.c
#	src/hardware/hw_main.c
#	src/lua_baselib.c
#	src/lua_hook.h
#	src/lua_hooklib.c
#	src/lua_hudlib.c
#	src/lua_libs.h
#	src/lua_maplib.c
#	src/lua_script.c
#	src/m_misc.h
#	src/p_mobj.c
#	src/s_sound.c
#	src/sdl12/mixer_sound.c
#	src/w_wad.c
2018-11-10 15:41:57 +00:00
Monster Iestyn
b34e8c5390 Remove FUNCMATH from functions with a void return value or args, or examine variables other than their args (which could be modified) 2018-11-08 16:26:55 +00:00
Steel Titanium
d7a0a3c94b Update copyright info on some files 2018-11-01 14:47:19 -04:00
TehRealSalt
d1981b0a65 Half-done Discord Rich Presence support
It's soooo close to being awesome, but so far away. Making game invitations as the host meant that it would redirect to "connect self" for other people, because we can't get the IP address from the host.

If anyone has a solution, you've got my gratitude; this was going so smoothly until it hit that brick wall.
2018-10-22 00:34:45 -04:00
toaster
1142fddc71 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into nextmerge_plus_rain
# Conflicts:
#	src/d_netcmd.c
#	src/d_netcmd.h
#	src/g_game.c
#	src/p_floor.c
#	src/p_user.c
#	src/r_data.c
#	src/r_data.h
#	src/v_video.c
2018-10-14 21:52:05 +01:00
Monster Iestyn
89d7c55878 Merge branch 'public_next'
# Conflicts:
#	src/Makefile
#	src/lua_script.c
#	src/p_user.c
#	src/sdl/i_system.c
#	src/v_video.c
#	src/w_wad.c
2018-10-10 14:51:34 +01:00
Sryder
a7ba0b958a Tiny fix so that joystick2 being closed can let the JoystickSubSystem close before game close.
No memory leak here, just a very tiny thing I noticed.
2018-10-09 19:43:18 +01:00
Steel Titanium
5efb94a35b Fix the weird indentation 2018-09-21 12:05:52 -04:00
Steel Titanium
7f7c5b60ae Rearrange the code.
Thanks again MonsterIestyn!
2018-09-21 11:26:08 -04:00
Steel
502414d609 Remove this that somehow slipped in. 2018-09-21 07:21:49 -04:00
Steel
ac8658fac8 Fix up errors with buildbots 2018-09-21 07:16:54 -04:00
Steel Titanium
43cbb0d11e Add some stuff 2018-09-20 18:33:50 -04:00
Steel Titanium
13a3f197bd Use MemAvailable instead 2018-09-20 18:30:46 -04:00
toaster
740a209631 Fix all compilation errors (tested using DEBUGMODE=1 and ERRORMODE=1) that remain outstanding. Notably:
* Remove FUNCMATH from all void-returning functions, given GCC80 specifically complains about this case.
	* Extend the length of all extant buffers to the safety threshold recommended by the compiler.
	* Add void casts to WS_getaddrinfo's setting to prevent complaints about incompatible typecasts.
	* Extend the charsel, face, and superface buffer sizes and writes to include the null terminator. (I didn't really want to do this because it's not even particularily NEEDED, but there was literally zero way to get around the request that I could find with multiple online searches. I tried.)
2018-07-07 16:52:01 +01:00
Steel Titanium
492eeb7009 Deallocate when I_Quit() is called instead. 2018-06-23 15:09:11 -04:00
TehRealSalt
8fe068ef46 Merge remote-tracking branch 'refs/remotes/srb2public/next'
# Conflicts:
#	src/f_finale.c
#	src/hardware/hw_draw.c
#	src/hardware/hw_main.c
#	src/m_misc.c
2018-04-07 18:43:59 -04:00
TehRealSalt
d438e3bc41 Doing one more step to totally ensure that matchesplayed is unlocking stuff 2018-03-30 12:16:15 -04:00
Monster Iestyn
c11a2ad9b6 Merge branch 'public_next'
# Conflicts:
#	src/sdl/i_system.c
2018-03-04 19:18:13 +00:00