From 4e2d1556787c0eca0dc81a4171b6b2acc8344709 Mon Sep 17 00:00:00 2001 From: wolfy852 Date: Fri, 23 Nov 2018 00:01:20 -0600 Subject: [PATCH 1/3] Swap out SDL_INIT_JOYSTICK for SDL_INIT_GAMECONTROLLER First step in improving controller support. --- src/sdl/i_system.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c index 03543c309..6f6162712 100644 --- a/src/sdl/i_system.c +++ b/src/sdl/i_system.c @@ -1060,7 +1060,7 @@ static int joy_open(const char *fname) if (joystick_started == 0 && joystick2_started == 0 && joystick3_started == 0 && joystick4_started == 0) { - if (SDL_InitSubSystem(SDL_INIT_JOYSTICK) == -1) + if (SDL_InitSubSystem(SDL_INIT_GAMECONTROLLER) == -1) { CONS_Printf(M_GetText("Couldn't initialize joystick: %s\n"), SDL_GetError()); return -1; From 969164cfd11684f81f67fe1ee14eba7e3d63237f Mon Sep 17 00:00:00 2001 From: wolfy852 Date: Sun, 2 Dec 2018 02:01:06 -0600 Subject: [PATCH 2/3] Potentially fix spectators floating when inputting right on the analog stick. --- src/g_game.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/g_game.c b/src/g_game.c index 517e5bcba..fb366fac2 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -1380,6 +1380,7 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer) if (player->spectator || objectplacing) // SRB2Kart: spectators need special controls { + axis = JoyAxis(AXISMOVE, ssplayer); if (InputDown(gc_accelerate, ssplayer) || (usejoystick && axis > 0)) cmd->buttons |= BT_ACCELERATE; if (InputDown(gc_brake, ssplayer) || (usejoystick && axis > 0)) From 4c14e26f945378195191974aa1a868ae5e5b0eeb Mon Sep 17 00:00:00 2001 From: wolfy852 Date: Sun, 2 Dec 2018 19:33:09 -0600 Subject: [PATCH 3/3] AXISBRAKE, take out GameController stuff for now --- src/g_game.c | 1 + src/sdl/i_system.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/g_game.c b/src/g_game.c index e28248fcc..9036ff9da 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -1386,6 +1386,7 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer) axis = JoyAxis(AXISMOVE, ssplayer); if (InputDown(gc_accelerate, ssplayer) || (usejoystick && axis > 0)) cmd->buttons |= BT_ACCELERATE; + axis = JoyAxis(AXISBRAKE, ssplayer); if (InputDown(gc_brake, ssplayer) || (usejoystick && axis > 0)) cmd->buttons |= BT_BRAKE; axis = JoyAxis(AXISAIM, ssplayer); diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c index 5fdeb4b74..a1a9df905 100644 --- a/src/sdl/i_system.c +++ b/src/sdl/i_system.c @@ -1060,7 +1060,7 @@ static int joy_open(const char *fname) if (joystick_started == 0 && joystick2_started == 0 && joystick3_started == 0 && joystick4_started == 0) { - if (SDL_InitSubSystem(SDL_INIT_GAMECONTROLLER) == -1) + if (SDL_InitSubSystem(SDL_INIT_JOYSTICK) == -1) { CONS_Printf(M_GetText("Couldn't initialize joystick: %s\n"), SDL_GetError()); return -1;