virtual joysticks: removed ball support (Bug 5028)
parent
151c8fbf19
commit
cc90875647
|
@ -206,7 +206,6 @@ extern DECLSPEC SDL_Joystick *SDLCALL SDL_JoystickFromPlayerIndex(int player_ind
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC int SDLCALL SDL_JoystickAttachVirtual(SDL_JoystickType type,
|
extern DECLSPEC int SDLCALL SDL_JoystickAttachVirtual(SDL_JoystickType type,
|
||||||
int naxes,
|
int naxes,
|
||||||
int nballs,
|
|
||||||
int nbuttons,
|
int nbuttons,
|
||||||
int nhats);
|
int nhats);
|
||||||
|
|
||||||
|
@ -226,7 +225,6 @@ extern DECLSPEC SDL_bool SDLCALL SDL_JoystickIsVirtual(int device_index);
|
||||||
* Returns 0 on success, -1 on error.
|
* 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_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_JoystickSetVirtualButton(SDL_Joystick * joystick, int button, Uint8 value);
|
||||||
extern DECLSPEC int SDLCALL SDL_JoystickSetVirtualHat(SDL_Joystick * joystick, int hat, Uint8 value);
|
extern DECLSPEC int SDLCALL SDL_JoystickSetVirtualHat(SDL_Joystick * joystick, int hat, Uint8 value);
|
||||||
|
|
||||||
|
|
|
@ -809,11 +809,10 @@ SDL_DYNAPI_PROC(int,SDL_GetAndroidSDKVersion,(void),(),return)
|
||||||
#endif
|
#endif
|
||||||
SDL_DYNAPI_PROC(int,SDL_isupper,(int a),(a),return)
|
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_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(int,SDL_JoystickDetachVirtual,(int a),(a),return)
|
||||||
SDL_DYNAPI_PROC(SDL_bool,SDL_JoystickIsVirtual,(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_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_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(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)
|
SDL_DYNAPI_PROC(char*,SDL_GetErrorMsg,(char *a, int b),(a,b),return)
|
||||||
|
|
|
@ -466,14 +466,12 @@ SDL_JoystickOpen(int device_index)
|
||||||
int
|
int
|
||||||
SDL_JoystickAttachVirtual(SDL_JoystickType type,
|
SDL_JoystickAttachVirtual(SDL_JoystickType type,
|
||||||
int naxes,
|
int naxes,
|
||||||
int nballs,
|
|
||||||
int nbuttons,
|
int nbuttons,
|
||||||
int nhats)
|
int nhats)
|
||||||
{
|
{
|
||||||
#if SDL_JOYSTICK_VIRTUAL
|
#if SDL_JOYSTICK_VIRTUAL
|
||||||
return SDL_JoystickAttachVirtualInner(type,
|
return SDL_JoystickAttachVirtualInner(type,
|
||||||
naxes,
|
naxes,
|
||||||
nballs,
|
|
||||||
nbuttons,
|
nbuttons,
|
||||||
nhats);
|
nhats);
|
||||||
#else
|
#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
|
int
|
||||||
SDL_JoystickSetVirtualButton(SDL_Joystick * joystick, int button, Uint8 value)
|
SDL_JoystickSetVirtualButton(SDL_Joystick * joystick, int button, Uint8 value)
|
||||||
{
|
{
|
||||||
|
|
|
@ -60,10 +60,6 @@ VIRTUAL_FreeHWData(joystick_hwdata *hwdata)
|
||||||
SDL_free((void *)hwdata->axes);
|
SDL_free((void *)hwdata->axes);
|
||||||
hwdata->axes = NULL;
|
hwdata->axes = NULL;
|
||||||
}
|
}
|
||||||
if (hwdata->balls) {
|
|
||||||
SDL_free((void *)hwdata->balls);
|
|
||||||
hwdata->balls = NULL;
|
|
||||||
}
|
|
||||||
if (hwdata->buttons) {
|
if (hwdata->buttons) {
|
||||||
SDL_free((void *)hwdata->buttons);
|
SDL_free((void *)hwdata->buttons);
|
||||||
hwdata->buttons = NULL;
|
hwdata->buttons = NULL;
|
||||||
|
@ -94,7 +90,6 @@ VIRTUAL_FreeHWData(joystick_hwdata *hwdata)
|
||||||
int
|
int
|
||||||
SDL_JoystickAttachVirtualInner(SDL_JoystickType type,
|
SDL_JoystickAttachVirtualInner(SDL_JoystickType type,
|
||||||
int naxes,
|
int naxes,
|
||||||
int nballs,
|
|
||||||
int nbuttons,
|
int nbuttons,
|
||||||
int nhats)
|
int nhats)
|
||||||
{
|
{
|
||||||
|
@ -108,7 +103,6 @@ SDL_JoystickAttachVirtualInner(SDL_JoystickType type,
|
||||||
}
|
}
|
||||||
|
|
||||||
hwdata->naxes = naxes;
|
hwdata->naxes = naxes;
|
||||||
hwdata->nballs = nballs;
|
|
||||||
hwdata->nbuttons = nbuttons;
|
hwdata->nbuttons = nbuttons;
|
||||||
hwdata->nhats = nhats;
|
hwdata->nhats = nhats;
|
||||||
hwdata->name = "Virtual Joystick";
|
hwdata->name = "Virtual Joystick";
|
||||||
|
@ -125,13 +119,6 @@ SDL_JoystickAttachVirtualInner(SDL_JoystickType type,
|
||||||
return SDL_OutOfMemory();
|
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) {
|
if (nbuttons > 0) {
|
||||||
hwdata->buttons = SDL_calloc(nbuttons, sizeof(Uint8));
|
hwdata->buttons = SDL_calloc(nbuttons, sizeof(Uint8));
|
||||||
if (!hwdata->buttons) {
|
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
|
int
|
||||||
SDL_JoystickSetVirtualButtonInner(SDL_Joystick * joystick, int button, Uint8 value)
|
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->instance_id = hwdata->instance_id;
|
||||||
joystick->hwdata = hwdata;
|
joystick->hwdata = hwdata;
|
||||||
joystick->naxes = hwdata->naxes;
|
joystick->naxes = hwdata->naxes;
|
||||||
joystick->nballs = hwdata->nballs;
|
|
||||||
joystick->nbuttons = hwdata->nbuttons;
|
joystick->nbuttons = hwdata->nbuttons;
|
||||||
joystick->nhats = hwdata->nhats;
|
joystick->nhats = hwdata->nhats;
|
||||||
hwdata->opened = SDL_TRUE;
|
hwdata->opened = SDL_TRUE;
|
||||||
|
@ -396,9 +356,6 @@ VIRTUAL_JoystickUpdate(SDL_Joystick * joystick)
|
||||||
for (int i = 0; i < hwdata->naxes; ++i) {
|
for (int i = 0; i < hwdata->naxes; ++i) {
|
||||||
SDL_PrivateJoystickAxis(joystick, i, hwdata->axes[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) {
|
for (int i = 0; i < hwdata->nbuttons; ++i) {
|
||||||
SDL_PrivateJoystickButton(joystick, i, hwdata->buttons[i]);
|
SDL_PrivateJoystickButton(joystick, i, hwdata->buttons[i]);
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,11 +38,6 @@ typedef struct joystick_hwdata
|
||||||
SDL_JoystickGUID guid;
|
SDL_JoystickGUID guid;
|
||||||
int naxes;
|
int naxes;
|
||||||
Sint16 *axes;
|
Sint16 *axes;
|
||||||
int nballs;
|
|
||||||
struct {
|
|
||||||
Sint16 xrel;
|
|
||||||
Sint16 yrel;
|
|
||||||
} *balls;
|
|
||||||
int nbuttons;
|
int nbuttons;
|
||||||
Uint8 *buttons;
|
Uint8 *buttons;
|
||||||
int nhats;
|
int nhats;
|
||||||
|
@ -54,14 +49,12 @@ typedef struct joystick_hwdata
|
||||||
|
|
||||||
int SDL_JoystickAttachVirtualInner(SDL_JoystickType type,
|
int SDL_JoystickAttachVirtualInner(SDL_JoystickType type,
|
||||||
int naxes,
|
int naxes,
|
||||||
int nballs,
|
|
||||||
int nbuttons,
|
int nbuttons,
|
||||||
int nhats);
|
int nhats);
|
||||||
|
|
||||||
int SDL_JoystickDetachVirtualInner(int device_index);
|
int SDL_JoystickDetachVirtualInner(int device_index);
|
||||||
|
|
||||||
int SDL_JoystickSetVirtualAxisInner(SDL_Joystick * joystick, int axis, Sint16 value);
|
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_JoystickSetVirtualButtonInner(SDL_Joystick * joystick, int button, Uint8 value);
|
||||||
int SDL_JoystickSetVirtualHatInner(SDL_Joystick * joystick, int hat, Uint8 value);
|
int SDL_JoystickSetVirtualHatInner(SDL_Joystick * joystick, int hat, Uint8 value);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue