joystick: SDL_VirtualJoystickDesc no longer takes a struct version.
If we need to extend this in the future, we'll make a second struct and a second SDL_AttachVirtualJoystickEx-style function that uses it. Just zero the struct and don't set a version. Fixes #9489.main
parent
202bd7b0ff
commit
d252a8fe12
|
@ -794,6 +794,8 @@ The functions SDL_GetJoysticks(), SDL_GetJoystickInstanceName(), SDL_GetJoystick
|
||||||
|
|
||||||
SDL_AttachVirtualJoystick() and SDL_AttachVirtualJoystickEx() now return the joystick instance ID instead of a device index, and return 0 if there was an error.
|
SDL_AttachVirtualJoystick() and SDL_AttachVirtualJoystickEx() now return the joystick instance ID instead of a device index, and return 0 if there was an error.
|
||||||
|
|
||||||
|
SDL_VirtualJoystickDesc no longer takes a struct version; if we need to extend this in the future, we'll make a second struct and a second SDL_AttachVirtualJoystickEx-style function that uses it. Just zero the struct and don't set a version.
|
||||||
|
|
||||||
The following functions have been renamed:
|
The following functions have been renamed:
|
||||||
* SDL_JoystickAttachVirtual() => SDL_AttachVirtualJoystick()
|
* SDL_JoystickAttachVirtual() => SDL_AttachVirtualJoystick()
|
||||||
* SDL_JoystickAttachVirtualEx() => SDL_AttachVirtualJoystickEx()
|
* SDL_JoystickAttachVirtualEx() => SDL_AttachVirtualJoystickEx()
|
||||||
|
@ -855,6 +857,7 @@ The following functions have been removed:
|
||||||
* SDL_JoystickNameForIndex() - replaced with SDL_GetJoystickInstanceName()
|
* SDL_JoystickNameForIndex() - replaced with SDL_GetJoystickInstanceName()
|
||||||
* SDL_JoystickPathForIndex() - replaced with SDL_GetJoystickInstancePath()
|
* SDL_JoystickPathForIndex() - replaced with SDL_GetJoystickInstancePath()
|
||||||
* SDL_NumJoysticks() - replaced with SDL_GetJoysticks()
|
* SDL_NumJoysticks() - replaced with SDL_GetJoysticks()
|
||||||
|
* SDL_VIRTUAL_JOYSTICK_DESC_VERSION - no longer needed, version info has been removed from SDL_VirtualJoystickDesc.
|
||||||
|
|
||||||
The following symbols have been removed:
|
The following symbols have been removed:
|
||||||
* SDL_JOYBALLMOTION
|
* SDL_JOYBALLMOTION
|
||||||
|
|
|
@ -360,10 +360,7 @@ extern DECLSPEC SDL_JoystickID SDLCALL SDL_AttachVirtualJoystick(SDL_JoystickTyp
|
||||||
/**
|
/**
|
||||||
* The structure that defines an extended virtual joystick description
|
* The structure that defines an extended virtual joystick description
|
||||||
*
|
*
|
||||||
* The caller must zero the structure and then initialize the version with
|
* All other elements of this structure are optional and can be left 0.
|
||||||
* `SDL_VIRTUAL_JOYSTICK_DESC_VERSION` before passing it to
|
|
||||||
* SDL_AttachVirtualJoystickEx() All other elements of this structure are
|
|
||||||
* optional and can be left 0.
|
|
||||||
*
|
*
|
||||||
* \since This struct is available since SDL 3.0.0.
|
* \since This struct is available since SDL 3.0.0.
|
||||||
*
|
*
|
||||||
|
@ -371,7 +368,6 @@ extern DECLSPEC SDL_JoystickID SDLCALL SDL_AttachVirtualJoystick(SDL_JoystickTyp
|
||||||
*/
|
*/
|
||||||
typedef struct SDL_VirtualJoystickDesc
|
typedef struct SDL_VirtualJoystickDesc
|
||||||
{
|
{
|
||||||
Uint16 version; /**< `SDL_VIRTUAL_JOYSTICK_DESC_VERSION` */
|
|
||||||
Uint16 type; /**< `SDL_JoystickType` */
|
Uint16 type; /**< `SDL_JoystickType` */
|
||||||
Uint16 naxes; /**< the number of axes on this joystick */
|
Uint16 naxes; /**< the number of axes on this joystick */
|
||||||
Uint16 nbuttons; /**< the number of buttons on this joystick */
|
Uint16 nbuttons; /**< the number of buttons on this joystick */
|
||||||
|
@ -392,16 +388,8 @@ typedef struct SDL_VirtualJoystickDesc
|
||||||
int (SDLCALL *RumbleTriggers)(void *userdata, Uint16 left_rumble, Uint16 right_rumble); /**< Implements SDL_RumbleJoystickTriggers() */
|
int (SDLCALL *RumbleTriggers)(void *userdata, Uint16 left_rumble, Uint16 right_rumble); /**< Implements SDL_RumbleJoystickTriggers() */
|
||||||
int (SDLCALL *SetLED)(void *userdata, Uint8 red, Uint8 green, Uint8 blue); /**< Implements SDL_SetJoystickLED() */
|
int (SDLCALL *SetLED)(void *userdata, Uint8 red, Uint8 green, Uint8 blue); /**< Implements SDL_SetJoystickLED() */
|
||||||
int (SDLCALL *SendEffect)(void *userdata, const void *data, int size); /**< Implements SDL_SendJoystickEffect() */
|
int (SDLCALL *SendEffect)(void *userdata, const void *data, int size); /**< Implements SDL_SendJoystickEffect() */
|
||||||
|
|
||||||
} SDL_VirtualJoystickDesc;
|
} SDL_VirtualJoystickDesc;
|
||||||
|
|
||||||
/**
|
|
||||||
* The current version of the SDL_VirtualJoystickDesc structure.
|
|
||||||
*
|
|
||||||
* \since This macro is available since SDL 3.0.0.
|
|
||||||
*/
|
|
||||||
#define SDL_VIRTUAL_JOYSTICK_DESC_VERSION 1
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Attach a new virtual joystick with extended properties.
|
* Attach a new virtual joystick with extended properties.
|
||||||
*
|
*
|
||||||
|
|
|
@ -1170,7 +1170,6 @@ SDL_JoystickID SDL_AttachVirtualJoystick(SDL_JoystickType type, int naxes, int n
|
||||||
SDL_VirtualJoystickDesc desc;
|
SDL_VirtualJoystickDesc desc;
|
||||||
|
|
||||||
SDL_zero(desc);
|
SDL_zero(desc);
|
||||||
desc.version = SDL_VIRTUAL_JOYSTICK_DESC_VERSION;
|
|
||||||
desc.type = (Uint16)type;
|
desc.type = (Uint16)type;
|
||||||
desc.naxes = (Uint16)naxes;
|
desc.naxes = (Uint16)naxes;
|
||||||
desc.nbuttons = (Uint16)nbuttons;
|
desc.nbuttons = (Uint16)nbuttons;
|
||||||
|
|
|
@ -117,10 +117,6 @@ SDL_JoystickID SDL_JoystickAttachVirtualInner(const SDL_VirtualJoystickDesc *des
|
||||||
if (!desc) {
|
if (!desc) {
|
||||||
return SDL_InvalidParamError("desc");
|
return SDL_InvalidParamError("desc");
|
||||||
}
|
}
|
||||||
if (desc->version != SDL_VIRTUAL_JOYSTICK_DESC_VERSION) {
|
|
||||||
/* Is this an old version that we can support? */
|
|
||||||
return SDL_SetError("Unsupported virtual joystick description version %u", desc->version);
|
|
||||||
}
|
|
||||||
|
|
||||||
hwdata = (joystick_hwdata *)SDL_calloc(1, sizeof(joystick_hwdata));
|
hwdata = (joystick_hwdata *)SDL_calloc(1, sizeof(joystick_hwdata));
|
||||||
if (!hwdata) {
|
if (!hwdata) {
|
||||||
|
|
|
@ -28,7 +28,6 @@ static int TestVirtualJoystick(void *arg)
|
||||||
SDL_SetHint(SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS, "1");
|
SDL_SetHint(SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS, "1");
|
||||||
|
|
||||||
SDL_zero(desc);
|
SDL_zero(desc);
|
||||||
desc.version = SDL_VIRTUAL_JOYSTICK_DESC_VERSION;
|
|
||||||
desc.type = SDL_JOYSTICK_TYPE_GAMEPAD;
|
desc.type = SDL_JOYSTICK_TYPE_GAMEPAD;
|
||||||
desc.naxes = SDL_GAMEPAD_AXIS_MAX;
|
desc.naxes = SDL_GAMEPAD_AXIS_MAX;
|
||||||
desc.nbuttons = SDL_GAMEPAD_BUTTON_MAX;
|
desc.nbuttons = SDL_GAMEPAD_BUTTON_MAX;
|
||||||
|
|
|
@ -1117,7 +1117,6 @@ static void OpenVirtualGamepad(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
SDL_zero(desc);
|
SDL_zero(desc);
|
||||||
desc.version = SDL_VIRTUAL_JOYSTICK_DESC_VERSION;
|
|
||||||
desc.type = SDL_JOYSTICK_TYPE_GAMEPAD;
|
desc.type = SDL_JOYSTICK_TYPE_GAMEPAD;
|
||||||
desc.naxes = SDL_GAMEPAD_AXIS_MAX;
|
desc.naxes = SDL_GAMEPAD_AXIS_MAX;
|
||||||
desc.nbuttons = SDL_GAMEPAD_BUTTON_MAX;
|
desc.nbuttons = SDL_GAMEPAD_BUTTON_MAX;
|
||||||
|
|
Loading…
Reference in New Issue