From cc908756471cde136b2f22b40561cb219e3c413a Mon Sep 17 00:00:00 2001 From: David Ludwig Date: Sun, 15 Mar 2020 13:25:49 -0400 Subject: [PATCH] virtual joysticks: removed ball support (Bug 5028) --- include/SDL_joystick.h | 2 -- src/dynapi/SDL_dynapi_procs.h | 3 +- src/joystick/SDL_joystick.c | 13 ------- src/joystick/virtual/SDL_sysjoystick.c | 43 ------------------------ src/joystick/virtual/SDL_sysjoystick_c.h | 7 ---- 5 files changed, 1 insertion(+), 67 deletions(-) diff --git a/include/SDL_joystick.h b/include/SDL_joystick.h index b31f6786e115f..c489e4d2d007f 100644 --- a/include/SDL_joystick.h +++ b/include/SDL_joystick.h @@ -206,7 +206,6 @@ extern DECLSPEC SDL_Joystick *SDLCALL SDL_JoystickFromPlayerIndex(int player_ind */ extern DECLSPEC int SDLCALL SDL_JoystickAttachVirtual(SDL_JoystickType type, int naxes, - int nballs, int nbuttons, int nhats); @@ -226,7 +225,6 @@ extern DECLSPEC SDL_bool SDLCALL SDL_JoystickIsVirtual(int device_index); * Returns 0 on success, -1 on error. */ extern DECLSPEC int SDLCALL SDL_JoystickSetVirtualAxis(SDL_Joystick * joystick, int axis, Sint16 value); -extern DECLSPEC int SDLCALL SDL_JoystickSetVirtualBall(SDL_Joystick * joystick, int ball, Sint16 xrel, Sint16 yrel); extern DECLSPEC int SDLCALL SDL_JoystickSetVirtualButton(SDL_Joystick * joystick, int button, Uint8 value); extern DECLSPEC int SDLCALL SDL_JoystickSetVirtualHat(SDL_Joystick * joystick, int hat, Uint8 value); diff --git a/src/dynapi/SDL_dynapi_procs.h b/src/dynapi/SDL_dynapi_procs.h index 160ac76ef5910..48e18044d1a75 100644 --- a/src/dynapi/SDL_dynapi_procs.h +++ b/src/dynapi/SDL_dynapi_procs.h @@ -809,11 +809,10 @@ SDL_DYNAPI_PROC(int,SDL_GetAndroidSDKVersion,(void),(),return) #endif SDL_DYNAPI_PROC(int,SDL_isupper,(int a),(a),return) SDL_DYNAPI_PROC(int,SDL_islower,(int a),(a),return) -SDL_DYNAPI_PROC(int,SDL_JoystickAttachVirtual,(SDL_JoystickType a, int b, int c, int d, int e),(a,b,c,d,e),return) +SDL_DYNAPI_PROC(int,SDL_JoystickAttachVirtual,(SDL_JoystickType a, int b, int c, int d),(a,b,c,d),return) SDL_DYNAPI_PROC(int,SDL_JoystickDetachVirtual,(int a),(a),return) SDL_DYNAPI_PROC(SDL_bool,SDL_JoystickIsVirtual,(int a),(a),return) SDL_DYNAPI_PROC(int,SDL_JoystickSetVirtualAxis,(SDL_Joystick *a, int b, Sint16 c),(a,b,c),return) -SDL_DYNAPI_PROC(int,SDL_JoystickSetVirtualBall,(SDL_Joystick *a, int b, Sint16 c, Sint16 d),(a,b,c,d),return) SDL_DYNAPI_PROC(int,SDL_JoystickSetVirtualButton,(SDL_Joystick *a, int b, Uint8 c),(a,b,c),return) SDL_DYNAPI_PROC(int,SDL_JoystickSetVirtualHat,(SDL_Joystick *a, int b, Uint8 c),(a,b,c),return) SDL_DYNAPI_PROC(char*,SDL_GetErrorMsg,(char *a, int b),(a,b),return) diff --git a/src/joystick/SDL_joystick.c b/src/joystick/SDL_joystick.c index d3e2254498b0f..0a7daa3eb6cf3 100644 --- a/src/joystick/SDL_joystick.c +++ b/src/joystick/SDL_joystick.c @@ -466,14 +466,12 @@ SDL_JoystickOpen(int device_index) int SDL_JoystickAttachVirtual(SDL_JoystickType type, int naxes, - int nballs, int nbuttons, int nhats) { #if SDL_JOYSTICK_VIRTUAL return SDL_JoystickAttachVirtualInner(type, naxes, - nballs, nbuttons, nhats); #else @@ -539,17 +537,6 @@ SDL_JoystickSetVirtualAxis(SDL_Joystick * joystick, int axis, Sint16 value) } -int -SDL_JoystickSetVirtualBall(SDL_Joystick * joystick, int axis, Sint16 xrel, Sint16 yrel) -{ -#if SDL_JOYSTICK_VIRTUAL - return SDL_JoystickSetVirtualBallInner(joystick, axis, xrel, yrel); -#else - return SDL_SetError("SDL not built with virtual-joystick support"); -#endif -} - - int SDL_JoystickSetVirtualButton(SDL_Joystick * joystick, int button, Uint8 value) { diff --git a/src/joystick/virtual/SDL_sysjoystick.c b/src/joystick/virtual/SDL_sysjoystick.c index 28f88715011a8..5329b3b96120a 100644 --- a/src/joystick/virtual/SDL_sysjoystick.c +++ b/src/joystick/virtual/SDL_sysjoystick.c @@ -60,10 +60,6 @@ VIRTUAL_FreeHWData(joystick_hwdata *hwdata) SDL_free((void *)hwdata->axes); hwdata->axes = NULL; } - if (hwdata->balls) { - SDL_free((void *)hwdata->balls); - hwdata->balls = NULL; - } if (hwdata->buttons) { SDL_free((void *)hwdata->buttons); hwdata->buttons = NULL; @@ -94,7 +90,6 @@ VIRTUAL_FreeHWData(joystick_hwdata *hwdata) int SDL_JoystickAttachVirtualInner(SDL_JoystickType type, int naxes, - int nballs, int nbuttons, int nhats) { @@ -108,7 +103,6 @@ SDL_JoystickAttachVirtualInner(SDL_JoystickType type, } hwdata->naxes = naxes; - hwdata->nballs = nballs; hwdata->nbuttons = nbuttons; hwdata->nhats = nhats; hwdata->name = "Virtual Joystick"; @@ -125,13 +119,6 @@ SDL_JoystickAttachVirtualInner(SDL_JoystickType type, return SDL_OutOfMemory(); } } - if (nballs > 0) { - hwdata->balls = SDL_calloc(nballs, sizeof(hwdata->balls[0])); - if (!hwdata->balls) { - VIRTUAL_FreeHWData(hwdata); - return SDL_OutOfMemory(); - } - } if (nbuttons > 0) { hwdata->buttons = SDL_calloc(nbuttons, sizeof(Uint8)); if (!hwdata->buttons) { @@ -201,32 +188,6 @@ SDL_JoystickSetVirtualAxisInner(SDL_Joystick * joystick, int axis, Sint16 value) } -int -SDL_JoystickSetVirtualBallInner(SDL_Joystick * joystick, int ball, Sint16 xrel, Sint16 yrel) -{ - joystick_hwdata *hwdata; - - SDL_LockJoysticks(); - - if (!joystick || !joystick->hwdata) { - SDL_UnlockJoysticks(); - return SDL_SetError("Invalid joystick"); - } - - hwdata = (joystick_hwdata *)joystick->hwdata; - if (ball < 0 || ball >= hwdata->nbuttons) { - SDL_UnlockJoysticks(); - return SDL_SetError("Invalid ball index"); - } - - hwdata->balls[ball].xrel = xrel; - hwdata->balls[ball].yrel = yrel; - - SDL_UnlockJoysticks(); - return 0; -} - - int SDL_JoystickSetVirtualButtonInner(SDL_Joystick * joystick, int button, Uint8 value) { @@ -364,7 +325,6 @@ VIRTUAL_JoystickOpen(SDL_Joystick * joystick, int device_index) joystick->instance_id = hwdata->instance_id; joystick->hwdata = hwdata; joystick->naxes = hwdata->naxes; - joystick->nballs = hwdata->nballs; joystick->nbuttons = hwdata->nbuttons; joystick->nhats = hwdata->nhats; hwdata->opened = SDL_TRUE; @@ -396,9 +356,6 @@ VIRTUAL_JoystickUpdate(SDL_Joystick * joystick) for (int i = 0; i < hwdata->naxes; ++i) { SDL_PrivateJoystickAxis(joystick, i, hwdata->axes[i]); } - for (int i = 0; i < hwdata->nballs; ++i) { - SDL_PrivateJoystickBall(joystick, i, hwdata->balls[i].xrel, hwdata->balls[i].yrel); - } for (int i = 0; i < hwdata->nbuttons; ++i) { SDL_PrivateJoystickButton(joystick, i, hwdata->buttons[i]); } diff --git a/src/joystick/virtual/SDL_sysjoystick_c.h b/src/joystick/virtual/SDL_sysjoystick_c.h index 3b782f1b6c40f..aeda5ef97bc56 100644 --- a/src/joystick/virtual/SDL_sysjoystick_c.h +++ b/src/joystick/virtual/SDL_sysjoystick_c.h @@ -38,11 +38,6 @@ typedef struct joystick_hwdata SDL_JoystickGUID guid; int naxes; Sint16 *axes; - int nballs; - struct { - Sint16 xrel; - Sint16 yrel; - } *balls; int nbuttons; Uint8 *buttons; int nhats; @@ -54,14 +49,12 @@ typedef struct joystick_hwdata int SDL_JoystickAttachVirtualInner(SDL_JoystickType type, int naxes, - int nballs, int nbuttons, int nhats); int SDL_JoystickDetachVirtualInner(int device_index); int SDL_JoystickSetVirtualAxisInner(SDL_Joystick * joystick, int axis, Sint16 value); -int SDL_JoystickSetVirtualBallInner(SDL_Joystick * joystick, int ball, Sint16 xrel, Sint16 yrel); int SDL_JoystickSetVirtualButtonInner(SDL_Joystick * joystick, int button, Uint8 value); int SDL_JoystickSetVirtualHatInner(SDL_Joystick * joystick, int hat, Uint8 value);