mirror of
				https://github.com/libsdl-org/SDL.git
				synced 2025-11-03 17:24:34 +00:00 
			
		
		
		
	Renamed functions to get information from device IDs
Fixes https://github.com/libsdl-org/SDL/issues/10237
This commit is contained in:
		@@ -461,7 +461,7 @@ SDL_gamecontroller.h has been renamed SDL_gamepad.h, and all APIs have been rena
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
The SDL_EVENT_GAMEPAD_ADDED event now provides the joystick instance ID in the which member of the cdevice event structure.
 | 
					The SDL_EVENT_GAMEPAD_ADDED event now provides the joystick instance ID in the which member of the cdevice event structure.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The functions SDL_GetGamepads(), SDL_GetGamepadInstanceName(), SDL_GetGamepadInstancePath(), SDL_GetGamepadInstancePlayerIndex(), SDL_GetGamepadInstanceGUID(), SDL_GetGamepadInstanceVendor(), SDL_GetGamepadInstanceProduct(), SDL_GetGamepadInstanceProductVersion(), and SDL_GetGamepadInstanceType() have been added to directly query the list of available gamepads.
 | 
					The functions SDL_GetGamepads(), SDL_GetGamepadNameFromID(), SDL_GetGamepadPathFromID(), SDL_GetGamepadPlayerIndexFromID(), SDL_GetGamepadGUIDFromID(), SDL_GetGamepadVendorFromID(), SDL_GetGamepadProductFromID(), SDL_GetGamepadProductVersionFromID(), and SDL_GetGamepadTypeFromID() have been added to directly query the list of available gamepads.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The gamepad face buttons have been renamed from A/B/X/Y to North/South/East/West to indicate that they are positional rather than hardware-specific. You can use SDL_GetGamepadButtonLabel() to get the labels for the face buttons, e.g. A/B/X/Y or Cross/Circle/Square/Triangle. The hint SDL_HINT_GAMECONTROLLER_USE_BUTTON_LABELS is ignored, and mappings that use this hint are translated correctly into positional buttons. Applications should provide a way for users to swap between South/East as their accept/cancel buttons, as this varies based on region and muscle memory. You can use an approach similar to the following to handle this:
 | 
					The gamepad face buttons have been renamed from A/B/X/Y to North/South/East/West to indicate that they are positional rather than hardware-specific. You can use SDL_GetGamepadButtonLabel() to get the labels for the face buttons, e.g. A/B/X/Y or Cross/Circle/Square/Triangle. The hint SDL_HINT_GAMECONTROLLER_USE_BUTTON_LABELS is ignored, and mappings that use this hint are translated correctly into positional buttons. Applications should provide a way for users to swap between South/East as their accept/cancel buttons, as this varies based on region and muscle memory. You can use an approach similar to the following to handle this:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -624,12 +624,12 @@ The following functions have been removed:
 | 
				
			|||||||
* SDL_GameControllerHasLED() - replaced with SDL_PROP_GAMEPAD_CAP_RGB_LED_BOOLEAN
 | 
					* SDL_GameControllerHasLED() - replaced with SDL_PROP_GAMEPAD_CAP_RGB_LED_BOOLEAN
 | 
				
			||||||
* SDL_GameControllerHasRumble() - replaced with SDL_PROP_GAMEPAD_CAP_RUMBLE_BOOLEAN
 | 
					* SDL_GameControllerHasRumble() - replaced with SDL_PROP_GAMEPAD_CAP_RUMBLE_BOOLEAN
 | 
				
			||||||
* SDL_GameControllerHasRumbleTriggers() - replaced with SDL_PROP_GAMEPAD_CAP_TRIGGER_RUMBLE_BOOLEAN
 | 
					* SDL_GameControllerHasRumbleTriggers() - replaced with SDL_PROP_GAMEPAD_CAP_TRIGGER_RUMBLE_BOOLEAN
 | 
				
			||||||
* SDL_GameControllerMappingForDeviceIndex() - replaced with SDL_GetGamepadInstanceMapping()
 | 
					* SDL_GameControllerMappingForDeviceIndex() - replaced with SDL_GetGamepadMappingFromID()
 | 
				
			||||||
* SDL_GameControllerMappingForIndex() - replaced with SDL_GetGamepadMappings()
 | 
					* SDL_GameControllerMappingForIndex() - replaced with SDL_GetGamepadMappings()
 | 
				
			||||||
* SDL_GameControllerNameForIndex() - replaced with SDL_GetGamepadInstanceName()
 | 
					* SDL_GameControllerNameForIndex() - replaced with SDL_GetGamepadNameFromID()
 | 
				
			||||||
* SDL_GameControllerNumMappings() - replaced with SDL_GetGamepadMappings()
 | 
					* SDL_GameControllerNumMappings() - replaced with SDL_GetGamepadMappings()
 | 
				
			||||||
* SDL_GameControllerPathForIndex() - replaced with SDL_GetGamepadInstancePath()
 | 
					* SDL_GameControllerPathForIndex() - replaced with SDL_GetGamepadPathFromID()
 | 
				
			||||||
* SDL_GameControllerTypeForIndex() - replaced with SDL_GetGamepadInstanceType()
 | 
					* SDL_GameControllerTypeForIndex() - replaced with SDL_GetGamepadTypeFromID()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The following symbols have been renamed:
 | 
					The following symbols have been renamed:
 | 
				
			||||||
* SDL_CONTROLLER_AXIS_INVALID => SDL_GAMEPAD_AXIS_INVALID
 | 
					* SDL_CONTROLLER_AXIS_INVALID => SDL_GAMEPAD_AXIS_INVALID
 | 
				
			||||||
@@ -700,7 +700,7 @@ Rather than iterating over haptic devices using device index, there is a new fun
 | 
				
			|||||||
        if (haptics) {
 | 
					        if (haptics) {
 | 
				
			||||||
            for (i = 0; i < num_haptics; ++i) {
 | 
					            for (i = 0; i < num_haptics; ++i) {
 | 
				
			||||||
                SDL_HapticID instance_id = haptics[i];
 | 
					                SDL_HapticID instance_id = haptics[i];
 | 
				
			||||||
                const char *name = SDL_GetHapticInstanceName(instance_id);
 | 
					                const char *name = SDL_GetHapticNameFromID(instance_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                SDL_Log("Haptic %" SDL_PRIu32 ": %s\n",
 | 
					                SDL_Log("Haptic %" SDL_PRIu32 ": %s\n",
 | 
				
			||||||
                        instance_id, name ? name : "Unknown");
 | 
					                        instance_id, name ? name : "Unknown");
 | 
				
			||||||
@@ -741,8 +741,8 @@ The following functions have been renamed:
 | 
				
			|||||||
* SDL_MouseIsHaptic() => SDL_IsMouseHaptic()
 | 
					* SDL_MouseIsHaptic() => SDL_IsMouseHaptic()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The following functions have been removed:
 | 
					The following functions have been removed:
 | 
				
			||||||
* SDL_HapticIndex() - replaced with SDL_GetHapticInstanceID()
 | 
					* SDL_HapticIndex() - replaced with SDL_GetHapticID()
 | 
				
			||||||
* SDL_HapticName() - replaced with SDL_GetHapticInstanceName()
 | 
					* SDL_HapticName() - replaced with SDL_GetHapticNameFromID()
 | 
				
			||||||
* SDL_HapticOpened() - replaced with SDL_GetHapticFromInstanceID()
 | 
					* SDL_HapticOpened() - replaced with SDL_GetHapticFromInstanceID()
 | 
				
			||||||
* SDL_NumHaptics() - replaced with SDL_GetHaptics()
 | 
					* SDL_NumHaptics() - replaced with SDL_GetHaptics()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -830,11 +830,11 @@ Rather than iterating over joysticks using device index, there is a new function
 | 
				
			|||||||
        if (joysticks) {
 | 
					        if (joysticks) {
 | 
				
			||||||
            for (i = 0; i < num_joysticks; ++i) {
 | 
					            for (i = 0; i < num_joysticks; ++i) {
 | 
				
			||||||
                SDL_JoystickID instance_id = joysticks[i];
 | 
					                SDL_JoystickID instance_id = joysticks[i];
 | 
				
			||||||
                const char *name = SDL_GetJoystickInstanceName(instance_id);
 | 
					                const char *name = SDL_GetJoystickNameFromID(instance_id);
 | 
				
			||||||
                const char *path = SDL_GetJoystickInstancePath(instance_id);
 | 
					                const char *path = SDL_GetJoystickPathFromID(instance_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                SDL_Log("Joystick %" SDL_PRIu32 ": %s%s%s VID 0x%.4x, PID 0x%.4x\n",
 | 
					                SDL_Log("Joystick %" SDL_PRIu32 ": %s%s%s VID 0x%.4x, PID 0x%.4x\n",
 | 
				
			||||||
                        instance_id, name ? name : "Unknown", path ? ", " : "", path ? path : "", SDL_GetJoystickInstanceVendor(instance_id), SDL_GetJoystickInstanceProduct(instance_id));
 | 
					                        instance_id, name ? name : "Unknown", path ? ", " : "", path ? path : "", SDL_GetJoystickVendorFromID(instance_id), SDL_GetJoystickProductFromID(instance_id));
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            SDL_free(joysticks);
 | 
					            SDL_free(joysticks);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -845,7 +845,7 @@ Rather than iterating over joysticks using device index, there is a new function
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
The SDL_EVENT_JOYSTICK_ADDED event now provides the joystick instance ID in the `which` member of the jdevice event structure.
 | 
					The SDL_EVENT_JOYSTICK_ADDED event now provides the joystick instance ID in the `which` member of the jdevice event structure.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The functions SDL_GetJoysticks(), SDL_GetJoystickInstanceName(), SDL_GetJoystickInstancePath(), SDL_GetJoystickInstancePlayerIndex(), SDL_GetJoystickInstanceGUID(), SDL_GetJoystickInstanceVendor(), SDL_GetJoystickInstanceProduct(), SDL_GetJoystickInstanceProductVersion(), and SDL_GetJoystickInstanceType() have been added to directly query the list of available joysticks.
 | 
					The functions SDL_GetJoysticks(), SDL_GetJoystickNameFromID(), SDL_GetJoystickPathFromID(), SDL_GetJoystickPlayerIndexFromID(), SDL_GetJoystickGUIDFromID(), SDL_GetJoystickVendorFromID(), SDL_GetJoystickProductFromID(), SDL_GetJoystickProductVersionFromID(), and SDL_GetJoystickTypeFromID() have been added to directly query the list of available joysticks.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SDL_AttachVirtualJoystick() now returns the joystick instance ID instead of a device index, and returns 0 if there was an error.
 | 
					SDL_AttachVirtualJoystick() now returns the joystick instance ID instead of a device index, and returns 0 if there was an error.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -873,7 +873,7 @@ The following functions have been renamed:
 | 
				
			|||||||
* SDL_JoystickGetSerial() => SDL_GetJoystickSerial()
 | 
					* SDL_JoystickGetSerial() => SDL_GetJoystickSerial()
 | 
				
			||||||
* SDL_JoystickGetType() => SDL_GetJoystickType()
 | 
					* SDL_JoystickGetType() => SDL_GetJoystickType()
 | 
				
			||||||
* SDL_JoystickGetVendor() => SDL_GetJoystickVendor()
 | 
					* SDL_JoystickGetVendor() => SDL_GetJoystickVendor()
 | 
				
			||||||
* SDL_JoystickInstanceID() => SDL_GetJoystickInstanceID()
 | 
					* SDL_JoystickInstanceID() => SDL_GetJoystickID()
 | 
				
			||||||
* SDL_JoystickIsVirtual() => SDL_IsJoystickVirtual()
 | 
					* SDL_JoystickIsVirtual() => SDL_IsJoystickVirtual()
 | 
				
			||||||
* SDL_JoystickName() => SDL_GetJoystickName()
 | 
					* SDL_JoystickName() => SDL_GetJoystickName()
 | 
				
			||||||
* SDL_JoystickNumAxes() => SDL_GetNumJoystickAxes()
 | 
					* SDL_JoystickNumAxes() => SDL_GetNumJoystickAxes()
 | 
				
			||||||
@@ -899,18 +899,18 @@ The following functions have been removed:
 | 
				
			|||||||
* SDL_JoystickAttachVirtual() - replaced with SDL_AttachVirtualJoystick()
 | 
					* SDL_JoystickAttachVirtual() - replaced with SDL_AttachVirtualJoystick()
 | 
				
			||||||
* SDL_JoystickCurrentPowerLevel() - replaced with SDL_GetJoystickConnectionState() and SDL_GetJoystickPowerInfo()
 | 
					* SDL_JoystickCurrentPowerLevel() - replaced with SDL_GetJoystickConnectionState() and SDL_GetJoystickPowerInfo()
 | 
				
			||||||
* SDL_JoystickEventState() - replaced with SDL_SetJoystickEventsEnabled() and SDL_JoystickEventsEnabled()
 | 
					* SDL_JoystickEventState() - replaced with SDL_SetJoystickEventsEnabled() and SDL_JoystickEventsEnabled()
 | 
				
			||||||
* SDL_JoystickGetDeviceGUID() - replaced with SDL_GetJoystickInstanceGUID()
 | 
					* SDL_JoystickGetDeviceGUID() - replaced with SDL_GetJoystickGUIDFromID()
 | 
				
			||||||
* SDL_JoystickGetDeviceInstanceID()
 | 
					* SDL_JoystickGetDeviceInstanceID()
 | 
				
			||||||
* SDL_JoystickGetDevicePlayerIndex() - replaced with SDL_GetJoystickInstancePlayerIndex()
 | 
					* SDL_JoystickGetDevicePlayerIndex() - replaced with SDL_GetJoystickPlayerIndexFromID()
 | 
				
			||||||
* SDL_JoystickGetDeviceProduct() - replaced with SDL_GetJoystickInstanceProduct()
 | 
					* SDL_JoystickGetDeviceProduct() - replaced with SDL_GetJoystickProductFromID()
 | 
				
			||||||
* SDL_JoystickGetDeviceProductVersion() - replaced with SDL_GetJoystickInstanceProductVersion()
 | 
					* SDL_JoystickGetDeviceProductVersion() - replaced with SDL_GetJoystickProductVersionFromID()
 | 
				
			||||||
* SDL_JoystickGetDeviceType() - replaced with SDL_GetJoystickInstanceType()
 | 
					* SDL_JoystickGetDeviceType() - replaced with SDL_GetJoystickTypeFromID()
 | 
				
			||||||
* SDL_JoystickGetDeviceVendor() - replaced with SDL_GetJoystickInstanceVendor()
 | 
					* SDL_JoystickGetDeviceVendor() - replaced with SDL_GetJoystickVendorFromID()
 | 
				
			||||||
* SDL_JoystickHasLED() - replaced with SDL_PROP_JOYSTICK_CAP_RGB_LED_BOOLEAN
 | 
					* SDL_JoystickHasLED() - replaced with SDL_PROP_JOYSTICK_CAP_RGB_LED_BOOLEAN
 | 
				
			||||||
* SDL_JoystickHasRumble() - replaced with SDL_PROP_JOYSTICK_CAP_RUMBLE_BOOLEAN
 | 
					* SDL_JoystickHasRumble() - replaced with SDL_PROP_JOYSTICK_CAP_RUMBLE_BOOLEAN
 | 
				
			||||||
* SDL_JoystickHasRumbleTriggers() - replaced with SDL_PROP_JOYSTICK_CAP_TRIGGER_RUMBLE_BOOLEAN
 | 
					* SDL_JoystickHasRumbleTriggers() - replaced with SDL_PROP_JOYSTICK_CAP_TRIGGER_RUMBLE_BOOLEAN
 | 
				
			||||||
* SDL_JoystickNameForIndex() - replaced with SDL_GetJoystickInstanceName()
 | 
					* SDL_JoystickNameForIndex() - replaced with SDL_GetJoystickNameFromID()
 | 
				
			||||||
* SDL_JoystickPathForIndex() - replaced with SDL_GetJoystickInstancePath()
 | 
					* SDL_JoystickPathForIndex() - replaced with SDL_GetJoystickPathFromID()
 | 
				
			||||||
* 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.
 | 
					* SDL_VIRTUAL_JOYSTICK_DESC_VERSION - no longer needed, version info has been removed from SDL_VirtualJoystickDesc.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1571,9 +1571,9 @@ Rather than iterating over sensors using device index, there is a new function S
 | 
				
			|||||||
            for (i = 0; i < num_sensors; ++i) {
 | 
					            for (i = 0; i < num_sensors; ++i) {
 | 
				
			||||||
                SDL_Log("Sensor %" SDL_PRIu32 ": %s, type %d, platform type %d\n",
 | 
					                SDL_Log("Sensor %" SDL_PRIu32 ": %s, type %d, platform type %d\n",
 | 
				
			||||||
                        sensors[i],
 | 
					                        sensors[i],
 | 
				
			||||||
                        SDL_GetSensorInstanceName(sensors[i]),
 | 
					                        SDL_GetSensorNameFromID(sensors[i]),
 | 
				
			||||||
                        SDL_GetSensorInstanceType(sensors[i]),
 | 
					                        SDL_GetSensorTypeFromID(sensors[i]),
 | 
				
			||||||
                        SDL_GetSensorInstanceNonPortableType(sensors[i]));
 | 
					                        SDL_GetSensorNonPortableTypeFromID(sensors[i]));
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            SDL_free(sensors);
 | 
					            SDL_free(sensors);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -1589,7 +1589,7 @@ The following functions have been renamed:
 | 
				
			|||||||
* SDL_SensorClose() => SDL_CloseSensor()
 | 
					* SDL_SensorClose() => SDL_CloseSensor()
 | 
				
			||||||
* SDL_SensorFromInstanceID() => SDL_GetSensorFromInstanceID()
 | 
					* SDL_SensorFromInstanceID() => SDL_GetSensorFromInstanceID()
 | 
				
			||||||
* SDL_SensorGetData() => SDL_GetSensorData()
 | 
					* SDL_SensorGetData() => SDL_GetSensorData()
 | 
				
			||||||
* SDL_SensorGetInstanceID() => SDL_GetSensorInstanceID()
 | 
					* SDL_SensorGetInstanceID() => SDL_GetSensorID()
 | 
				
			||||||
* SDL_SensorGetName() => SDL_GetSensorName()
 | 
					* SDL_SensorGetName() => SDL_GetSensorName()
 | 
				
			||||||
* SDL_SensorGetNonPortableType() => SDL_GetSensorNonPortableType()
 | 
					* SDL_SensorGetNonPortableType() => SDL_GetSensorNonPortableType()
 | 
				
			||||||
* SDL_SensorGetType() => SDL_GetSensorType()
 | 
					* SDL_SensorGetType() => SDL_GetSensorType()
 | 
				
			||||||
@@ -1600,9 +1600,9 @@ The following functions have been removed:
 | 
				
			|||||||
* SDL_LockSensors()
 | 
					* SDL_LockSensors()
 | 
				
			||||||
* SDL_NumSensors() - replaced with SDL_GetSensors()
 | 
					* SDL_NumSensors() - replaced with SDL_GetSensors()
 | 
				
			||||||
* SDL_SensorGetDeviceInstanceID()
 | 
					* SDL_SensorGetDeviceInstanceID()
 | 
				
			||||||
* SDL_SensorGetDeviceName() - replaced with SDL_GetSensorInstanceName()
 | 
					* SDL_SensorGetDeviceName() - replaced with SDL_GetSensorNameFromID()
 | 
				
			||||||
* SDL_SensorGetDeviceNonPortableType() - replaced with SDL_GetSensorInstanceNonPortableType()
 | 
					* SDL_SensorGetDeviceNonPortableType() - replaced with SDL_GetSensorNonPortableTypeFromID()
 | 
				
			||||||
* SDL_SensorGetDeviceType() - replaced with SDL_GetSensorInstanceType()
 | 
					* SDL_SensorGetDeviceType() - replaced with SDL_GetSensorTypeFromID()
 | 
				
			||||||
* SDL_UnlockSensors()
 | 
					* SDL_UnlockSensors()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## SDL_shape.h
 | 
					## SDL_shape.h
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -412,7 +412,7 @@ extern SDL_DECLSPEC char ** SDLCALL SDL_GetGamepadMappings(int *count);
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * \since This function is available since SDL 3.0.0.
 | 
					 * \since This function is available since SDL 3.0.0.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \sa SDL_GetJoystickInstanceGUID
 | 
					 * \sa SDL_GetJoystickGUIDFromID
 | 
				
			||||||
 * \sa SDL_GetJoystickGUID
 | 
					 * \sa SDL_GetJoystickGUID
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC char * SDLCALL SDL_GetGamepadMappingForGUID(SDL_JoystickGUID guid);
 | 
					extern SDL_DECLSPEC char * SDLCALL SDL_GetGamepadMappingForGUID(SDL_JoystickGUID guid);
 | 
				
			||||||
@@ -431,7 +431,7 @@ extern SDL_DECLSPEC char * SDLCALL SDL_GetGamepadMappingForGUID(SDL_JoystickGUID
 | 
				
			|||||||
 * \since This function is available since SDL 3.0.0.
 | 
					 * \since This function is available since SDL 3.0.0.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \sa SDL_AddGamepadMapping
 | 
					 * \sa SDL_AddGamepadMapping
 | 
				
			||||||
 * \sa SDL_GetGamepadInstanceMapping
 | 
					 * \sa SDL_GetGamepadMappingFromID
 | 
				
			||||||
 * \sa SDL_GetGamepadMappingForGUID
 | 
					 * \sa SDL_GetGamepadMappingForGUID
 | 
				
			||||||
 * \sa SDL_SetGamepadMapping
 | 
					 * \sa SDL_SetGamepadMapping
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -511,7 +511,7 @@ extern SDL_DECLSPEC SDL_bool SDLCALL SDL_IsGamepad(SDL_JoystickID instance_id);
 | 
				
			|||||||
 * \sa SDL_GetGamepadName
 | 
					 * \sa SDL_GetGamepadName
 | 
				
			||||||
 * \sa SDL_GetGamepads
 | 
					 * \sa SDL_GetGamepads
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC const char *SDLCALL SDL_GetGamepadInstanceName(SDL_JoystickID instance_id);
 | 
					extern SDL_DECLSPEC const char *SDLCALL SDL_GetGamepadNameFromID(SDL_JoystickID instance_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Get the implementation dependent path of a gamepad.
 | 
					 * Get the implementation dependent path of a gamepad.
 | 
				
			||||||
@@ -529,7 +529,7 @@ extern SDL_DECLSPEC const char *SDLCALL SDL_GetGamepadInstanceName(SDL_JoystickI
 | 
				
			|||||||
 * \sa SDL_GetGamepadPath
 | 
					 * \sa SDL_GetGamepadPath
 | 
				
			||||||
 * \sa SDL_GetGamepads
 | 
					 * \sa SDL_GetGamepads
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC const char *SDLCALL SDL_GetGamepadInstancePath(SDL_JoystickID instance_id);
 | 
					extern SDL_DECLSPEC const char *SDLCALL SDL_GetGamepadPathFromID(SDL_JoystickID instance_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Get the player index of a gamepad.
 | 
					 * Get the player index of a gamepad.
 | 
				
			||||||
@@ -544,7 +544,7 @@ extern SDL_DECLSPEC const char *SDLCALL SDL_GetGamepadInstancePath(SDL_JoystickI
 | 
				
			|||||||
 * \sa SDL_GetGamepadPlayerIndex
 | 
					 * \sa SDL_GetGamepadPlayerIndex
 | 
				
			||||||
 * \sa SDL_GetGamepads
 | 
					 * \sa SDL_GetGamepads
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC int SDLCALL SDL_GetGamepadInstancePlayerIndex(SDL_JoystickID instance_id);
 | 
					extern SDL_DECLSPEC int SDLCALL SDL_GetGamepadPlayerIndexFromID(SDL_JoystickID instance_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Get the implementation-dependent GUID of a gamepad.
 | 
					 * Get the implementation-dependent GUID of a gamepad.
 | 
				
			||||||
@@ -561,7 +561,7 @@ extern SDL_DECLSPEC int SDLCALL SDL_GetGamepadInstancePlayerIndex(SDL_JoystickID
 | 
				
			|||||||
 * \sa SDL_GetGamepadGUIDString
 | 
					 * \sa SDL_GetGamepadGUIDString
 | 
				
			||||||
 * \sa SDL_GetGamepads
 | 
					 * \sa SDL_GetGamepads
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC SDL_JoystickGUID SDLCALL SDL_GetGamepadInstanceGUID(SDL_JoystickID instance_id);
 | 
					extern SDL_DECLSPEC SDL_JoystickGUID SDLCALL SDL_GetGamepadGUIDFromID(SDL_JoystickID instance_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Get the USB vendor ID of a gamepad, if available.
 | 
					 * Get the USB vendor ID of a gamepad, if available.
 | 
				
			||||||
@@ -578,7 +578,7 @@ extern SDL_DECLSPEC SDL_JoystickGUID SDLCALL SDL_GetGamepadInstanceGUID(SDL_Joys
 | 
				
			|||||||
 * \sa SDL_GetGamepadVendor
 | 
					 * \sa SDL_GetGamepadVendor
 | 
				
			||||||
 * \sa SDL_GetGamepads
 | 
					 * \sa SDL_GetGamepads
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetGamepadInstanceVendor(SDL_JoystickID instance_id);
 | 
					extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetGamepadVendorFromID(SDL_JoystickID instance_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Get the USB product ID of a gamepad, if available.
 | 
					 * Get the USB product ID of a gamepad, if available.
 | 
				
			||||||
@@ -595,7 +595,7 @@ extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetGamepadInstanceVendor(SDL_JoystickID i
 | 
				
			|||||||
 * \sa SDL_GetGamepadProduct
 | 
					 * \sa SDL_GetGamepadProduct
 | 
				
			||||||
 * \sa SDL_GetGamepads
 | 
					 * \sa SDL_GetGamepads
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetGamepadInstanceProduct(SDL_JoystickID instance_id);
 | 
					extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetGamepadProductFromID(SDL_JoystickID instance_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Get the product version of a gamepad, if available.
 | 
					 * Get the product version of a gamepad, if available.
 | 
				
			||||||
@@ -612,7 +612,7 @@ extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetGamepadInstanceProduct(SDL_JoystickID
 | 
				
			|||||||
 * \sa SDL_GetGamepadProductVersion
 | 
					 * \sa SDL_GetGamepadProductVersion
 | 
				
			||||||
 * \sa SDL_GetGamepads
 | 
					 * \sa SDL_GetGamepads
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetGamepadInstanceProductVersion(SDL_JoystickID instance_id);
 | 
					extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetGamepadProductVersionFromID(SDL_JoystickID instance_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Get the type of a gamepad.
 | 
					 * Get the type of a gamepad.
 | 
				
			||||||
@@ -628,7 +628,7 @@ extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetGamepadInstanceProductVersion(SDL_Joys
 | 
				
			|||||||
 * \sa SDL_GetGamepads
 | 
					 * \sa SDL_GetGamepads
 | 
				
			||||||
 * \sa SDL_GetRealGamepadInstanceType
 | 
					 * \sa SDL_GetRealGamepadInstanceType
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC SDL_GamepadType SDLCALL SDL_GetGamepadInstanceType(SDL_JoystickID instance_id);
 | 
					extern SDL_DECLSPEC SDL_GamepadType SDLCALL SDL_GetGamepadTypeFromID(SDL_JoystickID instance_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Get the type of a gamepad, ignoring any mapping override.
 | 
					 * Get the type of a gamepad, ignoring any mapping override.
 | 
				
			||||||
@@ -640,7 +640,7 @@ extern SDL_DECLSPEC SDL_GamepadType SDLCALL SDL_GetGamepadInstanceType(SDL_Joyst
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * \since This function is available since SDL 3.0.0.
 | 
					 * \since This function is available since SDL 3.0.0.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \sa SDL_GetGamepadInstanceType
 | 
					 * \sa SDL_GetGamepadTypeFromID
 | 
				
			||||||
 * \sa SDL_GetGamepads
 | 
					 * \sa SDL_GetGamepads
 | 
				
			||||||
 * \sa SDL_GetRealGamepadType
 | 
					 * \sa SDL_GetRealGamepadType
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -660,7 +660,7 @@ extern SDL_DECLSPEC SDL_GamepadType SDLCALL SDL_GetRealGamepadInstanceType(SDL_J
 | 
				
			|||||||
 * \sa SDL_GetGamepads
 | 
					 * \sa SDL_GetGamepads
 | 
				
			||||||
 * \sa SDL_GetGamepadMapping
 | 
					 * \sa SDL_GetGamepadMapping
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC char *SDLCALL SDL_GetGamepadInstanceMapping(SDL_JoystickID instance_id);
 | 
					extern SDL_DECLSPEC char *SDLCALL SDL_GetGamepadMappingFromID(SDL_JoystickID instance_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Open a gamepad for use.
 | 
					 * Open a gamepad for use.
 | 
				
			||||||
@@ -744,7 +744,7 @@ extern SDL_DECLSPEC SDL_PropertiesID SDLCALL SDL_GetGamepadProperties(SDL_Gamepa
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * \since This function is available since SDL 3.0.0.
 | 
					 * \since This function is available since SDL 3.0.0.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC SDL_JoystickID SDLCALL SDL_GetGamepadInstanceID(SDL_Gamepad *gamepad);
 | 
					extern SDL_DECLSPEC SDL_JoystickID SDLCALL SDL_GetGamepadID(SDL_Gamepad *gamepad);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Get the implementation-dependent name for an opened gamepad.
 | 
					 * Get the implementation-dependent name for an opened gamepad.
 | 
				
			||||||
@@ -758,7 +758,7 @@ extern SDL_DECLSPEC SDL_JoystickID SDLCALL SDL_GetGamepadInstanceID(SDL_Gamepad
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * \since This function is available since SDL 3.0.0.
 | 
					 * \since This function is available since SDL 3.0.0.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \sa SDL_GetGamepadInstanceName
 | 
					 * \sa SDL_GetGamepadNameFromID
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC const char *SDLCALL SDL_GetGamepadName(SDL_Gamepad *gamepad);
 | 
					extern SDL_DECLSPEC const char *SDLCALL SDL_GetGamepadName(SDL_Gamepad *gamepad);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -774,7 +774,7 @@ extern SDL_DECLSPEC const char *SDLCALL SDL_GetGamepadName(SDL_Gamepad *gamepad)
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * \since This function is available since SDL 3.0.0.
 | 
					 * \since This function is available since SDL 3.0.0.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \sa SDL_GetGamepadInstancePath
 | 
					 * \sa SDL_GetGamepadPathFromID
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC const char *SDLCALL SDL_GetGamepadPath(SDL_Gamepad *gamepad);
 | 
					extern SDL_DECLSPEC const char *SDLCALL SDL_GetGamepadPath(SDL_Gamepad *gamepad);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -787,7 +787,7 @@ extern SDL_DECLSPEC const char *SDLCALL SDL_GetGamepadPath(SDL_Gamepad *gamepad)
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * \since This function is available since SDL 3.0.0.
 | 
					 * \since This function is available since SDL 3.0.0.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \sa SDL_GetGamepadInstanceType
 | 
					 * \sa SDL_GetGamepadTypeFromID
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC SDL_GamepadType SDLCALL SDL_GetGamepadType(SDL_Gamepad *gamepad);
 | 
					extern SDL_DECLSPEC SDL_GamepadType SDLCALL SDL_GetGamepadType(SDL_Gamepad *gamepad);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -843,7 +843,7 @@ extern SDL_DECLSPEC int SDLCALL SDL_SetGamepadPlayerIndex(SDL_Gamepad *gamepad,
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * \since This function is available since SDL 3.0.0.
 | 
					 * \since This function is available since SDL 3.0.0.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \sa SDL_GetGamepadInstanceVendor
 | 
					 * \sa SDL_GetGamepadVendorFromID
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetGamepadVendor(SDL_Gamepad *gamepad);
 | 
					extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetGamepadVendor(SDL_Gamepad *gamepad);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -857,7 +857,7 @@ extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetGamepadVendor(SDL_Gamepad *gamepad);
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * \since This function is available since SDL 3.0.0.
 | 
					 * \since This function is available since SDL 3.0.0.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \sa SDL_GetGamepadInstanceProduct
 | 
					 * \sa SDL_GetGamepadProductFromID
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetGamepadProduct(SDL_Gamepad *gamepad);
 | 
					extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetGamepadProduct(SDL_Gamepad *gamepad);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -871,7 +871,7 @@ extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetGamepadProduct(SDL_Gamepad *gamepad);
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * \since This function is available since SDL 3.0.0.
 | 
					 * \since This function is available since SDL 3.0.0.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \sa SDL_GetGamepadInstanceProductVersion
 | 
					 * \sa SDL_GetGamepadProductVersionFromID
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetGamepadProductVersion(SDL_Gamepad *gamepad);
 | 
					extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetGamepadProductVersion(SDL_Gamepad *gamepad);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -961,7 +961,7 @@ extern SDL_DECLSPEC SDL_HapticID *SDLCALL SDL_GetHaptics(int *count);
 | 
				
			|||||||
 * \sa SDL_GetHapticName
 | 
					 * \sa SDL_GetHapticName
 | 
				
			||||||
 * \sa SDL_OpenHaptic
 | 
					 * \sa SDL_OpenHaptic
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC const char *SDLCALL SDL_GetHapticInstanceName(SDL_HapticID instance_id);
 | 
					extern SDL_DECLSPEC const char *SDLCALL SDL_GetHapticNameFromID(SDL_HapticID instance_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Open a haptic device for use.
 | 
					 * Open a haptic device for use.
 | 
				
			||||||
@@ -1009,7 +1009,7 @@ extern SDL_DECLSPEC SDL_Haptic *SDLCALL SDL_GetHapticFromInstanceID(SDL_HapticID
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * \since This function is available since SDL 3.0.0.
 | 
					 * \since This function is available since SDL 3.0.0.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC SDL_HapticID SDLCALL SDL_GetHapticInstanceID(SDL_Haptic *haptic);
 | 
					extern SDL_DECLSPEC SDL_HapticID SDLCALL SDL_GetHapticID(SDL_Haptic *haptic);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Get the implementation dependent name of a haptic device.
 | 
					 * Get the implementation dependent name of a haptic device.
 | 
				
			||||||
@@ -1023,7 +1023,7 @@ extern SDL_DECLSPEC SDL_HapticID SDLCALL SDL_GetHapticInstanceID(SDL_Haptic *hap
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * \since This function is available since SDL 3.0.0.
 | 
					 * \since This function is available since SDL 3.0.0.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \sa SDL_GetHapticInstanceName
 | 
					 * \sa SDL_GetHapticNameFromID
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC const char *SDLCALL SDL_GetHapticName(SDL_Haptic *haptic);
 | 
					extern SDL_DECLSPEC const char *SDLCALL SDL_GetHapticName(SDL_Haptic *haptic);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -112,7 +112,7 @@ typedef Uint32 SDL_JoystickID;
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * In some cases, SDL can identify a low-level joystick as being a certain
 | 
					 * In some cases, SDL can identify a low-level joystick as being a certain
 | 
				
			||||||
 * type of device, and will report it through SDL_GetJoystickType (or
 | 
					 * type of device, and will report it through SDL_GetJoystickType (or
 | 
				
			||||||
 * SDL_GetJoystickInstanceType).
 | 
					 * SDL_GetJoystickTypeFromID).
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This is by no means a complete list of everything that can be plugged into
 | 
					 * This is by no means a complete list of everything that can be plugged into
 | 
				
			||||||
 * a computer.
 | 
					 * a computer.
 | 
				
			||||||
@@ -238,7 +238,7 @@ extern SDL_DECLSPEC SDL_JoystickID *SDLCALL SDL_GetJoysticks(int *count);
 | 
				
			|||||||
 * \sa SDL_GetJoystickName
 | 
					 * \sa SDL_GetJoystickName
 | 
				
			||||||
 * \sa SDL_GetJoysticks
 | 
					 * \sa SDL_GetJoysticks
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC const char *SDLCALL SDL_GetJoystickInstanceName(SDL_JoystickID instance_id);
 | 
					extern SDL_DECLSPEC const char *SDLCALL SDL_GetJoystickNameFromID(SDL_JoystickID instance_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Get the implementation dependent path of a joystick.
 | 
					 * Get the implementation dependent path of a joystick.
 | 
				
			||||||
@@ -256,7 +256,7 @@ extern SDL_DECLSPEC const char *SDLCALL SDL_GetJoystickInstanceName(SDL_Joystick
 | 
				
			|||||||
 * \sa SDL_GetJoystickPath
 | 
					 * \sa SDL_GetJoystickPath
 | 
				
			||||||
 * \sa SDL_GetJoysticks
 | 
					 * \sa SDL_GetJoysticks
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC const char *SDLCALL SDL_GetJoystickInstancePath(SDL_JoystickID instance_id);
 | 
					extern SDL_DECLSPEC const char *SDLCALL SDL_GetJoystickPathFromID(SDL_JoystickID instance_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Get the player index of a joystick.
 | 
					 * Get the player index of a joystick.
 | 
				
			||||||
@@ -271,7 +271,7 @@ extern SDL_DECLSPEC const char *SDLCALL SDL_GetJoystickInstancePath(SDL_Joystick
 | 
				
			|||||||
 * \sa SDL_GetJoystickPlayerIndex
 | 
					 * \sa SDL_GetJoystickPlayerIndex
 | 
				
			||||||
 * \sa SDL_GetJoysticks
 | 
					 * \sa SDL_GetJoysticks
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC int SDLCALL SDL_GetJoystickInstancePlayerIndex(SDL_JoystickID instance_id);
 | 
					extern SDL_DECLSPEC int SDLCALL SDL_GetJoystickPlayerIndexFromID(SDL_JoystickID instance_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Get the implementation-dependent GUID of a joystick.
 | 
					 * Get the implementation-dependent GUID of a joystick.
 | 
				
			||||||
@@ -287,7 +287,7 @@ extern SDL_DECLSPEC int SDLCALL SDL_GetJoystickInstancePlayerIndex(SDL_JoystickI
 | 
				
			|||||||
 * \sa SDL_GetJoystickGUID
 | 
					 * \sa SDL_GetJoystickGUID
 | 
				
			||||||
 * \sa SDL_GetJoystickGUIDString
 | 
					 * \sa SDL_GetJoystickGUIDString
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC SDL_JoystickGUID SDLCALL SDL_GetJoystickInstanceGUID(SDL_JoystickID instance_id);
 | 
					extern SDL_DECLSPEC SDL_JoystickGUID SDLCALL SDL_GetJoystickGUIDFromID(SDL_JoystickID instance_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Get the USB vendor ID of a joystick, if available.
 | 
					 * Get the USB vendor ID of a joystick, if available.
 | 
				
			||||||
@@ -304,7 +304,7 @@ extern SDL_DECLSPEC SDL_JoystickGUID SDLCALL SDL_GetJoystickInstanceGUID(SDL_Joy
 | 
				
			|||||||
 * \sa SDL_GetJoystickVendor
 | 
					 * \sa SDL_GetJoystickVendor
 | 
				
			||||||
 * \sa SDL_GetJoysticks
 | 
					 * \sa SDL_GetJoysticks
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetJoystickInstanceVendor(SDL_JoystickID instance_id);
 | 
					extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetJoystickVendorFromID(SDL_JoystickID instance_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Get the USB product ID of a joystick, if available.
 | 
					 * Get the USB product ID of a joystick, if available.
 | 
				
			||||||
@@ -321,7 +321,7 @@ extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetJoystickInstanceVendor(SDL_JoystickID
 | 
				
			|||||||
 * \sa SDL_GetJoystickProduct
 | 
					 * \sa SDL_GetJoystickProduct
 | 
				
			||||||
 * \sa SDL_GetJoysticks
 | 
					 * \sa SDL_GetJoysticks
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetJoystickInstanceProduct(SDL_JoystickID instance_id);
 | 
					extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetJoystickProductFromID(SDL_JoystickID instance_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Get the product version of a joystick, if available.
 | 
					 * Get the product version of a joystick, if available.
 | 
				
			||||||
@@ -338,7 +338,7 @@ extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetJoystickInstanceProduct(SDL_JoystickID
 | 
				
			|||||||
 * \sa SDL_GetJoystickProductVersion
 | 
					 * \sa SDL_GetJoystickProductVersion
 | 
				
			||||||
 * \sa SDL_GetJoysticks
 | 
					 * \sa SDL_GetJoysticks
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetJoystickInstanceProductVersion(SDL_JoystickID instance_id);
 | 
					extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetJoystickProductVersionFromID(SDL_JoystickID instance_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Get the type of a joystick, if available.
 | 
					 * Get the type of a joystick, if available.
 | 
				
			||||||
@@ -355,7 +355,7 @@ extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetJoystickInstanceProductVersion(SDL_Joy
 | 
				
			|||||||
 * \sa SDL_GetJoystickType
 | 
					 * \sa SDL_GetJoystickType
 | 
				
			||||||
 * \sa SDL_GetJoysticks
 | 
					 * \sa SDL_GetJoysticks
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC SDL_JoystickType SDLCALL SDL_GetJoystickInstanceType(SDL_JoystickID instance_id);
 | 
					extern SDL_DECLSPEC SDL_JoystickType SDLCALL SDL_GetJoystickTypeFromID(SDL_JoystickID instance_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Open a joystick for use.
 | 
					 * Open a joystick for use.
 | 
				
			||||||
@@ -674,7 +674,7 @@ extern SDL_DECLSPEC SDL_PropertiesID SDLCALL SDL_GetJoystickProperties(SDL_Joyst
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * \since This function is available since SDL 3.0.0.
 | 
					 * \since This function is available since SDL 3.0.0.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \sa SDL_GetJoystickInstanceName
 | 
					 * \sa SDL_GetJoystickNameFromID
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC const char *SDLCALL SDL_GetJoystickName(SDL_Joystick *joystick);
 | 
					extern SDL_DECLSPEC const char *SDLCALL SDL_GetJoystickName(SDL_Joystick *joystick);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -689,7 +689,7 @@ extern SDL_DECLSPEC const char *SDLCALL SDL_GetJoystickName(SDL_Joystick *joysti
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * \since This function is available since SDL 3.0.0.
 | 
					 * \since This function is available since SDL 3.0.0.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \sa SDL_GetJoystickInstancePath
 | 
					 * \sa SDL_GetJoystickPathFromID
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC const char *SDLCALL SDL_GetJoystickPath(SDL_Joystick *joystick);
 | 
					extern SDL_DECLSPEC const char *SDLCALL SDL_GetJoystickPath(SDL_Joystick *joystick);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -735,7 +735,7 @@ extern SDL_DECLSPEC int SDLCALL SDL_SetJoystickPlayerIndex(SDL_Joystick *joystic
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * \since This function is available since SDL 3.0.0.
 | 
					 * \since This function is available since SDL 3.0.0.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \sa SDL_GetJoystickInstanceGUID
 | 
					 * \sa SDL_GetJoystickGUIDFromID
 | 
				
			||||||
 * \sa SDL_GetJoystickGUIDString
 | 
					 * \sa SDL_GetJoystickGUIDString
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC SDL_JoystickGUID SDLCALL SDL_GetJoystickGUID(SDL_Joystick *joystick);
 | 
					extern SDL_DECLSPEC SDL_JoystickGUID SDLCALL SDL_GetJoystickGUID(SDL_Joystick *joystick);
 | 
				
			||||||
@@ -750,7 +750,7 @@ extern SDL_DECLSPEC SDL_JoystickGUID SDLCALL SDL_GetJoystickGUID(SDL_Joystick *j
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * \since This function is available since SDL 3.0.0.
 | 
					 * \since This function is available since SDL 3.0.0.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \sa SDL_GetJoystickInstanceVendor
 | 
					 * \sa SDL_GetJoystickVendorFromID
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetJoystickVendor(SDL_Joystick *joystick);
 | 
					extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetJoystickVendor(SDL_Joystick *joystick);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -764,7 +764,7 @@ extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetJoystickVendor(SDL_Joystick *joystick)
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * \since This function is available since SDL 3.0.0.
 | 
					 * \since This function is available since SDL 3.0.0.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \sa SDL_GetJoystickInstanceProduct
 | 
					 * \sa SDL_GetJoystickProductFromID
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetJoystickProduct(SDL_Joystick *joystick);
 | 
					extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetJoystickProduct(SDL_Joystick *joystick);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -778,7 +778,7 @@ extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetJoystickProduct(SDL_Joystick *joystick
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * \since This function is available since SDL 3.0.0.
 | 
					 * \since This function is available since SDL 3.0.0.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \sa SDL_GetJoystickInstanceProductVersion
 | 
					 * \sa SDL_GetJoystickProductVersionFromID
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetJoystickProductVersion(SDL_Joystick *joystick);
 | 
					extern SDL_DECLSPEC Uint16 SDLCALL SDL_GetJoystickProductVersion(SDL_Joystick *joystick);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -818,7 +818,7 @@ extern SDL_DECLSPEC const char * SDLCALL SDL_GetJoystickSerial(SDL_Joystick *joy
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * \since This function is available since SDL 3.0.0.
 | 
					 * \since This function is available since SDL 3.0.0.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \sa SDL_GetJoystickInstanceType
 | 
					 * \sa SDL_GetJoystickTypeFromID
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC SDL_JoystickType SDLCALL SDL_GetJoystickType(SDL_Joystick *joystick);
 | 
					extern SDL_DECLSPEC SDL_JoystickType SDLCALL SDL_GetJoystickType(SDL_Joystick *joystick);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -835,7 +835,7 @@ extern SDL_DECLSPEC SDL_JoystickType SDLCALL SDL_GetJoystickType(SDL_Joystick *j
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * \since This function is available since SDL 3.0.0.
 | 
					 * \since This function is available since SDL 3.0.0.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \sa SDL_GetJoystickInstanceGUID
 | 
					 * \sa SDL_GetJoystickGUIDFromID
 | 
				
			||||||
 * \sa SDL_GetJoystickGUID
 | 
					 * \sa SDL_GetJoystickGUID
 | 
				
			||||||
 * \sa SDL_GetJoystickGUIDFromString
 | 
					 * \sa SDL_GetJoystickGUIDFromString
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -872,7 +872,7 @@ extern SDL_DECLSPEC SDL_JoystickGUID SDLCALL SDL_GetJoystickGUIDFromString(const
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * \since This function is available since SDL 3.0.0.
 | 
					 * \since This function is available since SDL 3.0.0.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \sa SDL_GetJoystickInstanceGUID
 | 
					 * \sa SDL_GetJoystickGUIDFromID
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC void SDLCALL SDL_GetJoystickGUIDInfo(SDL_JoystickGUID guid, Uint16 *vendor, Uint16 *product, Uint16 *version, Uint16 *crc16);
 | 
					extern SDL_DECLSPEC void SDLCALL SDL_GetJoystickGUIDInfo(SDL_JoystickGUID guid, Uint16 *vendor, Uint16 *product, Uint16 *version, Uint16 *crc16);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -896,7 +896,7 @@ extern SDL_DECLSPEC SDL_bool SDLCALL SDL_JoystickConnected(SDL_Joystick *joystic
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * \since This function is available since SDL 3.0.0.
 | 
					 * \since This function is available since SDL 3.0.0.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC SDL_JoystickID SDLCALL SDL_GetJoystickInstanceID(SDL_Joystick *joystick);
 | 
					extern SDL_DECLSPEC SDL_JoystickID SDLCALL SDL_GetJoystickID(SDL_Joystick *joystick);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Get the number of general axis controls on a joystick.
 | 
					 * Get the number of general axis controls on a joystick.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -325,7 +325,7 @@
 | 
				
			|||||||
#define SDL_JoystickGetSerial SDL_GetJoystickSerial
 | 
					#define SDL_JoystickGetSerial SDL_GetJoystickSerial
 | 
				
			||||||
#define SDL_JoystickGetType SDL_GetJoystickType
 | 
					#define SDL_JoystickGetType SDL_GetJoystickType
 | 
				
			||||||
#define SDL_JoystickGetVendor SDL_GetJoystickVendor
 | 
					#define SDL_JoystickGetVendor SDL_GetJoystickVendor
 | 
				
			||||||
#define SDL_JoystickInstanceID SDL_GetJoystickInstanceID
 | 
					#define SDL_JoystickInstanceID SDL_GetJoystickID
 | 
				
			||||||
#define SDL_JoystickIsVirtual SDL_IsJoystickVirtual
 | 
					#define SDL_JoystickIsVirtual SDL_IsJoystickVirtual
 | 
				
			||||||
#define SDL_JoystickName SDL_GetJoystickName
 | 
					#define SDL_JoystickName SDL_GetJoystickName
 | 
				
			||||||
#define SDL_JoystickNumAxes SDL_GetNumJoystickAxes
 | 
					#define SDL_JoystickNumAxes SDL_GetNumJoystickAxes
 | 
				
			||||||
@@ -566,7 +566,7 @@
 | 
				
			|||||||
#define SDL_SensorClose SDL_CloseSensor
 | 
					#define SDL_SensorClose SDL_CloseSensor
 | 
				
			||||||
#define SDL_SensorFromInstanceID SDL_GetSensorFromInstanceID
 | 
					#define SDL_SensorFromInstanceID SDL_GetSensorFromInstanceID
 | 
				
			||||||
#define SDL_SensorGetData SDL_GetSensorData
 | 
					#define SDL_SensorGetData SDL_GetSensorData
 | 
				
			||||||
#define SDL_SensorGetInstanceID SDL_GetSensorInstanceID
 | 
					#define SDL_SensorGetInstanceID SDL_GetSensorID
 | 
				
			||||||
#define SDL_SensorGetName SDL_GetSensorName
 | 
					#define SDL_SensorGetName SDL_GetSensorName
 | 
				
			||||||
#define SDL_SensorGetNonPortableType SDL_GetSensorNonPortableType
 | 
					#define SDL_SensorGetNonPortableType SDL_GetSensorNonPortableType
 | 
				
			||||||
#define SDL_SensorGetType SDL_GetSensorType
 | 
					#define SDL_SensorGetType SDL_GetSensorType
 | 
				
			||||||
@@ -923,7 +923,7 @@
 | 
				
			|||||||
#define SDL_JoystickGetSerial SDL_JoystickGetSerial_renamed_SDL_GetJoystickSerial
 | 
					#define SDL_JoystickGetSerial SDL_JoystickGetSerial_renamed_SDL_GetJoystickSerial
 | 
				
			||||||
#define SDL_JoystickGetType SDL_JoystickGetType_renamed_SDL_GetJoystickType
 | 
					#define SDL_JoystickGetType SDL_JoystickGetType_renamed_SDL_GetJoystickType
 | 
				
			||||||
#define SDL_JoystickGetVendor SDL_JoystickGetVendor_renamed_SDL_GetJoystickVendor
 | 
					#define SDL_JoystickGetVendor SDL_JoystickGetVendor_renamed_SDL_GetJoystickVendor
 | 
				
			||||||
#define SDL_JoystickInstanceID SDL_JoystickInstanceID_renamed_SDL_GetJoystickInstanceID
 | 
					#define SDL_JoystickInstanceID SDL_JoystickInstanceID_renamed_SDL_GetJoystickID
 | 
				
			||||||
#define SDL_JoystickIsVirtual SDL_JoystickIsVirtual_renamed_SDL_IsJoystickVirtual
 | 
					#define SDL_JoystickIsVirtual SDL_JoystickIsVirtual_renamed_SDL_IsJoystickVirtual
 | 
				
			||||||
#define SDL_JoystickName SDL_JoystickName_renamed_SDL_GetJoystickName
 | 
					#define SDL_JoystickName SDL_JoystickName_renamed_SDL_GetJoystickName
 | 
				
			||||||
#define SDL_JoystickNumAxes SDL_JoystickNumAxes_renamed_SDL_GetNumJoystickAxes
 | 
					#define SDL_JoystickNumAxes SDL_JoystickNumAxes_renamed_SDL_GetNumJoystickAxes
 | 
				
			||||||
@@ -1164,7 +1164,7 @@
 | 
				
			|||||||
#define SDL_SensorClose SDL_SensorClose_renamed_SDL_CloseSensor
 | 
					#define SDL_SensorClose SDL_SensorClose_renamed_SDL_CloseSensor
 | 
				
			||||||
#define SDL_SensorFromInstanceID SDL_SensorFromInstanceID_renamed_SDL_GetSensorFromInstanceID
 | 
					#define SDL_SensorFromInstanceID SDL_SensorFromInstanceID_renamed_SDL_GetSensorFromInstanceID
 | 
				
			||||||
#define SDL_SensorGetData SDL_SensorGetData_renamed_SDL_GetSensorData
 | 
					#define SDL_SensorGetData SDL_SensorGetData_renamed_SDL_GetSensorData
 | 
				
			||||||
#define SDL_SensorGetInstanceID SDL_SensorGetInstanceID_renamed_SDL_GetSensorInstanceID
 | 
					#define SDL_SensorGetInstanceID SDL_SensorGetInstanceID_renamed_SDL_GetSensorID
 | 
				
			||||||
#define SDL_SensorGetName SDL_SensorGetName_renamed_SDL_GetSensorName
 | 
					#define SDL_SensorGetName SDL_SensorGetName_renamed_SDL_GetSensorName
 | 
				
			||||||
#define SDL_SensorGetNonPortableType SDL_SensorGetNonPortableType_renamed_SDL_GetSensorNonPortableType
 | 
					#define SDL_SensorGetNonPortableType SDL_SensorGetNonPortableType_renamed_SDL_GetSensorNonPortableType
 | 
				
			||||||
#define SDL_SensorGetType SDL_SensorGetType_renamed_SDL_GetSensorType
 | 
					#define SDL_SensorGetType SDL_SensorGetType_renamed_SDL_GetSensorType
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -158,6 +158,8 @@ extern SDL_DECLSPEC SDL_SensorID *SDLCALL SDL_GetSensors(int *count);
 | 
				
			|||||||
/**
 | 
					/**
 | 
				
			||||||
 * Get the implementation dependent name of a sensor.
 | 
					 * Get the implementation dependent name of a sensor.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 | 
					 * This can be called before any sensors are opened.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 * The returned string follows the SDL_GetStringRule.
 | 
					 * The returned string follows the SDL_GetStringRule.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \param instance_id the sensor instance ID.
 | 
					 * \param instance_id the sensor instance ID.
 | 
				
			||||||
@@ -165,29 +167,33 @@ extern SDL_DECLSPEC SDL_SensorID *SDLCALL SDL_GetSensors(int *count);
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * \since This function is available since SDL 3.0.0.
 | 
					 * \since This function is available since SDL 3.0.0.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC const char *SDLCALL SDL_GetSensorInstanceName(SDL_SensorID instance_id);
 | 
					extern SDL_DECLSPEC const char *SDLCALL SDL_GetSensorNameFromID(SDL_SensorID instance_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Get the type of a sensor.
 | 
					 * Get the type of a sensor.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 | 
					 * This can be called before any sensors are opened.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 * \param instance_id the sensor instance ID.
 | 
					 * \param instance_id the sensor instance ID.
 | 
				
			||||||
 * \returns the SDL_SensorType, or `SDL_SENSOR_INVALID` if `instance_id` is
 | 
					 * \returns the SDL_SensorType, or `SDL_SENSOR_INVALID` if `instance_id` is
 | 
				
			||||||
 *          not valid.
 | 
					 *          not valid.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \since This function is available since SDL 3.0.0.
 | 
					 * \since This function is available since SDL 3.0.0.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC SDL_SensorType SDLCALL SDL_GetSensorInstanceType(SDL_SensorID instance_id);
 | 
					extern SDL_DECLSPEC SDL_SensorType SDLCALL SDL_GetSensorTypeFromID(SDL_SensorID instance_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Get the platform dependent type of a sensor.
 | 
					 * Get the platform dependent type of a sensor.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 | 
					 * This can be called before any sensors are opened.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 * \param instance_id the sensor instance ID.
 | 
					 * \param instance_id the sensor instance ID.
 | 
				
			||||||
 * \returns the sensor platform dependent type, or -1 if `instance_id` is not
 | 
					 * \returns the sensor platform dependent type, or -1 if `instance_id` is not
 | 
				
			||||||
 *          valid.
 | 
					 *          valid.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \since This function is available since SDL 3.0.0.
 | 
					 * \since This function is available since SDL 3.0.0.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC int SDLCALL SDL_GetSensorInstanceNonPortableType(SDL_SensorID instance_id);
 | 
					extern SDL_DECLSPEC int SDLCALL SDL_GetSensorNonPortableTypeFromID(SDL_SensorID instance_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Open a sensor for use.
 | 
					 * Open a sensor for use.
 | 
				
			||||||
@@ -261,7 +267,7 @@ extern SDL_DECLSPEC int SDLCALL SDL_GetSensorNonPortableType(SDL_Sensor *sensor)
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * \since This function is available since SDL 3.0.0.
 | 
					 * \since This function is available since SDL 3.0.0.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
extern SDL_DECLSPEC SDL_SensorID SDLCALL SDL_GetSensorInstanceID(SDL_Sensor *sensor);
 | 
					extern SDL_DECLSPEC SDL_SensorID SDLCALL SDL_GetSensorID(SDL_Sensor *sensor);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Get the current state of an opened sensor.
 | 
					 * Get the current state of an opened sensor.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -242,26 +242,24 @@ SDL3_0.0.0 {
 | 
				
			|||||||
    SDL_GetGamepadFirmwareVersion;
 | 
					    SDL_GetGamepadFirmwareVersion;
 | 
				
			||||||
    SDL_GetGamepadFromInstanceID;
 | 
					    SDL_GetGamepadFromInstanceID;
 | 
				
			||||||
    SDL_GetGamepadFromPlayerIndex;
 | 
					    SDL_GetGamepadFromPlayerIndex;
 | 
				
			||||||
    SDL_GetGamepadInstanceGUID;
 | 
					    SDL_GetGamepadGUIDFromID;
 | 
				
			||||||
    SDL_GetGamepadInstanceID;
 | 
					    SDL_GetGamepadID;
 | 
				
			||||||
    SDL_GetGamepadInstanceMapping;
 | 
					 | 
				
			||||||
    SDL_GetGamepadInstanceName;
 | 
					 | 
				
			||||||
    SDL_GetGamepadInstancePath;
 | 
					 | 
				
			||||||
    SDL_GetGamepadInstancePlayerIndex;
 | 
					 | 
				
			||||||
    SDL_GetGamepadInstanceProduct;
 | 
					 | 
				
			||||||
    SDL_GetGamepadInstanceProductVersion;
 | 
					 | 
				
			||||||
    SDL_GetGamepadInstanceType;
 | 
					 | 
				
			||||||
    SDL_GetGamepadInstanceVendor;
 | 
					 | 
				
			||||||
    SDL_GetGamepadJoystick;
 | 
					    SDL_GetGamepadJoystick;
 | 
				
			||||||
    SDL_GetGamepadMapping;
 | 
					    SDL_GetGamepadMapping;
 | 
				
			||||||
    SDL_GetGamepadMappingForGUID;
 | 
					    SDL_GetGamepadMappingForGUID;
 | 
				
			||||||
 | 
					    SDL_GetGamepadMappingFromID;
 | 
				
			||||||
    SDL_GetGamepadMappings;
 | 
					    SDL_GetGamepadMappings;
 | 
				
			||||||
    SDL_GetGamepadName;
 | 
					    SDL_GetGamepadName;
 | 
				
			||||||
 | 
					    SDL_GetGamepadNameFromID;
 | 
				
			||||||
    SDL_GetGamepadPath;
 | 
					    SDL_GetGamepadPath;
 | 
				
			||||||
 | 
					    SDL_GetGamepadPathFromID;
 | 
				
			||||||
    SDL_GetGamepadPlayerIndex;
 | 
					    SDL_GetGamepadPlayerIndex;
 | 
				
			||||||
 | 
					    SDL_GetGamepadPlayerIndexFromID;
 | 
				
			||||||
    SDL_GetGamepadPowerInfo;
 | 
					    SDL_GetGamepadPowerInfo;
 | 
				
			||||||
    SDL_GetGamepadProduct;
 | 
					    SDL_GetGamepadProduct;
 | 
				
			||||||
 | 
					    SDL_GetGamepadProductFromID;
 | 
				
			||||||
    SDL_GetGamepadProductVersion;
 | 
					    SDL_GetGamepadProductVersion;
 | 
				
			||||||
 | 
					    SDL_GetGamepadProductVersionFromID;
 | 
				
			||||||
    SDL_GetGamepadProperties;
 | 
					    SDL_GetGamepadProperties;
 | 
				
			||||||
    SDL_GetGamepadSensorData;
 | 
					    SDL_GetGamepadSensorData;
 | 
				
			||||||
    SDL_GetGamepadSensorDataRate;
 | 
					    SDL_GetGamepadSensorDataRate;
 | 
				
			||||||
@@ -272,8 +270,10 @@ SDL3_0.0.0 {
 | 
				
			|||||||
    SDL_GetGamepadStringForType;
 | 
					    SDL_GetGamepadStringForType;
 | 
				
			||||||
    SDL_GetGamepadTouchpadFinger;
 | 
					    SDL_GetGamepadTouchpadFinger;
 | 
				
			||||||
    SDL_GetGamepadType;
 | 
					    SDL_GetGamepadType;
 | 
				
			||||||
 | 
					    SDL_GetGamepadTypeFromID;
 | 
				
			||||||
    SDL_GetGamepadTypeFromString;
 | 
					    SDL_GetGamepadTypeFromString;
 | 
				
			||||||
    SDL_GetGamepadVendor;
 | 
					    SDL_GetGamepadVendor;
 | 
				
			||||||
 | 
					    SDL_GetGamepadVendorFromID;
 | 
				
			||||||
    SDL_GetGamepads;
 | 
					    SDL_GetGamepads;
 | 
				
			||||||
    SDL_GetGlobalMouseState;
 | 
					    SDL_GetGlobalMouseState;
 | 
				
			||||||
    SDL_GetGlobalProperties;
 | 
					    SDL_GetGlobalProperties;
 | 
				
			||||||
@@ -281,9 +281,9 @@ SDL3_0.0.0 {
 | 
				
			|||||||
    SDL_GetHapticEffectStatus;
 | 
					    SDL_GetHapticEffectStatus;
 | 
				
			||||||
    SDL_GetHapticFeatures;
 | 
					    SDL_GetHapticFeatures;
 | 
				
			||||||
    SDL_GetHapticFromInstanceID;
 | 
					    SDL_GetHapticFromInstanceID;
 | 
				
			||||||
    SDL_GetHapticInstanceID;
 | 
					    SDL_GetHapticID;
 | 
				
			||||||
    SDL_GetHapticInstanceName;
 | 
					 | 
				
			||||||
    SDL_GetHapticName;
 | 
					    SDL_GetHapticName;
 | 
				
			||||||
 | 
					    SDL_GetHapticNameFromID;
 | 
				
			||||||
    SDL_GetHaptics;
 | 
					    SDL_GetHaptics;
 | 
				
			||||||
    SDL_GetHint;
 | 
					    SDL_GetHint;
 | 
				
			||||||
    SDL_GetHintBoolean;
 | 
					    SDL_GetHintBoolean;
 | 
				
			||||||
@@ -299,29 +299,29 @@ SDL3_0.0.0 {
 | 
				
			|||||||
    SDL_GetJoystickFromInstanceID;
 | 
					    SDL_GetJoystickFromInstanceID;
 | 
				
			||||||
    SDL_GetJoystickFromPlayerIndex;
 | 
					    SDL_GetJoystickFromPlayerIndex;
 | 
				
			||||||
    SDL_GetJoystickGUID;
 | 
					    SDL_GetJoystickGUID;
 | 
				
			||||||
 | 
					    SDL_GetJoystickGUIDFromID;
 | 
				
			||||||
    SDL_GetJoystickGUIDFromString;
 | 
					    SDL_GetJoystickGUIDFromString;
 | 
				
			||||||
    SDL_GetJoystickGUIDInfo;
 | 
					    SDL_GetJoystickGUIDInfo;
 | 
				
			||||||
    SDL_GetJoystickGUIDString;
 | 
					    SDL_GetJoystickGUIDString;
 | 
				
			||||||
    SDL_GetJoystickHat;
 | 
					    SDL_GetJoystickHat;
 | 
				
			||||||
    SDL_GetJoystickInstanceGUID;
 | 
					    SDL_GetJoystickID;
 | 
				
			||||||
    SDL_GetJoystickInstanceID;
 | 
					 | 
				
			||||||
    SDL_GetJoystickInstanceName;
 | 
					 | 
				
			||||||
    SDL_GetJoystickInstancePath;
 | 
					 | 
				
			||||||
    SDL_GetJoystickInstancePlayerIndex;
 | 
					 | 
				
			||||||
    SDL_GetJoystickInstanceProduct;
 | 
					 | 
				
			||||||
    SDL_GetJoystickInstanceProductVersion;
 | 
					 | 
				
			||||||
    SDL_GetJoystickInstanceType;
 | 
					 | 
				
			||||||
    SDL_GetJoystickInstanceVendor;
 | 
					 | 
				
			||||||
    SDL_GetJoystickName;
 | 
					    SDL_GetJoystickName;
 | 
				
			||||||
 | 
					    SDL_GetJoystickNameFromID;
 | 
				
			||||||
    SDL_GetJoystickPath;
 | 
					    SDL_GetJoystickPath;
 | 
				
			||||||
 | 
					    SDL_GetJoystickPathFromID;
 | 
				
			||||||
    SDL_GetJoystickPlayerIndex;
 | 
					    SDL_GetJoystickPlayerIndex;
 | 
				
			||||||
 | 
					    SDL_GetJoystickPlayerIndexFromID;
 | 
				
			||||||
    SDL_GetJoystickPowerInfo;
 | 
					    SDL_GetJoystickPowerInfo;
 | 
				
			||||||
    SDL_GetJoystickProduct;
 | 
					    SDL_GetJoystickProduct;
 | 
				
			||||||
 | 
					    SDL_GetJoystickProductFromID;
 | 
				
			||||||
    SDL_GetJoystickProductVersion;
 | 
					    SDL_GetJoystickProductVersion;
 | 
				
			||||||
 | 
					    SDL_GetJoystickProductVersionFromID;
 | 
				
			||||||
    SDL_GetJoystickProperties;
 | 
					    SDL_GetJoystickProperties;
 | 
				
			||||||
    SDL_GetJoystickSerial;
 | 
					    SDL_GetJoystickSerial;
 | 
				
			||||||
    SDL_GetJoystickType;
 | 
					    SDL_GetJoystickType;
 | 
				
			||||||
 | 
					    SDL_GetJoystickTypeFromID;
 | 
				
			||||||
    SDL_GetJoystickVendor;
 | 
					    SDL_GetJoystickVendor;
 | 
				
			||||||
 | 
					    SDL_GetJoystickVendorFromID;
 | 
				
			||||||
    SDL_GetJoysticks;
 | 
					    SDL_GetJoysticks;
 | 
				
			||||||
    SDL_GetKeyFromName;
 | 
					    SDL_GetKeyFromName;
 | 
				
			||||||
    SDL_GetKeyFromScancode;
 | 
					    SDL_GetKeyFromScancode;
 | 
				
			||||||
@@ -419,14 +419,14 @@ SDL3_0.0.0 {
 | 
				
			|||||||
    SDL_GetSemaphoreValue;
 | 
					    SDL_GetSemaphoreValue;
 | 
				
			||||||
    SDL_GetSensorData;
 | 
					    SDL_GetSensorData;
 | 
				
			||||||
    SDL_GetSensorFromInstanceID;
 | 
					    SDL_GetSensorFromInstanceID;
 | 
				
			||||||
    SDL_GetSensorInstanceID;
 | 
					    SDL_GetSensorID;
 | 
				
			||||||
    SDL_GetSensorInstanceName;
 | 
					 | 
				
			||||||
    SDL_GetSensorInstanceNonPortableType;
 | 
					 | 
				
			||||||
    SDL_GetSensorInstanceType;
 | 
					 | 
				
			||||||
    SDL_GetSensorName;
 | 
					    SDL_GetSensorName;
 | 
				
			||||||
 | 
					    SDL_GetSensorNameFromID;
 | 
				
			||||||
    SDL_GetSensorNonPortableType;
 | 
					    SDL_GetSensorNonPortableType;
 | 
				
			||||||
 | 
					    SDL_GetSensorNonPortableTypeFromID;
 | 
				
			||||||
    SDL_GetSensorProperties;
 | 
					    SDL_GetSensorProperties;
 | 
				
			||||||
    SDL_GetSensorType;
 | 
					    SDL_GetSensorType;
 | 
				
			||||||
 | 
					    SDL_GetSensorTypeFromID;
 | 
				
			||||||
    SDL_GetSensors;
 | 
					    SDL_GetSensors;
 | 
				
			||||||
    SDL_GetSilenceValueForFormat;
 | 
					    SDL_GetSilenceValueForFormat;
 | 
				
			||||||
    SDL_GetStorageFileSize;
 | 
					    SDL_GetStorageFileSize;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -267,26 +267,24 @@
 | 
				
			|||||||
#define SDL_GetGamepadFirmwareVersion SDL_GetGamepadFirmwareVersion_REAL
 | 
					#define SDL_GetGamepadFirmwareVersion SDL_GetGamepadFirmwareVersion_REAL
 | 
				
			||||||
#define SDL_GetGamepadFromInstanceID SDL_GetGamepadFromInstanceID_REAL
 | 
					#define SDL_GetGamepadFromInstanceID SDL_GetGamepadFromInstanceID_REAL
 | 
				
			||||||
#define SDL_GetGamepadFromPlayerIndex SDL_GetGamepadFromPlayerIndex_REAL
 | 
					#define SDL_GetGamepadFromPlayerIndex SDL_GetGamepadFromPlayerIndex_REAL
 | 
				
			||||||
#define SDL_GetGamepadInstanceGUID SDL_GetGamepadInstanceGUID_REAL
 | 
					#define SDL_GetGamepadGUIDFromID SDL_GetGamepadGUIDFromID_REAL
 | 
				
			||||||
#define SDL_GetGamepadInstanceID SDL_GetGamepadInstanceID_REAL
 | 
					#define SDL_GetGamepadID SDL_GetGamepadID_REAL
 | 
				
			||||||
#define SDL_GetGamepadInstanceMapping SDL_GetGamepadInstanceMapping_REAL
 | 
					 | 
				
			||||||
#define SDL_GetGamepadInstanceName SDL_GetGamepadInstanceName_REAL
 | 
					 | 
				
			||||||
#define SDL_GetGamepadInstancePath SDL_GetGamepadInstancePath_REAL
 | 
					 | 
				
			||||||
#define SDL_GetGamepadInstancePlayerIndex SDL_GetGamepadInstancePlayerIndex_REAL
 | 
					 | 
				
			||||||
#define SDL_GetGamepadInstanceProduct SDL_GetGamepadInstanceProduct_REAL
 | 
					 | 
				
			||||||
#define SDL_GetGamepadInstanceProductVersion SDL_GetGamepadInstanceProductVersion_REAL
 | 
					 | 
				
			||||||
#define SDL_GetGamepadInstanceType SDL_GetGamepadInstanceType_REAL
 | 
					 | 
				
			||||||
#define SDL_GetGamepadInstanceVendor SDL_GetGamepadInstanceVendor_REAL
 | 
					 | 
				
			||||||
#define SDL_GetGamepadJoystick SDL_GetGamepadJoystick_REAL
 | 
					#define SDL_GetGamepadJoystick SDL_GetGamepadJoystick_REAL
 | 
				
			||||||
#define SDL_GetGamepadMapping SDL_GetGamepadMapping_REAL
 | 
					#define SDL_GetGamepadMapping SDL_GetGamepadMapping_REAL
 | 
				
			||||||
#define SDL_GetGamepadMappingForGUID SDL_GetGamepadMappingForGUID_REAL
 | 
					#define SDL_GetGamepadMappingForGUID SDL_GetGamepadMappingForGUID_REAL
 | 
				
			||||||
 | 
					#define SDL_GetGamepadMappingFromID SDL_GetGamepadMappingFromID_REAL
 | 
				
			||||||
#define SDL_GetGamepadMappings SDL_GetGamepadMappings_REAL
 | 
					#define SDL_GetGamepadMappings SDL_GetGamepadMappings_REAL
 | 
				
			||||||
#define SDL_GetGamepadName SDL_GetGamepadName_REAL
 | 
					#define SDL_GetGamepadName SDL_GetGamepadName_REAL
 | 
				
			||||||
 | 
					#define SDL_GetGamepadNameFromID SDL_GetGamepadNameFromID_REAL
 | 
				
			||||||
#define SDL_GetGamepadPath SDL_GetGamepadPath_REAL
 | 
					#define SDL_GetGamepadPath SDL_GetGamepadPath_REAL
 | 
				
			||||||
 | 
					#define SDL_GetGamepadPathFromID SDL_GetGamepadPathFromID_REAL
 | 
				
			||||||
#define SDL_GetGamepadPlayerIndex SDL_GetGamepadPlayerIndex_REAL
 | 
					#define SDL_GetGamepadPlayerIndex SDL_GetGamepadPlayerIndex_REAL
 | 
				
			||||||
 | 
					#define SDL_GetGamepadPlayerIndexFromID SDL_GetGamepadPlayerIndexFromID_REAL
 | 
				
			||||||
#define SDL_GetGamepadPowerInfo SDL_GetGamepadPowerInfo_REAL
 | 
					#define SDL_GetGamepadPowerInfo SDL_GetGamepadPowerInfo_REAL
 | 
				
			||||||
#define SDL_GetGamepadProduct SDL_GetGamepadProduct_REAL
 | 
					#define SDL_GetGamepadProduct SDL_GetGamepadProduct_REAL
 | 
				
			||||||
 | 
					#define SDL_GetGamepadProductFromID SDL_GetGamepadProductFromID_REAL
 | 
				
			||||||
#define SDL_GetGamepadProductVersion SDL_GetGamepadProductVersion_REAL
 | 
					#define SDL_GetGamepadProductVersion SDL_GetGamepadProductVersion_REAL
 | 
				
			||||||
 | 
					#define SDL_GetGamepadProductVersionFromID SDL_GetGamepadProductVersionFromID_REAL
 | 
				
			||||||
#define SDL_GetGamepadProperties SDL_GetGamepadProperties_REAL
 | 
					#define SDL_GetGamepadProperties SDL_GetGamepadProperties_REAL
 | 
				
			||||||
#define SDL_GetGamepadSensorData SDL_GetGamepadSensorData_REAL
 | 
					#define SDL_GetGamepadSensorData SDL_GetGamepadSensorData_REAL
 | 
				
			||||||
#define SDL_GetGamepadSensorDataRate SDL_GetGamepadSensorDataRate_REAL
 | 
					#define SDL_GetGamepadSensorDataRate SDL_GetGamepadSensorDataRate_REAL
 | 
				
			||||||
@@ -297,8 +295,10 @@
 | 
				
			|||||||
#define SDL_GetGamepadStringForType SDL_GetGamepadStringForType_REAL
 | 
					#define SDL_GetGamepadStringForType SDL_GetGamepadStringForType_REAL
 | 
				
			||||||
#define SDL_GetGamepadTouchpadFinger SDL_GetGamepadTouchpadFinger_REAL
 | 
					#define SDL_GetGamepadTouchpadFinger SDL_GetGamepadTouchpadFinger_REAL
 | 
				
			||||||
#define SDL_GetGamepadType SDL_GetGamepadType_REAL
 | 
					#define SDL_GetGamepadType SDL_GetGamepadType_REAL
 | 
				
			||||||
 | 
					#define SDL_GetGamepadTypeFromID SDL_GetGamepadTypeFromID_REAL
 | 
				
			||||||
#define SDL_GetGamepadTypeFromString SDL_GetGamepadTypeFromString_REAL
 | 
					#define SDL_GetGamepadTypeFromString SDL_GetGamepadTypeFromString_REAL
 | 
				
			||||||
#define SDL_GetGamepadVendor SDL_GetGamepadVendor_REAL
 | 
					#define SDL_GetGamepadVendor SDL_GetGamepadVendor_REAL
 | 
				
			||||||
 | 
					#define SDL_GetGamepadVendorFromID SDL_GetGamepadVendorFromID_REAL
 | 
				
			||||||
#define SDL_GetGamepads SDL_GetGamepads_REAL
 | 
					#define SDL_GetGamepads SDL_GetGamepads_REAL
 | 
				
			||||||
#define SDL_GetGlobalMouseState SDL_GetGlobalMouseState_REAL
 | 
					#define SDL_GetGlobalMouseState SDL_GetGlobalMouseState_REAL
 | 
				
			||||||
#define SDL_GetGlobalProperties SDL_GetGlobalProperties_REAL
 | 
					#define SDL_GetGlobalProperties SDL_GetGlobalProperties_REAL
 | 
				
			||||||
@@ -306,9 +306,9 @@
 | 
				
			|||||||
#define SDL_GetHapticEffectStatus SDL_GetHapticEffectStatus_REAL
 | 
					#define SDL_GetHapticEffectStatus SDL_GetHapticEffectStatus_REAL
 | 
				
			||||||
#define SDL_GetHapticFeatures SDL_GetHapticFeatures_REAL
 | 
					#define SDL_GetHapticFeatures SDL_GetHapticFeatures_REAL
 | 
				
			||||||
#define SDL_GetHapticFromInstanceID SDL_GetHapticFromInstanceID_REAL
 | 
					#define SDL_GetHapticFromInstanceID SDL_GetHapticFromInstanceID_REAL
 | 
				
			||||||
#define SDL_GetHapticInstanceID SDL_GetHapticInstanceID_REAL
 | 
					#define SDL_GetHapticID SDL_GetHapticID_REAL
 | 
				
			||||||
#define SDL_GetHapticInstanceName SDL_GetHapticInstanceName_REAL
 | 
					 | 
				
			||||||
#define SDL_GetHapticName SDL_GetHapticName_REAL
 | 
					#define SDL_GetHapticName SDL_GetHapticName_REAL
 | 
				
			||||||
 | 
					#define SDL_GetHapticNameFromID SDL_GetHapticNameFromID_REAL
 | 
				
			||||||
#define SDL_GetHaptics SDL_GetHaptics_REAL
 | 
					#define SDL_GetHaptics SDL_GetHaptics_REAL
 | 
				
			||||||
#define SDL_GetHint SDL_GetHint_REAL
 | 
					#define SDL_GetHint SDL_GetHint_REAL
 | 
				
			||||||
#define SDL_GetHintBoolean SDL_GetHintBoolean_REAL
 | 
					#define SDL_GetHintBoolean SDL_GetHintBoolean_REAL
 | 
				
			||||||
@@ -324,29 +324,29 @@
 | 
				
			|||||||
#define SDL_GetJoystickFromInstanceID SDL_GetJoystickFromInstanceID_REAL
 | 
					#define SDL_GetJoystickFromInstanceID SDL_GetJoystickFromInstanceID_REAL
 | 
				
			||||||
#define SDL_GetJoystickFromPlayerIndex SDL_GetJoystickFromPlayerIndex_REAL
 | 
					#define SDL_GetJoystickFromPlayerIndex SDL_GetJoystickFromPlayerIndex_REAL
 | 
				
			||||||
#define SDL_GetJoystickGUID SDL_GetJoystickGUID_REAL
 | 
					#define SDL_GetJoystickGUID SDL_GetJoystickGUID_REAL
 | 
				
			||||||
 | 
					#define SDL_GetJoystickGUIDFromID SDL_GetJoystickGUIDFromID_REAL
 | 
				
			||||||
#define SDL_GetJoystickGUIDFromString SDL_GetJoystickGUIDFromString_REAL
 | 
					#define SDL_GetJoystickGUIDFromString SDL_GetJoystickGUIDFromString_REAL
 | 
				
			||||||
#define SDL_GetJoystickGUIDInfo SDL_GetJoystickGUIDInfo_REAL
 | 
					#define SDL_GetJoystickGUIDInfo SDL_GetJoystickGUIDInfo_REAL
 | 
				
			||||||
#define SDL_GetJoystickGUIDString SDL_GetJoystickGUIDString_REAL
 | 
					#define SDL_GetJoystickGUIDString SDL_GetJoystickGUIDString_REAL
 | 
				
			||||||
#define SDL_GetJoystickHat SDL_GetJoystickHat_REAL
 | 
					#define SDL_GetJoystickHat SDL_GetJoystickHat_REAL
 | 
				
			||||||
#define SDL_GetJoystickInstanceGUID SDL_GetJoystickInstanceGUID_REAL
 | 
					#define SDL_GetJoystickID SDL_GetJoystickID_REAL
 | 
				
			||||||
#define SDL_GetJoystickInstanceID SDL_GetJoystickInstanceID_REAL
 | 
					 | 
				
			||||||
#define SDL_GetJoystickInstanceName SDL_GetJoystickInstanceName_REAL
 | 
					 | 
				
			||||||
#define SDL_GetJoystickInstancePath SDL_GetJoystickInstancePath_REAL
 | 
					 | 
				
			||||||
#define SDL_GetJoystickInstancePlayerIndex SDL_GetJoystickInstancePlayerIndex_REAL
 | 
					 | 
				
			||||||
#define SDL_GetJoystickInstanceProduct SDL_GetJoystickInstanceProduct_REAL
 | 
					 | 
				
			||||||
#define SDL_GetJoystickInstanceProductVersion SDL_GetJoystickInstanceProductVersion_REAL
 | 
					 | 
				
			||||||
#define SDL_GetJoystickInstanceType SDL_GetJoystickInstanceType_REAL
 | 
					 | 
				
			||||||
#define SDL_GetJoystickInstanceVendor SDL_GetJoystickInstanceVendor_REAL
 | 
					 | 
				
			||||||
#define SDL_GetJoystickName SDL_GetJoystickName_REAL
 | 
					#define SDL_GetJoystickName SDL_GetJoystickName_REAL
 | 
				
			||||||
 | 
					#define SDL_GetJoystickNameFromID SDL_GetJoystickNameFromID_REAL
 | 
				
			||||||
#define SDL_GetJoystickPath SDL_GetJoystickPath_REAL
 | 
					#define SDL_GetJoystickPath SDL_GetJoystickPath_REAL
 | 
				
			||||||
 | 
					#define SDL_GetJoystickPathFromID SDL_GetJoystickPathFromID_REAL
 | 
				
			||||||
#define SDL_GetJoystickPlayerIndex SDL_GetJoystickPlayerIndex_REAL
 | 
					#define SDL_GetJoystickPlayerIndex SDL_GetJoystickPlayerIndex_REAL
 | 
				
			||||||
 | 
					#define SDL_GetJoystickPlayerIndexFromID SDL_GetJoystickPlayerIndexFromID_REAL
 | 
				
			||||||
#define SDL_GetJoystickPowerInfo SDL_GetJoystickPowerInfo_REAL
 | 
					#define SDL_GetJoystickPowerInfo SDL_GetJoystickPowerInfo_REAL
 | 
				
			||||||
#define SDL_GetJoystickProduct SDL_GetJoystickProduct_REAL
 | 
					#define SDL_GetJoystickProduct SDL_GetJoystickProduct_REAL
 | 
				
			||||||
 | 
					#define SDL_GetJoystickProductFromID SDL_GetJoystickProductFromID_REAL
 | 
				
			||||||
#define SDL_GetJoystickProductVersion SDL_GetJoystickProductVersion_REAL
 | 
					#define SDL_GetJoystickProductVersion SDL_GetJoystickProductVersion_REAL
 | 
				
			||||||
 | 
					#define SDL_GetJoystickProductVersionFromID SDL_GetJoystickProductVersionFromID_REAL
 | 
				
			||||||
#define SDL_GetJoystickProperties SDL_GetJoystickProperties_REAL
 | 
					#define SDL_GetJoystickProperties SDL_GetJoystickProperties_REAL
 | 
				
			||||||
#define SDL_GetJoystickSerial SDL_GetJoystickSerial_REAL
 | 
					#define SDL_GetJoystickSerial SDL_GetJoystickSerial_REAL
 | 
				
			||||||
#define SDL_GetJoystickType SDL_GetJoystickType_REAL
 | 
					#define SDL_GetJoystickType SDL_GetJoystickType_REAL
 | 
				
			||||||
 | 
					#define SDL_GetJoystickTypeFromID SDL_GetJoystickTypeFromID_REAL
 | 
				
			||||||
#define SDL_GetJoystickVendor SDL_GetJoystickVendor_REAL
 | 
					#define SDL_GetJoystickVendor SDL_GetJoystickVendor_REAL
 | 
				
			||||||
 | 
					#define SDL_GetJoystickVendorFromID SDL_GetJoystickVendorFromID_REAL
 | 
				
			||||||
#define SDL_GetJoysticks SDL_GetJoysticks_REAL
 | 
					#define SDL_GetJoysticks SDL_GetJoysticks_REAL
 | 
				
			||||||
#define SDL_GetKeyFromName SDL_GetKeyFromName_REAL
 | 
					#define SDL_GetKeyFromName SDL_GetKeyFromName_REAL
 | 
				
			||||||
#define SDL_GetKeyFromScancode SDL_GetKeyFromScancode_REAL
 | 
					#define SDL_GetKeyFromScancode SDL_GetKeyFromScancode_REAL
 | 
				
			||||||
@@ -444,14 +444,14 @@
 | 
				
			|||||||
#define SDL_GetSemaphoreValue SDL_GetSemaphoreValue_REAL
 | 
					#define SDL_GetSemaphoreValue SDL_GetSemaphoreValue_REAL
 | 
				
			||||||
#define SDL_GetSensorData SDL_GetSensorData_REAL
 | 
					#define SDL_GetSensorData SDL_GetSensorData_REAL
 | 
				
			||||||
#define SDL_GetSensorFromInstanceID SDL_GetSensorFromInstanceID_REAL
 | 
					#define SDL_GetSensorFromInstanceID SDL_GetSensorFromInstanceID_REAL
 | 
				
			||||||
#define SDL_GetSensorInstanceID SDL_GetSensorInstanceID_REAL
 | 
					#define SDL_GetSensorID SDL_GetSensorID_REAL
 | 
				
			||||||
#define SDL_GetSensorInstanceName SDL_GetSensorInstanceName_REAL
 | 
					 | 
				
			||||||
#define SDL_GetSensorInstanceNonPortableType SDL_GetSensorInstanceNonPortableType_REAL
 | 
					 | 
				
			||||||
#define SDL_GetSensorInstanceType SDL_GetSensorInstanceType_REAL
 | 
					 | 
				
			||||||
#define SDL_GetSensorName SDL_GetSensorName_REAL
 | 
					#define SDL_GetSensorName SDL_GetSensorName_REAL
 | 
				
			||||||
 | 
					#define SDL_GetSensorNameFromID SDL_GetSensorNameFromID_REAL
 | 
				
			||||||
#define SDL_GetSensorNonPortableType SDL_GetSensorNonPortableType_REAL
 | 
					#define SDL_GetSensorNonPortableType SDL_GetSensorNonPortableType_REAL
 | 
				
			||||||
 | 
					#define SDL_GetSensorNonPortableTypeFromID SDL_GetSensorNonPortableTypeFromID_REAL
 | 
				
			||||||
#define SDL_GetSensorProperties SDL_GetSensorProperties_REAL
 | 
					#define SDL_GetSensorProperties SDL_GetSensorProperties_REAL
 | 
				
			||||||
#define SDL_GetSensorType SDL_GetSensorType_REAL
 | 
					#define SDL_GetSensorType SDL_GetSensorType_REAL
 | 
				
			||||||
 | 
					#define SDL_GetSensorTypeFromID SDL_GetSensorTypeFromID_REAL
 | 
				
			||||||
#define SDL_GetSensors SDL_GetSensors_REAL
 | 
					#define SDL_GetSensors SDL_GetSensors_REAL
 | 
				
			||||||
#define SDL_GetSilenceValueForFormat SDL_GetSilenceValueForFormat_REAL
 | 
					#define SDL_GetSilenceValueForFormat SDL_GetSilenceValueForFormat_REAL
 | 
				
			||||||
#define SDL_GetStorageFileSize SDL_GetStorageFileSize_REAL
 | 
					#define SDL_GetStorageFileSize SDL_GetStorageFileSize_REAL
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -287,26 +287,24 @@ SDL_DYNAPI_PROC(SDL_JoystickConnectionState,SDL_GetGamepadConnectionState,(SDL_G
 | 
				
			|||||||
SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadFirmwareVersion,(SDL_Gamepad *a),(a),return)
 | 
					SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadFirmwareVersion,(SDL_Gamepad *a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_Gamepad*,SDL_GetGamepadFromInstanceID,(SDL_JoystickID a),(a),return)
 | 
					SDL_DYNAPI_PROC(SDL_Gamepad*,SDL_GetGamepadFromInstanceID,(SDL_JoystickID a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_Gamepad*,SDL_GetGamepadFromPlayerIndex,(int a),(a),return)
 | 
					SDL_DYNAPI_PROC(SDL_Gamepad*,SDL_GetGamepadFromPlayerIndex,(int a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_JoystickGUID,SDL_GetGamepadInstanceGUID,(SDL_JoystickID a),(a),return)
 | 
					SDL_DYNAPI_PROC(SDL_JoystickGUID,SDL_GetGamepadGUIDFromID,(SDL_JoystickID a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_JoystickID,SDL_GetGamepadInstanceID,(SDL_Gamepad *a),(a),return)
 | 
					SDL_DYNAPI_PROC(SDL_JoystickID,SDL_GetGamepadID,(SDL_Gamepad *a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(char*,SDL_GetGamepadInstanceMapping,(SDL_JoystickID a),(a),return)
 | 
					 | 
				
			||||||
SDL_DYNAPI_PROC(const char*,SDL_GetGamepadInstanceName,(SDL_JoystickID a),(a),return)
 | 
					 | 
				
			||||||
SDL_DYNAPI_PROC(const char*,SDL_GetGamepadInstancePath,(SDL_JoystickID a),(a),return)
 | 
					 | 
				
			||||||
SDL_DYNAPI_PROC(int,SDL_GetGamepadInstancePlayerIndex,(SDL_JoystickID a),(a),return)
 | 
					 | 
				
			||||||
SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadInstanceProduct,(SDL_JoystickID a),(a),return)
 | 
					 | 
				
			||||||
SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadInstanceProductVersion,(SDL_JoystickID a),(a),return)
 | 
					 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_GamepadType,SDL_GetGamepadInstanceType,(SDL_JoystickID a),(a),return)
 | 
					 | 
				
			||||||
SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadInstanceVendor,(SDL_JoystickID a),(a),return)
 | 
					 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_Joystick*,SDL_GetGamepadJoystick,(SDL_Gamepad *a),(a),return)
 | 
					SDL_DYNAPI_PROC(SDL_Joystick*,SDL_GetGamepadJoystick,(SDL_Gamepad *a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(char*,SDL_GetGamepadMapping,(SDL_Gamepad *a),(a),return)
 | 
					SDL_DYNAPI_PROC(char*,SDL_GetGamepadMapping,(SDL_Gamepad *a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(char*,SDL_GetGamepadMappingForGUID,(SDL_JoystickGUID a),(a),return)
 | 
					SDL_DYNAPI_PROC(char*,SDL_GetGamepadMappingForGUID,(SDL_JoystickGUID a),(a),return)
 | 
				
			||||||
 | 
					SDL_DYNAPI_PROC(char*,SDL_GetGamepadMappingFromID,(SDL_JoystickID a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(char**,SDL_GetGamepadMappings,(int *a),(a),return)
 | 
					SDL_DYNAPI_PROC(char**,SDL_GetGamepadMappings,(int *a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(const char*,SDL_GetGamepadName,(SDL_Gamepad *a),(a),return)
 | 
					SDL_DYNAPI_PROC(const char*,SDL_GetGamepadName,(SDL_Gamepad *a),(a),return)
 | 
				
			||||||
 | 
					SDL_DYNAPI_PROC(const char*,SDL_GetGamepadNameFromID,(SDL_JoystickID a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(const char*,SDL_GetGamepadPath,(SDL_Gamepad *a),(a),return)
 | 
					SDL_DYNAPI_PROC(const char*,SDL_GetGamepadPath,(SDL_Gamepad *a),(a),return)
 | 
				
			||||||
 | 
					SDL_DYNAPI_PROC(const char*,SDL_GetGamepadPathFromID,(SDL_JoystickID a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(int,SDL_GetGamepadPlayerIndex,(SDL_Gamepad *a),(a),return)
 | 
					SDL_DYNAPI_PROC(int,SDL_GetGamepadPlayerIndex,(SDL_Gamepad *a),(a),return)
 | 
				
			||||||
 | 
					SDL_DYNAPI_PROC(int,SDL_GetGamepadPlayerIndexFromID,(SDL_JoystickID a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_PowerState,SDL_GetGamepadPowerInfo,(SDL_Gamepad *a, int *b),(a,b),return)
 | 
					SDL_DYNAPI_PROC(SDL_PowerState,SDL_GetGamepadPowerInfo,(SDL_Gamepad *a, int *b),(a,b),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadProduct,(SDL_Gamepad *a),(a),return)
 | 
					SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadProduct,(SDL_Gamepad *a),(a),return)
 | 
				
			||||||
 | 
					SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadProductFromID,(SDL_JoystickID a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadProductVersion,(SDL_Gamepad *a),(a),return)
 | 
					SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadProductVersion,(SDL_Gamepad *a),(a),return)
 | 
				
			||||||
 | 
					SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadProductVersionFromID,(SDL_JoystickID a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_PropertiesID,SDL_GetGamepadProperties,(SDL_Gamepad *a),(a),return)
 | 
					SDL_DYNAPI_PROC(SDL_PropertiesID,SDL_GetGamepadProperties,(SDL_Gamepad *a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(int,SDL_GetGamepadSensorData,(SDL_Gamepad *a, SDL_SensorType b, float *c, int d),(a,b,c,d),return)
 | 
					SDL_DYNAPI_PROC(int,SDL_GetGamepadSensorData,(SDL_Gamepad *a, SDL_SensorType b, float *c, int d),(a,b,c,d),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(float,SDL_GetGamepadSensorDataRate,(SDL_Gamepad *a, SDL_SensorType b),(a,b),return)
 | 
					SDL_DYNAPI_PROC(float,SDL_GetGamepadSensorDataRate,(SDL_Gamepad *a, SDL_SensorType b),(a,b),return)
 | 
				
			||||||
@@ -317,8 +315,10 @@ SDL_DYNAPI_PROC(const char*,SDL_GetGamepadStringForButton,(SDL_GamepadButton a),
 | 
				
			|||||||
SDL_DYNAPI_PROC(const char*,SDL_GetGamepadStringForType,(SDL_GamepadType a),(a),return)
 | 
					SDL_DYNAPI_PROC(const char*,SDL_GetGamepadStringForType,(SDL_GamepadType a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(int,SDL_GetGamepadTouchpadFinger,(SDL_Gamepad *a, int b, int c, Uint8 *d, float *e, float *f, float *g),(a,b,c,d,e,f,g),return)
 | 
					SDL_DYNAPI_PROC(int,SDL_GetGamepadTouchpadFinger,(SDL_Gamepad *a, int b, int c, Uint8 *d, float *e, float *f, float *g),(a,b,c,d,e,f,g),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_GamepadType,SDL_GetGamepadType,(SDL_Gamepad *a),(a),return)
 | 
					SDL_DYNAPI_PROC(SDL_GamepadType,SDL_GetGamepadType,(SDL_Gamepad *a),(a),return)
 | 
				
			||||||
 | 
					SDL_DYNAPI_PROC(SDL_GamepadType,SDL_GetGamepadTypeFromID,(SDL_JoystickID a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_GamepadType,SDL_GetGamepadTypeFromString,(const char *a),(a),return)
 | 
					SDL_DYNAPI_PROC(SDL_GamepadType,SDL_GetGamepadTypeFromString,(const char *a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadVendor,(SDL_Gamepad *a),(a),return)
 | 
					SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadVendor,(SDL_Gamepad *a),(a),return)
 | 
				
			||||||
 | 
					SDL_DYNAPI_PROC(Uint16,SDL_GetGamepadVendorFromID,(SDL_JoystickID a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_JoystickID*,SDL_GetGamepads,(int *a),(a),return)
 | 
					SDL_DYNAPI_PROC(SDL_JoystickID*,SDL_GetGamepads,(int *a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_MouseButtonFlags,SDL_GetGlobalMouseState,(float *a, float *b),(a,b),return)
 | 
					SDL_DYNAPI_PROC(SDL_MouseButtonFlags,SDL_GetGlobalMouseState,(float *a, float *b),(a,b),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_PropertiesID,SDL_GetGlobalProperties,(void),(),return)
 | 
					SDL_DYNAPI_PROC(SDL_PropertiesID,SDL_GetGlobalProperties,(void),(),return)
 | 
				
			||||||
@@ -326,9 +326,9 @@ SDL_DYNAPI_PROC(SDL_Window*,SDL_GetGrabbedWindow,(void),(),return)
 | 
				
			|||||||
SDL_DYNAPI_PROC(int,SDL_GetHapticEffectStatus,(SDL_Haptic *a, int b),(a,b),return)
 | 
					SDL_DYNAPI_PROC(int,SDL_GetHapticEffectStatus,(SDL_Haptic *a, int b),(a,b),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(Uint32,SDL_GetHapticFeatures,(SDL_Haptic *a),(a),return)
 | 
					SDL_DYNAPI_PROC(Uint32,SDL_GetHapticFeatures,(SDL_Haptic *a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_Haptic*,SDL_GetHapticFromInstanceID,(SDL_HapticID a),(a),return)
 | 
					SDL_DYNAPI_PROC(SDL_Haptic*,SDL_GetHapticFromInstanceID,(SDL_HapticID a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_HapticID,SDL_GetHapticInstanceID,(SDL_Haptic *a),(a),return)
 | 
					SDL_DYNAPI_PROC(SDL_HapticID,SDL_GetHapticID,(SDL_Haptic *a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(const char*,SDL_GetHapticInstanceName,(SDL_HapticID a),(a),return)
 | 
					 | 
				
			||||||
SDL_DYNAPI_PROC(const char*,SDL_GetHapticName,(SDL_Haptic *a),(a),return)
 | 
					SDL_DYNAPI_PROC(const char*,SDL_GetHapticName,(SDL_Haptic *a),(a),return)
 | 
				
			||||||
 | 
					SDL_DYNAPI_PROC(const char*,SDL_GetHapticNameFromID,(SDL_HapticID a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_HapticID*,SDL_GetHaptics,(int *a),(a),return)
 | 
					SDL_DYNAPI_PROC(SDL_HapticID*,SDL_GetHaptics,(int *a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(const char*,SDL_GetHint,(const char *a),(a),return)
 | 
					SDL_DYNAPI_PROC(const char*,SDL_GetHint,(const char *a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_bool,SDL_GetHintBoolean,(const char *a, SDL_bool b),(a,b),return)
 | 
					SDL_DYNAPI_PROC(SDL_bool,SDL_GetHintBoolean,(const char *a, SDL_bool b),(a,b),return)
 | 
				
			||||||
@@ -344,29 +344,29 @@ SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickFirmwareVersion,(SDL_Joystick *a),(a),retu
 | 
				
			|||||||
SDL_DYNAPI_PROC(SDL_Joystick*,SDL_GetJoystickFromInstanceID,(SDL_JoystickID a),(a),return)
 | 
					SDL_DYNAPI_PROC(SDL_Joystick*,SDL_GetJoystickFromInstanceID,(SDL_JoystickID a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_Joystick*,SDL_GetJoystickFromPlayerIndex,(int a),(a),return)
 | 
					SDL_DYNAPI_PROC(SDL_Joystick*,SDL_GetJoystickFromPlayerIndex,(int a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_JoystickGUID,SDL_GetJoystickGUID,(SDL_Joystick *a),(a),return)
 | 
					SDL_DYNAPI_PROC(SDL_JoystickGUID,SDL_GetJoystickGUID,(SDL_Joystick *a),(a),return)
 | 
				
			||||||
 | 
					SDL_DYNAPI_PROC(SDL_JoystickGUID,SDL_GetJoystickGUIDFromID,(SDL_JoystickID a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_JoystickGUID,SDL_GetJoystickGUIDFromString,(const char *a),(a),return)
 | 
					SDL_DYNAPI_PROC(SDL_JoystickGUID,SDL_GetJoystickGUIDFromString,(const char *a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(void,SDL_GetJoystickGUIDInfo,(SDL_JoystickGUID a, Uint16 *b, Uint16 *c, Uint16 *d, Uint16 *e),(a,b,c,d,e),)
 | 
					SDL_DYNAPI_PROC(void,SDL_GetJoystickGUIDInfo,(SDL_JoystickGUID a, Uint16 *b, Uint16 *c, Uint16 *d, Uint16 *e),(a,b,c,d,e),)
 | 
				
			||||||
SDL_DYNAPI_PROC(int,SDL_GetJoystickGUIDString,(SDL_JoystickGUID a, char *b, int c),(a,b,c),return)
 | 
					SDL_DYNAPI_PROC(int,SDL_GetJoystickGUIDString,(SDL_JoystickGUID a, char *b, int c),(a,b,c),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(Uint8,SDL_GetJoystickHat,(SDL_Joystick *a, int b),(a,b),return)
 | 
					SDL_DYNAPI_PROC(Uint8,SDL_GetJoystickHat,(SDL_Joystick *a, int b),(a,b),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_JoystickGUID,SDL_GetJoystickInstanceGUID,(SDL_JoystickID a),(a),return)
 | 
					SDL_DYNAPI_PROC(SDL_JoystickID,SDL_GetJoystickID,(SDL_Joystick *a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_JoystickID,SDL_GetJoystickInstanceID,(SDL_Joystick *a),(a),return)
 | 
					 | 
				
			||||||
SDL_DYNAPI_PROC(const char*,SDL_GetJoystickInstanceName,(SDL_JoystickID a),(a),return)
 | 
					 | 
				
			||||||
SDL_DYNAPI_PROC(const char*,SDL_GetJoystickInstancePath,(SDL_JoystickID a),(a),return)
 | 
					 | 
				
			||||||
SDL_DYNAPI_PROC(int,SDL_GetJoystickInstancePlayerIndex,(SDL_JoystickID a),(a),return)
 | 
					 | 
				
			||||||
SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickInstanceProduct,(SDL_JoystickID a),(a),return)
 | 
					 | 
				
			||||||
SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickInstanceProductVersion,(SDL_JoystickID a),(a),return)
 | 
					 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_JoystickType,SDL_GetJoystickInstanceType,(SDL_JoystickID a),(a),return)
 | 
					 | 
				
			||||||
SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickInstanceVendor,(SDL_JoystickID a),(a),return)
 | 
					 | 
				
			||||||
SDL_DYNAPI_PROC(const char*,SDL_GetJoystickName,(SDL_Joystick *a),(a),return)
 | 
					SDL_DYNAPI_PROC(const char*,SDL_GetJoystickName,(SDL_Joystick *a),(a),return)
 | 
				
			||||||
 | 
					SDL_DYNAPI_PROC(const char*,SDL_GetJoystickNameFromID,(SDL_JoystickID a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(const char*,SDL_GetJoystickPath,(SDL_Joystick *a),(a),return)
 | 
					SDL_DYNAPI_PROC(const char*,SDL_GetJoystickPath,(SDL_Joystick *a),(a),return)
 | 
				
			||||||
 | 
					SDL_DYNAPI_PROC(const char*,SDL_GetJoystickPathFromID,(SDL_JoystickID a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(int,SDL_GetJoystickPlayerIndex,(SDL_Joystick *a),(a),return)
 | 
					SDL_DYNAPI_PROC(int,SDL_GetJoystickPlayerIndex,(SDL_Joystick *a),(a),return)
 | 
				
			||||||
 | 
					SDL_DYNAPI_PROC(int,SDL_GetJoystickPlayerIndexFromID,(SDL_JoystickID a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_PowerState,SDL_GetJoystickPowerInfo,(SDL_Joystick *a, int *b),(a,b),return)
 | 
					SDL_DYNAPI_PROC(SDL_PowerState,SDL_GetJoystickPowerInfo,(SDL_Joystick *a, int *b),(a,b),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickProduct,(SDL_Joystick *a),(a),return)
 | 
					SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickProduct,(SDL_Joystick *a),(a),return)
 | 
				
			||||||
 | 
					SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickProductFromID,(SDL_JoystickID a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickProductVersion,(SDL_Joystick *a),(a),return)
 | 
					SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickProductVersion,(SDL_Joystick *a),(a),return)
 | 
				
			||||||
 | 
					SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickProductVersionFromID,(SDL_JoystickID a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_PropertiesID,SDL_GetJoystickProperties,(SDL_Joystick *a),(a),return)
 | 
					SDL_DYNAPI_PROC(SDL_PropertiesID,SDL_GetJoystickProperties,(SDL_Joystick *a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(const char*,SDL_GetJoystickSerial,(SDL_Joystick *a),(a),return)
 | 
					SDL_DYNAPI_PROC(const char*,SDL_GetJoystickSerial,(SDL_Joystick *a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_JoystickType,SDL_GetJoystickType,(SDL_Joystick *a),(a),return)
 | 
					SDL_DYNAPI_PROC(SDL_JoystickType,SDL_GetJoystickType,(SDL_Joystick *a),(a),return)
 | 
				
			||||||
 | 
					SDL_DYNAPI_PROC(SDL_JoystickType,SDL_GetJoystickTypeFromID,(SDL_JoystickID a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickVendor,(SDL_Joystick *a),(a),return)
 | 
					SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickVendor,(SDL_Joystick *a),(a),return)
 | 
				
			||||||
 | 
					SDL_DYNAPI_PROC(Uint16,SDL_GetJoystickVendorFromID,(SDL_JoystickID a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_JoystickID*,SDL_GetJoysticks,(int *a),(a),return)
 | 
					SDL_DYNAPI_PROC(SDL_JoystickID*,SDL_GetJoysticks,(int *a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_Keycode,SDL_GetKeyFromName,(const char *a),(a),return)
 | 
					SDL_DYNAPI_PROC(SDL_Keycode,SDL_GetKeyFromName,(const char *a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_Keycode,SDL_GetKeyFromScancode,(SDL_Scancode a, SDL_Keymod b),(a,b),return)
 | 
					SDL_DYNAPI_PROC(SDL_Keycode,SDL_GetKeyFromScancode,(SDL_Scancode a, SDL_Keymod b),(a,b),return)
 | 
				
			||||||
@@ -464,14 +464,14 @@ SDL_DYNAPI_PROC(const char*,SDL_GetScancodeName,(SDL_Scancode a),(a),return)
 | 
				
			|||||||
SDL_DYNAPI_PROC(Uint32,SDL_GetSemaphoreValue,(SDL_Semaphore *a),(a),return)
 | 
					SDL_DYNAPI_PROC(Uint32,SDL_GetSemaphoreValue,(SDL_Semaphore *a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(int,SDL_GetSensorData,(SDL_Sensor *a, float *b, int c),(a,b,c),return)
 | 
					SDL_DYNAPI_PROC(int,SDL_GetSensorData,(SDL_Sensor *a, float *b, int c),(a,b,c),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_Sensor*,SDL_GetSensorFromInstanceID,(SDL_SensorID a),(a),return)
 | 
					SDL_DYNAPI_PROC(SDL_Sensor*,SDL_GetSensorFromInstanceID,(SDL_SensorID a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_SensorID,SDL_GetSensorInstanceID,(SDL_Sensor *a),(a),return)
 | 
					SDL_DYNAPI_PROC(SDL_SensorID,SDL_GetSensorID,(SDL_Sensor *a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(const char*,SDL_GetSensorInstanceName,(SDL_SensorID a),(a),return)
 | 
					 | 
				
			||||||
SDL_DYNAPI_PROC(int,SDL_GetSensorInstanceNonPortableType,(SDL_SensorID a),(a),return)
 | 
					 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_SensorType,SDL_GetSensorInstanceType,(SDL_SensorID a),(a),return)
 | 
					 | 
				
			||||||
SDL_DYNAPI_PROC(const char*,SDL_GetSensorName,(SDL_Sensor *a),(a),return)
 | 
					SDL_DYNAPI_PROC(const char*,SDL_GetSensorName,(SDL_Sensor *a),(a),return)
 | 
				
			||||||
 | 
					SDL_DYNAPI_PROC(const char*,SDL_GetSensorNameFromID,(SDL_SensorID a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(int,SDL_GetSensorNonPortableType,(SDL_Sensor *a),(a),return)
 | 
					SDL_DYNAPI_PROC(int,SDL_GetSensorNonPortableType,(SDL_Sensor *a),(a),return)
 | 
				
			||||||
 | 
					SDL_DYNAPI_PROC(int,SDL_GetSensorNonPortableTypeFromID,(SDL_SensorID a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_PropertiesID,SDL_GetSensorProperties,(SDL_Sensor *a),(a),return)
 | 
					SDL_DYNAPI_PROC(SDL_PropertiesID,SDL_GetSensorProperties,(SDL_Sensor *a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_SensorType,SDL_GetSensorType,(SDL_Sensor *a),(a),return)
 | 
					SDL_DYNAPI_PROC(SDL_SensorType,SDL_GetSensorType,(SDL_Sensor *a),(a),return)
 | 
				
			||||||
 | 
					SDL_DYNAPI_PROC(SDL_SensorType,SDL_GetSensorTypeFromID,(SDL_SensorID a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(SDL_SensorID*,SDL_GetSensors,(int *a),(a),return)
 | 
					SDL_DYNAPI_PROC(SDL_SensorID*,SDL_GetSensors,(int *a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(int,SDL_GetSilenceValueForFormat,(SDL_AudioFormat a),(a),return)
 | 
					SDL_DYNAPI_PROC(int,SDL_GetSilenceValueForFormat,(SDL_AudioFormat a),(a),return)
 | 
				
			||||||
SDL_DYNAPI_PROC(int,SDL_GetStorageFileSize,(SDL_Storage *a, const char *b, Uint64 *c),(a,b,c),return)
 | 
					SDL_DYNAPI_PROC(int,SDL_GetStorageFileSize,(SDL_Storage *a, const char *b, Uint64 *c),(a,b,c),return)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -92,7 +92,7 @@ SDL_HapticID *SDL_GetHaptics(int *count)
 | 
				
			|||||||
    return haptics;
 | 
					    return haptics;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const char *SDL_GetHapticInstanceName(SDL_HapticID instance_id)
 | 
					const char *SDL_GetHapticNameFromID(SDL_HapticID instance_id)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    int device_index;
 | 
					    int device_index;
 | 
				
			||||||
    const char *name = NULL;
 | 
					    const char *name = NULL;
 | 
				
			||||||
@@ -178,7 +178,7 @@ SDL_Haptic *SDL_GetHapticFromInstanceID(SDL_HapticID instance_id)
 | 
				
			|||||||
    return haptic;
 | 
					    return haptic;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SDL_HapticID SDL_GetHapticInstanceID(SDL_Haptic *haptic)
 | 
					SDL_HapticID SDL_GetHapticID(SDL_Haptic *haptic)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    CHECK_HAPTIC_MAGIC(haptic, 0);
 | 
					    CHECK_HAPTIC_MAGIC(haptic, 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -222,7 +222,7 @@ SDL_bool SDL_IsJoystickHaptic(SDL_Joystick *joystick)
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
        /* Must be a valid joystick */
 | 
					        /* Must be a valid joystick */
 | 
				
			||||||
        if (SDL_IsJoystickValid(joystick) &&
 | 
					        if (SDL_IsJoystickValid(joystick) &&
 | 
				
			||||||
            !SDL_IsGamepad(SDL_GetJoystickInstanceID(joystick))) {
 | 
					            !SDL_IsGamepad(SDL_GetJoystickID(joystick))) {
 | 
				
			||||||
            result = SDL_SYS_JoystickIsHaptic(joystick);
 | 
					            result = SDL_SYS_JoystickIsHaptic(joystick);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -246,7 +246,7 @@ SDL_Haptic *SDL_OpenHapticFromJoystick(SDL_Joystick *joystick)
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /* Joystick must be haptic */
 | 
					        /* Joystick must be haptic */
 | 
				
			||||||
        if (SDL_IsGamepad(SDL_GetJoystickInstanceID(joystick)) ||
 | 
					        if (SDL_IsGamepad(SDL_GetJoystickID(joystick)) ||
 | 
				
			||||||
            SDL_SYS_JoystickIsHaptic(joystick) <= 0) {
 | 
					            SDL_SYS_JoystickIsHaptic(joystick) <= 0) {
 | 
				
			||||||
            SDL_SetError("Haptic: Joystick isn't a haptic device.");
 | 
					            SDL_SetError("Haptic: Joystick isn't a haptic device.");
 | 
				
			||||||
            SDL_UnlockJoysticks();
 | 
					            SDL_UnlockJoysticks();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1778,8 +1778,8 @@ static GamepadMapping_t *SDL_PrivateGetGamepadMapping(SDL_JoystickID instance_id
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    SDL_AssertJoysticksLocked();
 | 
					    SDL_AssertJoysticksLocked();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    name = SDL_GetJoystickInstanceName(instance_id);
 | 
					    name = SDL_GetJoystickNameFromID(instance_id);
 | 
				
			||||||
    guid = SDL_GetJoystickInstanceGUID(instance_id);
 | 
					    guid = SDL_GetJoystickGUIDFromID(instance_id);
 | 
				
			||||||
    mapping = SDL_PrivateGetGamepadMappingForNameAndGUID(name, guid);
 | 
					    mapping = SDL_PrivateGetGamepadMappingForNameAndGUID(name, guid);
 | 
				
			||||||
    if (!mapping && create_mapping) {
 | 
					    if (!mapping && create_mapping) {
 | 
				
			||||||
        SDL_GamepadMapping raw_map;
 | 
					        SDL_GamepadMapping raw_map;
 | 
				
			||||||
@@ -2246,7 +2246,7 @@ char *SDL_GetGamepadMapping(SDL_Gamepad *gamepad)
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
int SDL_SetGamepadMapping(SDL_JoystickID instance_id, const char *mapping)
 | 
					int SDL_SetGamepadMapping(SDL_JoystickID instance_id, const char *mapping)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    SDL_JoystickGUID guid = SDL_GetJoystickInstanceGUID(instance_id);
 | 
					    SDL_JoystickGUID guid = SDL_GetJoystickGUIDFromID(instance_id);
 | 
				
			||||||
    int retval = -1;
 | 
					    int retval = -1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (SDL_memcmp(&guid, &s_zeroGUID, sizeof(guid)) == 0) {
 | 
					    if (SDL_memcmp(&guid, &s_zeroGUID, sizeof(guid)) == 0) {
 | 
				
			||||||
@@ -2420,7 +2420,7 @@ SDL_JoystickID *SDL_GetGamepads(int *count)
 | 
				
			|||||||
    return joysticks;
 | 
					    return joysticks;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const char *SDL_GetGamepadInstanceName(SDL_JoystickID instance_id)
 | 
					const char *SDL_GetGamepadNameFromID(SDL_JoystickID instance_id)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    const char *retval = NULL;
 | 
					    const char *retval = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -2429,7 +2429,7 @@ const char *SDL_GetGamepadInstanceName(SDL_JoystickID instance_id)
 | 
				
			|||||||
        GamepadMapping_t *mapping = SDL_PrivateGetGamepadMapping(instance_id, SDL_TRUE);
 | 
					        GamepadMapping_t *mapping = SDL_PrivateGetGamepadMapping(instance_id, SDL_TRUE);
 | 
				
			||||||
        if (mapping) {
 | 
					        if (mapping) {
 | 
				
			||||||
            if (SDL_strcmp(mapping->name, "*") == 0) {
 | 
					            if (SDL_strcmp(mapping->name, "*") == 0) {
 | 
				
			||||||
                retval = SDL_GetJoystickInstanceName(instance_id);
 | 
					                retval = SDL_GetJoystickNameFromID(instance_id);
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                retval = mapping->name;
 | 
					                retval = mapping->name;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
@@ -2440,37 +2440,37 @@ const char *SDL_GetGamepadInstanceName(SDL_JoystickID instance_id)
 | 
				
			|||||||
    return retval;
 | 
					    return retval;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const char *SDL_GetGamepadInstancePath(SDL_JoystickID instance_id)
 | 
					const char *SDL_GetGamepadPathFromID(SDL_JoystickID instance_id)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return SDL_GetJoystickInstancePath(instance_id);
 | 
					    return SDL_GetJoystickPathFromID(instance_id);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int SDL_GetGamepadInstancePlayerIndex(SDL_JoystickID instance_id)
 | 
					int SDL_GetGamepadPlayerIndexFromID(SDL_JoystickID instance_id)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return SDL_GetJoystickInstancePlayerIndex(instance_id);
 | 
					    return SDL_GetJoystickPlayerIndexFromID(instance_id);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SDL_JoystickGUID SDL_GetGamepadInstanceGUID(SDL_JoystickID instance_id)
 | 
					SDL_JoystickGUID SDL_GetGamepadGUIDFromID(SDL_JoystickID instance_id)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return SDL_GetJoystickInstanceGUID(instance_id);
 | 
					    return SDL_GetJoystickGUIDFromID(instance_id);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Uint16 SDL_GetGamepadInstanceVendor(SDL_JoystickID instance_id)
 | 
					Uint16 SDL_GetGamepadVendorFromID(SDL_JoystickID instance_id)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return SDL_GetJoystickInstanceVendor(instance_id);
 | 
					    return SDL_GetJoystickVendorFromID(instance_id);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Uint16 SDL_GetGamepadInstanceProduct(SDL_JoystickID instance_id)
 | 
					Uint16 SDL_GetGamepadProductFromID(SDL_JoystickID instance_id)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return SDL_GetJoystickInstanceProduct(instance_id);
 | 
					    return SDL_GetJoystickProductFromID(instance_id);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Uint16 SDL_GetGamepadInstanceProductVersion(SDL_JoystickID instance_id)
 | 
					Uint16 SDL_GetGamepadProductVersionFromID(SDL_JoystickID instance_id)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return SDL_GetJoystickInstanceProductVersion(instance_id);
 | 
					    return SDL_GetJoystickProductVersionFromID(instance_id);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SDL_GamepadType SDL_GetGamepadInstanceType(SDL_JoystickID instance_id)
 | 
					SDL_GamepadType SDL_GetGamepadTypeFromID(SDL_JoystickID instance_id)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    SDL_GamepadType type = SDL_GAMEPAD_TYPE_UNKNOWN;
 | 
					    SDL_GamepadType type = SDL_GAMEPAD_TYPE_UNKNOWN;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -2507,11 +2507,11 @@ SDL_GamepadType SDL_GetRealGamepadInstanceType(SDL_JoystickID instance_id)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    SDL_LockJoysticks();
 | 
					    SDL_LockJoysticks();
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        info = SDL_GetJoystickInstanceVirtualGamepadInfo(instance_id);
 | 
					        info = SDL_GetJoystickVirtualGamepadInfoFromID(instance_id);
 | 
				
			||||||
        if (info) {
 | 
					        if (info) {
 | 
				
			||||||
            type = info->type;
 | 
					            type = info->type;
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            type = SDL_GetGamepadTypeFromGUID(SDL_GetJoystickInstanceGUID(instance_id), SDL_GetJoystickInstanceName(instance_id));
 | 
					            type = SDL_GetGamepadTypeFromGUID(SDL_GetJoystickGUIDFromID(instance_id), SDL_GetJoystickNameFromID(instance_id));
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    SDL_UnlockJoysticks();
 | 
					    SDL_UnlockJoysticks();
 | 
				
			||||||
@@ -2519,7 +2519,7 @@ SDL_GamepadType SDL_GetRealGamepadInstanceType(SDL_JoystickID instance_id)
 | 
				
			|||||||
    return type;
 | 
					    return type;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
char *SDL_GetGamepadInstanceMapping(SDL_JoystickID instance_id)
 | 
					char *SDL_GetGamepadMappingFromID(SDL_JoystickID instance_id)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    char *retval = NULL;
 | 
					    char *retval = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -2528,7 +2528,7 @@ char *SDL_GetGamepadInstanceMapping(SDL_JoystickID instance_id)
 | 
				
			|||||||
        GamepadMapping_t *mapping = SDL_PrivateGetGamepadMapping(instance_id, SDL_TRUE);
 | 
					        GamepadMapping_t *mapping = SDL_PrivateGetGamepadMapping(instance_id, SDL_TRUE);
 | 
				
			||||||
        if (mapping) {
 | 
					        if (mapping) {
 | 
				
			||||||
            char pchGUID[33];
 | 
					            char pchGUID[33];
 | 
				
			||||||
            const SDL_JoystickGUID guid = SDL_GetJoystickInstanceGUID(instance_id);
 | 
					            const SDL_JoystickGUID guid = SDL_GetJoystickGUIDFromID(instance_id);
 | 
				
			||||||
            SDL_GetJoystickGUIDString(guid, pchGUID, sizeof(pchGUID));
 | 
					            SDL_GetJoystickGUIDString(guid, pchGUID, sizeof(pchGUID));
 | 
				
			||||||
            SDL_asprintf(&retval, "%s,%s,%s", pchGUID, mapping->name, mapping->mapping);
 | 
					            SDL_asprintf(&retval, "%s,%s,%s", pchGUID, mapping->name, mapping->mapping);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -3272,14 +3272,14 @@ int SDL_GetGamepadSensorData(SDL_Gamepad *gamepad, SDL_SensorType type, float *d
 | 
				
			|||||||
    return SDL_Unsupported();
 | 
					    return SDL_Unsupported();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SDL_JoystickID SDL_GetGamepadInstanceID(SDL_Gamepad *gamepad)
 | 
					SDL_JoystickID SDL_GetGamepadID(SDL_Gamepad *gamepad)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    SDL_Joystick *joystick = SDL_GetGamepadJoystick(gamepad);
 | 
					    SDL_Joystick *joystick = SDL_GetGamepadJoystick(gamepad);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (!joystick) {
 | 
					    if (!joystick) {
 | 
				
			||||||
        return 0;
 | 
					        return 0;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    return SDL_GetJoystickInstanceID(joystick);
 | 
					    return SDL_GetJoystickID(joystick);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SDL_PropertiesID SDL_GetGamepadProperties(SDL_Gamepad *gamepad)
 | 
					SDL_PropertiesID SDL_GetGamepadProperties(SDL_Gamepad *gamepad)
 | 
				
			||||||
@@ -3336,7 +3336,7 @@ SDL_GamepadType SDL_GetGamepadType(SDL_Gamepad *gamepad)
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
        CHECK_GAMEPAD_MAGIC(gamepad, SDL_GAMEPAD_TYPE_UNKNOWN);
 | 
					        CHECK_GAMEPAD_MAGIC(gamepad, SDL_GAMEPAD_TYPE_UNKNOWN);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        info = SDL_GetJoystickInstanceVirtualGamepadInfo(gamepad->joystick->instance_id);
 | 
					        info = SDL_GetJoystickVirtualGamepadInfoFromID(gamepad->joystick->instance_id);
 | 
				
			||||||
        if (info) {
 | 
					        if (info) {
 | 
				
			||||||
            type = info->type;
 | 
					            type = info->type;
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -754,7 +754,7 @@ SDL_JoystickID *SDL_GetJoysticks(int *count)
 | 
				
			|||||||
    return joysticks;
 | 
					    return joysticks;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const SDL_SteamVirtualGamepadInfo *SDL_GetJoystickInstanceVirtualGamepadInfo(SDL_JoystickID instance_id)
 | 
					const SDL_SteamVirtualGamepadInfo *SDL_GetJoystickVirtualGamepadInfoFromID(SDL_JoystickID instance_id)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    SDL_JoystickDriver *driver;
 | 
					    SDL_JoystickDriver *driver;
 | 
				
			||||||
    int device_index;
 | 
					    int device_index;
 | 
				
			||||||
@@ -770,7 +770,7 @@ const SDL_SteamVirtualGamepadInfo *SDL_GetJoystickInstanceVirtualGamepadInfo(SDL
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Get the implementation dependent name of a joystick
 | 
					 * Get the implementation dependent name of a joystick
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
const char *SDL_GetJoystickInstanceName(SDL_JoystickID instance_id)
 | 
					const char *SDL_GetJoystickNameFromID(SDL_JoystickID instance_id)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    SDL_JoystickDriver *driver;
 | 
					    SDL_JoystickDriver *driver;
 | 
				
			||||||
    int device_index;
 | 
					    int device_index;
 | 
				
			||||||
@@ -778,7 +778,7 @@ const char *SDL_GetJoystickInstanceName(SDL_JoystickID instance_id)
 | 
				
			|||||||
    const SDL_SteamVirtualGamepadInfo *info;
 | 
					    const SDL_SteamVirtualGamepadInfo *info;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    SDL_LockJoysticks();
 | 
					    SDL_LockJoysticks();
 | 
				
			||||||
    info = SDL_GetJoystickInstanceVirtualGamepadInfo(instance_id);
 | 
					    info = SDL_GetJoystickVirtualGamepadInfoFromID(instance_id);
 | 
				
			||||||
    if (info) {
 | 
					    if (info) {
 | 
				
			||||||
        name = info->name;
 | 
					        name = info->name;
 | 
				
			||||||
    } else if (SDL_GetDriverAndJoystickIndex(instance_id, &driver, &device_index)) {
 | 
					    } else if (SDL_GetDriverAndJoystickIndex(instance_id, &driver, &device_index)) {
 | 
				
			||||||
@@ -792,7 +792,7 @@ const char *SDL_GetJoystickInstanceName(SDL_JoystickID instance_id)
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Get the implementation dependent path of a joystick
 | 
					 * Get the implementation dependent path of a joystick
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
const char *SDL_GetJoystickInstancePath(SDL_JoystickID instance_id)
 | 
					const char *SDL_GetJoystickPathFromID(SDL_JoystickID instance_id)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    SDL_JoystickDriver *driver;
 | 
					    SDL_JoystickDriver *driver;
 | 
				
			||||||
    int device_index;
 | 
					    int device_index;
 | 
				
			||||||
@@ -813,7 +813,7 @@ const char *SDL_GetJoystickInstancePath(SDL_JoystickID instance_id)
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 *  Get the player index of a joystick, or -1 if it's not available
 | 
					 *  Get the player index of a joystick, or -1 if it's not available
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
int SDL_GetJoystickInstancePlayerIndex(SDL_JoystickID instance_id)
 | 
					int SDL_GetJoystickPlayerIndexFromID(SDL_JoystickID instance_id)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    int player_index;
 | 
					    int player_index;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -864,14 +864,14 @@ static SDL_bool IsROGAlly(SDL_Joystick *joystick)
 | 
				
			|||||||
                for (i = 0; sensors[i]; ++i) {
 | 
					                for (i = 0; sensors[i]; ++i) {
 | 
				
			||||||
                    SDL_SensorID sensor = sensors[i];
 | 
					                    SDL_SensorID sensor = sensors[i];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    if (!has_ally_accel && SDL_GetSensorInstanceType(sensor) == SDL_SENSOR_ACCEL) {
 | 
					                    if (!has_ally_accel && SDL_GetSensorTypeFromID(sensor) == SDL_SENSOR_ACCEL) {
 | 
				
			||||||
                        const char *sensor_name = SDL_GetSensorInstanceName(sensor);
 | 
					                        const char *sensor_name = SDL_GetSensorNameFromID(sensor);
 | 
				
			||||||
                        if (sensor_name && SDL_strcmp(sensor_name, "Sensor BMI320 Acc") == 0) {
 | 
					                        if (sensor_name && SDL_strcmp(sensor_name, "Sensor BMI320 Acc") == 0) {
 | 
				
			||||||
                            has_ally_accel = SDL_TRUE;
 | 
					                            has_ally_accel = SDL_TRUE;
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    if (!has_ally_gyro && SDL_GetSensorInstanceType(sensor) == SDL_SENSOR_GYRO) {
 | 
					                    if (!has_ally_gyro && SDL_GetSensorTypeFromID(sensor) == SDL_SENSOR_GYRO) {
 | 
				
			||||||
                        const char *sensor_name = SDL_GetSensorInstanceName(sensor);
 | 
					                        const char *sensor_name = SDL_GetSensorNameFromID(sensor);
 | 
				
			||||||
                        if (sensor_name && SDL_strcmp(sensor_name, "Sensor BMI320 Gyr") == 0) {
 | 
					                        if (sensor_name && SDL_strcmp(sensor_name, "Sensor BMI320 Gyr") == 0) {
 | 
				
			||||||
                            has_ally_gyro = SDL_TRUE;
 | 
					                            has_ally_gyro = SDL_TRUE;
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
@@ -966,14 +966,14 @@ static void AttemptSensorFusion(SDL_Joystick *joystick, SDL_bool invert_sensors)
 | 
				
			|||||||
        for (i = 0; sensors[i]; ++i) {
 | 
					        for (i = 0; sensors[i]; ++i) {
 | 
				
			||||||
            SDL_SensorID sensor = sensors[i];
 | 
					            SDL_SensorID sensor = sensors[i];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (!joystick->accel_sensor && SDL_GetSensorInstanceType(sensor) == SDL_SENSOR_ACCEL) {
 | 
					            if (!joystick->accel_sensor && SDL_GetSensorTypeFromID(sensor) == SDL_SENSOR_ACCEL) {
 | 
				
			||||||
                /* Increment the sensor subsystem reference count */
 | 
					                /* Increment the sensor subsystem reference count */
 | 
				
			||||||
                SDL_InitSubSystem(SDL_INIT_SENSOR);
 | 
					                SDL_InitSubSystem(SDL_INIT_SENSOR);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                joystick->accel_sensor = sensor;
 | 
					                joystick->accel_sensor = sensor;
 | 
				
			||||||
                SDL_PrivateJoystickAddSensor(joystick, SDL_SENSOR_ACCEL, 0.0f);
 | 
					                SDL_PrivateJoystickAddSensor(joystick, SDL_SENSOR_ACCEL, 0.0f);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            if (!joystick->gyro_sensor && SDL_GetSensorInstanceType(sensor) == SDL_SENSOR_GYRO) {
 | 
					            if (!joystick->gyro_sensor && SDL_GetSensorTypeFromID(sensor) == SDL_SENSOR_GYRO) {
 | 
				
			||||||
                /* Increment the sensor subsystem reference count */
 | 
					                /* Increment the sensor subsystem reference count */
 | 
				
			||||||
                SDL_InitSubSystem(SDL_INIT_SENSOR);
 | 
					                SDL_InitSubSystem(SDL_INIT_SENSOR);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1151,7 +1151,7 @@ SDL_Joystick *SDL_OpenJoystick(SDL_JoystickID instance_id)
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* Get the Steam Input API handle */
 | 
					    /* Get the Steam Input API handle */
 | 
				
			||||||
    info = SDL_GetJoystickInstanceVirtualGamepadInfo(instance_id);
 | 
					    info = SDL_GetJoystickVirtualGamepadInfoFromID(instance_id);
 | 
				
			||||||
    if (info) {
 | 
					    if (info) {
 | 
				
			||||||
        joystick->steam_handle = info->handle;
 | 
					        joystick->steam_handle = info->handle;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -1567,7 +1567,7 @@ SDL_bool SDL_JoystickConnected(SDL_Joystick *joystick)
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Get the instance id for this opened joystick
 | 
					 * Get the instance id for this opened joystick
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
SDL_JoystickID SDL_GetJoystickInstanceID(SDL_Joystick *joystick)
 | 
					SDL_JoystickID SDL_GetJoystickID(SDL_Joystick *joystick)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    SDL_JoystickID retval;
 | 
					    SDL_JoystickID retval;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1651,7 +1651,7 @@ const char *SDL_GetJoystickName(SDL_Joystick *joystick)
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
        CHECK_JOYSTICK_MAGIC(joystick, NULL);
 | 
					        CHECK_JOYSTICK_MAGIC(joystick, NULL);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        info = SDL_GetJoystickInstanceVirtualGamepadInfo(joystick->instance_id);
 | 
					        info = SDL_GetJoystickVirtualGamepadInfoFromID(joystick->instance_id);
 | 
				
			||||||
        if (info) {
 | 
					        if (info) {
 | 
				
			||||||
            retval = info->name;
 | 
					            retval = info->name;
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
@@ -2362,7 +2362,7 @@ static void SendSteamHandleUpdateEvents(void)
 | 
				
			|||||||
            continue;
 | 
					            continue;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        info = SDL_GetJoystickInstanceVirtualGamepadInfo(joystick->instance_id);
 | 
					        info = SDL_GetJoystickVirtualGamepadInfoFromID(joystick->instance_id);
 | 
				
			||||||
        if (info) {
 | 
					        if (info) {
 | 
				
			||||||
            if (joystick->steam_handle != info->handle) {
 | 
					            if (joystick->steam_handle != info->handle) {
 | 
				
			||||||
                joystick->steam_handle = info->handle;
 | 
					                joystick->steam_handle = info->handle;
 | 
				
			||||||
@@ -3258,7 +3258,7 @@ SDL_bool SDL_ShouldIgnoreJoystick(const char *name, SDL_JoystickGUID guid)
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* return the guid for this index */
 | 
					/* return the guid for this index */
 | 
				
			||||||
SDL_JoystickGUID SDL_GetJoystickInstanceGUID(SDL_JoystickID instance_id)
 | 
					SDL_JoystickGUID SDL_GetJoystickGUIDFromID(SDL_JoystickID instance_id)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    SDL_JoystickDriver *driver;
 | 
					    SDL_JoystickDriver *driver;
 | 
				
			||||||
    int device_index;
 | 
					    int device_index;
 | 
				
			||||||
@@ -3275,17 +3275,17 @@ SDL_JoystickGUID SDL_GetJoystickInstanceGUID(SDL_JoystickID instance_id)
 | 
				
			|||||||
    return guid;
 | 
					    return guid;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Uint16 SDL_GetJoystickInstanceVendor(SDL_JoystickID instance_id)
 | 
					Uint16 SDL_GetJoystickVendorFromID(SDL_JoystickID instance_id)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    Uint16 vendor;
 | 
					    Uint16 vendor;
 | 
				
			||||||
    const SDL_SteamVirtualGamepadInfo *info;
 | 
					    const SDL_SteamVirtualGamepadInfo *info;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    SDL_LockJoysticks();
 | 
					    SDL_LockJoysticks();
 | 
				
			||||||
    info = SDL_GetJoystickInstanceVirtualGamepadInfo(instance_id);
 | 
					    info = SDL_GetJoystickVirtualGamepadInfoFromID(instance_id);
 | 
				
			||||||
    if (info) {
 | 
					    if (info) {
 | 
				
			||||||
        vendor = info->vendor_id;
 | 
					        vendor = info->vendor_id;
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
        SDL_JoystickGUID guid = SDL_GetJoystickInstanceGUID(instance_id);
 | 
					        SDL_JoystickGUID guid = SDL_GetJoystickGUIDFromID(instance_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        SDL_GetJoystickGUIDInfo(guid, &vendor, NULL, NULL, NULL);
 | 
					        SDL_GetJoystickGUIDInfo(guid, &vendor, NULL, NULL, NULL);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -3294,17 +3294,17 @@ Uint16 SDL_GetJoystickInstanceVendor(SDL_JoystickID instance_id)
 | 
				
			|||||||
    return vendor;
 | 
					    return vendor;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Uint16 SDL_GetJoystickInstanceProduct(SDL_JoystickID instance_id)
 | 
					Uint16 SDL_GetJoystickProductFromID(SDL_JoystickID instance_id)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    Uint16 product;
 | 
					    Uint16 product;
 | 
				
			||||||
    const SDL_SteamVirtualGamepadInfo *info;
 | 
					    const SDL_SteamVirtualGamepadInfo *info;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    SDL_LockJoysticks();
 | 
					    SDL_LockJoysticks();
 | 
				
			||||||
    info = SDL_GetJoystickInstanceVirtualGamepadInfo(instance_id);
 | 
					    info = SDL_GetJoystickVirtualGamepadInfoFromID(instance_id);
 | 
				
			||||||
    if (info) {
 | 
					    if (info) {
 | 
				
			||||||
        product = info->product_id;
 | 
					        product = info->product_id;
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
        SDL_JoystickGUID guid = SDL_GetJoystickInstanceGUID(instance_id);
 | 
					        SDL_JoystickGUID guid = SDL_GetJoystickGUIDFromID(instance_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        SDL_GetJoystickGUIDInfo(guid, NULL, &product, NULL, NULL);
 | 
					        SDL_GetJoystickGUIDInfo(guid, NULL, &product, NULL, NULL);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -3313,19 +3313,19 @@ Uint16 SDL_GetJoystickInstanceProduct(SDL_JoystickID instance_id)
 | 
				
			|||||||
    return product;
 | 
					    return product;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Uint16 SDL_GetJoystickInstanceProductVersion(SDL_JoystickID instance_id)
 | 
					Uint16 SDL_GetJoystickProductVersionFromID(SDL_JoystickID instance_id)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    Uint16 version;
 | 
					    Uint16 version;
 | 
				
			||||||
    SDL_JoystickGUID guid = SDL_GetJoystickInstanceGUID(instance_id);
 | 
					    SDL_JoystickGUID guid = SDL_GetJoystickGUIDFromID(instance_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    SDL_GetJoystickGUIDInfo(guid, NULL, NULL, &version, NULL);
 | 
					    SDL_GetJoystickGUIDInfo(guid, NULL, NULL, &version, NULL);
 | 
				
			||||||
    return version;
 | 
					    return version;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SDL_JoystickType SDL_GetJoystickInstanceType(SDL_JoystickID instance_id)
 | 
					SDL_JoystickType SDL_GetJoystickTypeFromID(SDL_JoystickID instance_id)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    SDL_JoystickType type;
 | 
					    SDL_JoystickType type;
 | 
				
			||||||
    SDL_JoystickGUID guid = SDL_GetJoystickInstanceGUID(instance_id);
 | 
					    SDL_JoystickGUID guid = SDL_GetJoystickGUIDFromID(instance_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    type = SDL_GetJoystickGUIDType(guid);
 | 
					    type = SDL_GetJoystickGUIDType(guid);
 | 
				
			||||||
    if (type == SDL_JOYSTICK_TYPE_UNKNOWN) {
 | 
					    if (type == SDL_JOYSTICK_TYPE_UNKNOWN) {
 | 
				
			||||||
@@ -3362,7 +3362,7 @@ Uint16 SDL_GetJoystickVendor(SDL_Joystick *joystick)
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
        CHECK_JOYSTICK_MAGIC(joystick, 0);
 | 
					        CHECK_JOYSTICK_MAGIC(joystick, 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        info = SDL_GetJoystickInstanceVirtualGamepadInfo(joystick->instance_id);
 | 
					        info = SDL_GetJoystickVirtualGamepadInfoFromID(joystick->instance_id);
 | 
				
			||||||
        if (info) {
 | 
					        if (info) {
 | 
				
			||||||
            vendor = info->vendor_id;
 | 
					            vendor = info->vendor_id;
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
@@ -3385,7 +3385,7 @@ Uint16 SDL_GetJoystickProduct(SDL_Joystick *joystick)
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
        CHECK_JOYSTICK_MAGIC(joystick, 0);
 | 
					        CHECK_JOYSTICK_MAGIC(joystick, 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        info = SDL_GetJoystickInstanceVirtualGamepadInfo(joystick->instance_id);
 | 
					        info = SDL_GetJoystickVirtualGamepadInfoFromID(joystick->instance_id);
 | 
				
			||||||
        if (info) {
 | 
					        if (info) {
 | 
				
			||||||
            product = info->product_id;
 | 
					            product = info->product_id;
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -170,7 +170,7 @@ extern int SDL_SendJoystickSensor(Uint64 timestamp, SDL_Joystick *joystick, SDL_
 | 
				
			|||||||
extern void SDL_SendJoystickPowerInfo(SDL_Joystick *joystick, SDL_PowerState state, int percent);
 | 
					extern void SDL_SendJoystickPowerInfo(SDL_Joystick *joystick, SDL_PowerState state, int percent);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Function to get the Steam virtual gamepad info for a joystick */
 | 
					/* Function to get the Steam virtual gamepad info for a joystick */
 | 
				
			||||||
extern const struct SDL_SteamVirtualGamepadInfo *SDL_GetJoystickInstanceVirtualGamepadInfo(SDL_JoystickID instance_id);
 | 
					extern const struct SDL_SteamVirtualGamepadInfo *SDL_GetJoystickVirtualGamepadInfoFromID(SDL_JoystickID instance_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Internal sanity checking functions */
 | 
					/* Internal sanity checking functions */
 | 
				
			||||||
extern SDL_bool SDL_IsJoystickValid(SDL_Joystick *joystick);
 | 
					extern SDL_bool SDL_IsJoystickValid(SDL_Joystick *joystick);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -234,7 +234,7 @@ static void VITA_JoystickUpdate(SDL_Joystick *joystick)
 | 
				
			|||||||
    SceCtrlData *pad = NULL;
 | 
					    SceCtrlData *pad = NULL;
 | 
				
			||||||
    Uint64 timestamp = SDL_GetTicksNS();
 | 
					    Uint64 timestamp = SDL_GetTicksNS();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    int index = (int)SDL_GetJoystickInstanceID(joystick) - 1;
 | 
					    int index = (int)SDL_GetJoystickID(joystick) - 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (index == 0)
 | 
					    if (index == 0)
 | 
				
			||||||
        pad = &pad0;
 | 
					        pad = &pad0;
 | 
				
			||||||
@@ -327,7 +327,7 @@ static SDL_JoystickGUID VITA_JoystickGetDeviceGUID(int device_index)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
static int VITA_JoystickRumble(SDL_Joystick *joystick, Uint16 low_frequency_rumble, Uint16 high_frequency_rumble)
 | 
					static int VITA_JoystickRumble(SDL_Joystick *joystick, Uint16 low_frequency_rumble, Uint16 high_frequency_rumble)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    int index = (int)SDL_GetJoystickInstanceID(joystick) - 1;
 | 
					    int index = (int)SDL_GetJoystickID(joystick) - 1;
 | 
				
			||||||
    SceCtrlActuator act;
 | 
					    SceCtrlActuator act;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (index < 0 || index > 3) {
 | 
					    if (index < 0 || index > 3) {
 | 
				
			||||||
@@ -349,7 +349,7 @@ static int VITA_JoystickRumbleTriggers(SDL_Joystick *joystick, Uint16 left, Uint
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
static int VITA_JoystickSetLED(SDL_Joystick *joystick, Uint8 red, Uint8 green, Uint8 blue)
 | 
					static int VITA_JoystickSetLED(SDL_Joystick *joystick, Uint8 red, Uint8 green, Uint8 blue)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    int index = (int)SDL_GetJoystickInstanceID(joystick) - 1;
 | 
					    int index = (int)SDL_GetJoystickID(joystick) - 1;
 | 
				
			||||||
    if (index < 0 || index > 3) {
 | 
					    if (index < 0 || index > 3) {
 | 
				
			||||||
        return -1;
 | 
					        return -1;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -238,7 +238,7 @@ static SDL_bool SDL_GetDriverAndSensorIndex(SDL_SensorID instance_id, SDL_Sensor
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Get the implementation dependent name of a sensor
 | 
					 * Get the implementation dependent name of a sensor
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
const char *SDL_GetSensorInstanceName(SDL_SensorID instance_id)
 | 
					const char *SDL_GetSensorNameFromID(SDL_SensorID instance_id)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    SDL_SensorDriver *driver;
 | 
					    SDL_SensorDriver *driver;
 | 
				
			||||||
    int device_index;
 | 
					    int device_index;
 | 
				
			||||||
@@ -253,7 +253,7 @@ const char *SDL_GetSensorInstanceName(SDL_SensorID instance_id)
 | 
				
			|||||||
    return name ? SDL_FreeLater(SDL_strdup(name)) : NULL;
 | 
					    return name ? SDL_FreeLater(SDL_strdup(name)) : NULL;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SDL_SensorType SDL_GetSensorInstanceType(SDL_SensorID instance_id)
 | 
					SDL_SensorType SDL_GetSensorTypeFromID(SDL_SensorID instance_id)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    SDL_SensorDriver *driver;
 | 
					    SDL_SensorDriver *driver;
 | 
				
			||||||
    int device_index;
 | 
					    int device_index;
 | 
				
			||||||
@@ -268,7 +268,7 @@ SDL_SensorType SDL_GetSensorInstanceType(SDL_SensorID instance_id)
 | 
				
			|||||||
    return type;
 | 
					    return type;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int SDL_GetSensorInstanceNonPortableType(SDL_SensorID instance_id)
 | 
					int SDL_GetSensorNonPortableTypeFromID(SDL_SensorID instance_id)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    SDL_SensorDriver *driver;
 | 
					    SDL_SensorDriver *driver;
 | 
				
			||||||
    int device_index;
 | 
					    int device_index;
 | 
				
			||||||
@@ -453,7 +453,7 @@ int SDL_GetSensorNonPortableType(SDL_Sensor *sensor)
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * Get the instance id for this opened sensor
 | 
					 * Get the instance id for this opened sensor
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
SDL_SensorID SDL_GetSensorInstanceID(SDL_Sensor *sensor)
 | 
					SDL_SensorID SDL_GetSensorID(SDL_Sensor *sensor)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    SDL_SensorID retval;
 | 
					    SDL_SensorID retval;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -61,7 +61,7 @@ static int TestVirtualJoystick(void *arg)
 | 
				
			|||||||
            SDL_UpdateJoysticks();
 | 
					            SDL_UpdateJoysticks();
 | 
				
			||||||
            SDLTest_AssertCheck(SDL_GetJoystickButton(joystick, SDL_GAMEPAD_BUTTON_SOUTH) == SDL_RELEASED, "SDL_GetJoystickButton(SDL_GAMEPAD_BUTTON_SOUTH) == SDL_RELEASED");
 | 
					            SDLTest_AssertCheck(SDL_GetJoystickButton(joystick, SDL_GAMEPAD_BUTTON_SOUTH) == SDL_RELEASED, "SDL_GetJoystickButton(SDL_GAMEPAD_BUTTON_SOUTH) == SDL_RELEASED");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            gamepad = SDL_OpenGamepad(SDL_GetJoystickInstanceID(joystick));
 | 
					            gamepad = SDL_OpenGamepad(SDL_GetJoystickID(joystick));
 | 
				
			||||||
            SDLTest_AssertCheck(gamepad != NULL, "SDL_OpenGamepad() succeeded");
 | 
					            SDLTest_AssertCheck(gamepad != NULL, "SDL_OpenGamepad() succeeded");
 | 
				
			||||||
            if (gamepad) {
 | 
					            if (gamepad) {
 | 
				
			||||||
                SDLTest_AssertCheck(SDL_strcmp(SDL_GetGamepadName(gamepad), desc.name) == 0, "SDL_GetGamepadName()");
 | 
					                SDLTest_AssertCheck(SDL_strcmp(SDL_GetGamepadName(gamepad), desc.name) == 0, "SDL_GetGamepadName()");
 | 
				
			||||||
@@ -69,7 +69,7 @@ static int TestVirtualJoystick(void *arg)
 | 
				
			|||||||
                SDLTest_AssertCheck(SDL_GetGamepadProduct(gamepad) == desc.product_id, "SDL_GetGamepadProduct()");
 | 
					                SDLTest_AssertCheck(SDL_GetGamepadProduct(gamepad) == desc.product_id, "SDL_GetGamepadProduct()");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                /* Set an explicit mapping with a different name */
 | 
					                /* Set an explicit mapping with a different name */
 | 
				
			||||||
                SDL_SetGamepadMapping(SDL_GetJoystickInstanceID(joystick), "ff0013db5669727475616c2043007601,Virtual Gamepad,a:b0,b:b1,x:b2,y:b3,back:b4,guide:b5,start:b6,leftstick:b7,rightstick:b8,leftshoulder:b9,rightshoulder:b10,dpup:b11,dpdown:b12,dpleft:b13,dpright:b14,misc1:b15,paddle1:b16,paddle2:b17,paddle3:b18,paddle4:b19,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,");
 | 
					                SDL_SetGamepadMapping(SDL_GetJoystickID(joystick), "ff0013db5669727475616c2043007601,Virtual Gamepad,a:b0,b:b1,x:b2,y:b3,back:b4,guide:b5,start:b6,leftstick:b7,rightstick:b8,leftshoulder:b9,rightshoulder:b10,dpup:b11,dpdown:b12,dpleft:b13,dpright:b14,misc1:b15,paddle1:b16,paddle2:b17,paddle3:b18,paddle4:b19,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,");
 | 
				
			||||||
                SDLTest_AssertCheck(SDL_strcmp(SDL_GetGamepadName(gamepad), "Virtual Gamepad") == 0, "SDL_GetGamepadName() == Virtual Gamepad");
 | 
					                SDLTest_AssertCheck(SDL_strcmp(SDL_GetGamepadName(gamepad), "Virtual Gamepad") == 0, "SDL_GetGamepadName() == Virtual Gamepad");
 | 
				
			||||||
                SDLTest_AssertCheck(SDL_GetGamepadButtonLabel(gamepad, SDL_GAMEPAD_BUTTON_SOUTH) == SDL_GAMEPAD_BUTTON_LABEL_A, "SDL_GetGamepadButtonLabel(SDL_GAMEPAD_BUTTON_SOUTH) == SDL_GAMEPAD_BUTTON_LABEL_A");
 | 
					                SDLTest_AssertCheck(SDL_GetGamepadButtonLabel(gamepad, SDL_GAMEPAD_BUTTON_SOUTH) == SDL_GAMEPAD_BUTTON_LABEL_A, "SDL_GetGamepadButtonLabel(SDL_GAMEPAD_BUTTON_SOUTH) == SDL_GAMEPAD_BUTTON_LABEL_A");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -83,7 +83,7 @@ static int TestVirtualJoystick(void *arg)
 | 
				
			|||||||
                SDLTest_AssertCheck(SDL_GetGamepadButton(gamepad, SDL_GAMEPAD_BUTTON_SOUTH) == SDL_RELEASED, "SDL_GetGamepadButton(SDL_GAMEPAD_BUTTON_SOUTH) == SDL_RELEASED");
 | 
					                SDLTest_AssertCheck(SDL_GetGamepadButton(gamepad, SDL_GAMEPAD_BUTTON_SOUTH) == SDL_RELEASED, "SDL_GetGamepadButton(SDL_GAMEPAD_BUTTON_SOUTH) == SDL_RELEASED");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                /* Set an explicit mapping with legacy Nintendo style buttons */
 | 
					                /* Set an explicit mapping with legacy Nintendo style buttons */
 | 
				
			||||||
                SDL_SetGamepadMapping(SDL_GetJoystickInstanceID(joystick), "ff0013db5669727475616c2043007601,Virtual Nintendo Gamepad,a:b1,b:b0,x:b3,y:b2,back:b4,guide:b5,start:b6,leftstick:b7,rightstick:b8,leftshoulder:b9,rightshoulder:b10,dpup:b11,dpdown:b12,dpleft:b13,dpright:b14,misc1:b15,paddle1:b16,paddle2:b17,paddle3:b18,paddle4:b19,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,hint:SDL_GAMECONTROLLER_USE_BUTTON_LABELS:=1,");
 | 
					                SDL_SetGamepadMapping(SDL_GetJoystickID(joystick), "ff0013db5669727475616c2043007601,Virtual Nintendo Gamepad,a:b1,b:b0,x:b3,y:b2,back:b4,guide:b5,start:b6,leftstick:b7,rightstick:b8,leftshoulder:b9,rightshoulder:b10,dpup:b11,dpdown:b12,dpleft:b13,dpright:b14,misc1:b15,paddle1:b16,paddle2:b17,paddle3:b18,paddle4:b19,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,hint:SDL_GAMECONTROLLER_USE_BUTTON_LABELS:=1,");
 | 
				
			||||||
                SDLTest_AssertCheck(SDL_strcmp(SDL_GetGamepadName(gamepad), "Virtual Nintendo Gamepad") == 0, "SDL_GetGamepadName() == Virtual Nintendo Gamepad");
 | 
					                SDLTest_AssertCheck(SDL_strcmp(SDL_GetGamepadName(gamepad), "Virtual Nintendo Gamepad") == 0, "SDL_GetGamepadName() == Virtual Nintendo Gamepad");
 | 
				
			||||||
                SDLTest_AssertCheck(SDL_GetGamepadButtonLabel(gamepad, SDL_GAMEPAD_BUTTON_SOUTH) == SDL_GAMEPAD_BUTTON_LABEL_B, "SDL_GetGamepadButtonLabel(SDL_GAMEPAD_BUTTON_SOUTH) == SDL_GAMEPAD_BUTTON_LABEL_B");
 | 
					                SDLTest_AssertCheck(SDL_GetGamepadButtonLabel(gamepad, SDL_GAMEPAD_BUTTON_SOUTH) == SDL_GAMEPAD_BUTTON_LABEL_B, "SDL_GetGamepadButtonLabel(SDL_GAMEPAD_BUTTON_SOUTH) == SDL_GAMEPAD_BUTTON_LABEL_B");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -97,7 +97,7 @@ static int TestVirtualJoystick(void *arg)
 | 
				
			|||||||
                SDLTest_AssertCheck(SDL_GetGamepadButton(gamepad, SDL_GAMEPAD_BUTTON_SOUTH) == SDL_RELEASED, "SDL_GetGamepadButton(SDL_GAMEPAD_BUTTON_SOUTH) == SDL_RELEASED");
 | 
					                SDLTest_AssertCheck(SDL_GetGamepadButton(gamepad, SDL_GAMEPAD_BUTTON_SOUTH) == SDL_RELEASED, "SDL_GetGamepadButton(SDL_GAMEPAD_BUTTON_SOUTH) == SDL_RELEASED");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                /* Set an explicit mapping with PS4 style buttons */
 | 
					                /* Set an explicit mapping with PS4 style buttons */
 | 
				
			||||||
                SDL_SetGamepadMapping(SDL_GetJoystickInstanceID(joystick), "ff0013db5669727475616c2043007601,Virtual PS4 Gamepad,type:ps4,a:b0,b:b1,x:b2,y:b3,back:b4,guide:b5,start:b6,leftstick:b7,rightstick:b8,leftshoulder:b9,rightshoulder:b10,dpup:b11,dpdown:b12,dpleft:b13,dpright:b14,misc1:b15,paddle1:b16,paddle2:b17,paddle3:b18,paddle4:b19,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,");
 | 
					                SDL_SetGamepadMapping(SDL_GetJoystickID(joystick), "ff0013db5669727475616c2043007601,Virtual PS4 Gamepad,type:ps4,a:b0,b:b1,x:b2,y:b3,back:b4,guide:b5,start:b6,leftstick:b7,rightstick:b8,leftshoulder:b9,rightshoulder:b10,dpup:b11,dpdown:b12,dpleft:b13,dpright:b14,misc1:b15,paddle1:b16,paddle2:b17,paddle3:b18,paddle4:b19,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,");
 | 
				
			||||||
                SDLTest_AssertCheck(SDL_strcmp(SDL_GetGamepadName(gamepad), "Virtual PS4 Gamepad") == 0, "SDL_GetGamepadName() == Virtual PS4 Gamepad");
 | 
					                SDLTest_AssertCheck(SDL_strcmp(SDL_GetGamepadName(gamepad), "Virtual PS4 Gamepad") == 0, "SDL_GetGamepadName() == Virtual PS4 Gamepad");
 | 
				
			||||||
                SDLTest_AssertCheck(SDL_GetGamepadButtonLabel(gamepad, SDL_GAMEPAD_BUTTON_SOUTH) == SDL_GAMEPAD_BUTTON_LABEL_CROSS, "SDL_GetGamepadButtonLabel(SDL_GAMEPAD_BUTTON_SOUTH) == SDL_GAMEPAD_BUTTON_LABEL_CROSS");
 | 
					                SDLTest_AssertCheck(SDL_GetGamepadButtonLabel(gamepad, SDL_GAMEPAD_BUTTON_SOUTH) == SDL_GAMEPAD_BUTTON_LABEL_CROSS, "SDL_GetGamepadButtonLabel(SDL_GAMEPAD_BUTTON_SOUTH) == SDL_GAMEPAD_BUTTON_LABEL_CROSS");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1371,7 +1371,7 @@ static void DrawGamepadInfo(SDL_Renderer *renderer)
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (controller->joystick) {
 | 
					    if (controller->joystick) {
 | 
				
			||||||
        SDL_snprintf(text, sizeof(text), "(%" SDL_PRIu32 ")", SDL_GetJoystickInstanceID(controller->joystick));
 | 
					        SDL_snprintf(text, sizeof(text), "(%" SDL_PRIu32 ")", SDL_GetJoystickID(controller->joystick));
 | 
				
			||||||
        x = SCREEN_WIDTH - (FONT_CHARACTER_SIZE * SDL_strlen(text)) - 8.0f;
 | 
					        x = SCREEN_WIDTH - (FONT_CHARACTER_SIZE * SDL_strlen(text)) - 8.0f;
 | 
				
			||||||
        y = 8.0f;
 | 
					        y = 8.0f;
 | 
				
			||||||
        SDLTest_DrawString(renderer, x, y, text);
 | 
					        SDLTest_DrawString(renderer, x, y, text);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -86,7 +86,7 @@ int main(int argc, char **argv)
 | 
				
			|||||||
    haptics = SDL_GetHaptics(&num_haptics);
 | 
					    haptics = SDL_GetHaptics(&num_haptics);
 | 
				
			||||||
    SDL_Log("%d Haptic devices detected.\n", num_haptics);
 | 
					    SDL_Log("%d Haptic devices detected.\n", num_haptics);
 | 
				
			||||||
    for (i = 0; i < num_haptics; ++i) {
 | 
					    for (i = 0; i < num_haptics; ++i) {
 | 
				
			||||||
        SDL_Log("    %s\n", SDL_GetHapticInstanceName(haptics[i]));
 | 
					        SDL_Log("    %s\n", SDL_GetHapticNameFromID(haptics[i]));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (haptics) {
 | 
					    if (haptics) {
 | 
				
			||||||
        if (num_haptics == 0) {
 | 
					        if (num_haptics == 0) {
 | 
				
			||||||
@@ -108,7 +108,7 @@ int main(int argc, char **argv)
 | 
				
			|||||||
        /* Try to find matching device */
 | 
					        /* Try to find matching device */
 | 
				
			||||||
        else {
 | 
					        else {
 | 
				
			||||||
            for (i = 0; i < num_haptics; i++) {
 | 
					            for (i = 0; i < num_haptics; i++) {
 | 
				
			||||||
                if (SDL_strstr(SDL_GetHapticInstanceName(haptics[i]), name) != NULL) {
 | 
					                if (SDL_strstr(SDL_GetHapticNameFromID(haptics[i]), name) != NULL) {
 | 
				
			||||||
                    break;
 | 
					                    break;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -109,7 +109,7 @@ int main(int argc, char **argv)
 | 
				
			|||||||
        /* Try to find matching device */
 | 
					        /* Try to find matching device */
 | 
				
			||||||
        else {
 | 
					        else {
 | 
				
			||||||
            for (i = 0; i < num_haptics; i++) {
 | 
					            for (i = 0; i < num_haptics; i++) {
 | 
				
			||||||
                if (SDL_strstr(SDL_GetHapticInstanceName(haptics[i]), name) != NULL) {
 | 
					                if (SDL_strstr(SDL_GetHapticNameFromID(haptics[i]), name) != NULL) {
 | 
				
			||||||
                    break;
 | 
					                    break;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -91,11 +91,11 @@ int main(int argc, char **argv)
 | 
				
			|||||||
        for (i = 0; i < num_sensors; ++i) {
 | 
					        for (i = 0; i < num_sensors; ++i) {
 | 
				
			||||||
            SDL_Log("Sensor %" SDL_PRIu32 ": %s, type %s, platform type %d\n",
 | 
					            SDL_Log("Sensor %" SDL_PRIu32 ": %s, type %s, platform type %d\n",
 | 
				
			||||||
                    sensors[i],
 | 
					                    sensors[i],
 | 
				
			||||||
                    SDL_GetSensorInstanceName(sensors[i]),
 | 
					                    SDL_GetSensorNameFromID(sensors[i]),
 | 
				
			||||||
                    GetSensorTypeString(SDL_GetSensorInstanceType(sensors[i])),
 | 
					                    GetSensorTypeString(SDL_GetSensorTypeFromID(sensors[i])),
 | 
				
			||||||
                    SDL_GetSensorInstanceNonPortableType(sensors[i]));
 | 
					                    SDL_GetSensorNonPortableTypeFromID(sensors[i]));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (SDL_GetSensorInstanceType(sensors[i]) != SDL_SENSOR_UNKNOWN) {
 | 
					            if (SDL_GetSensorTypeFromID(sensors[i]) != SDL_SENSOR_UNKNOWN) {
 | 
				
			||||||
                SDL_Sensor *sensor = SDL_OpenSensor(sensors[i]);
 | 
					                SDL_Sensor *sensor = SDL_OpenSensor(sensors[i]);
 | 
				
			||||||
                if (!sensor) {
 | 
					                if (!sensor) {
 | 
				
			||||||
                    SDL_Log("Couldn't open sensor %" SDL_PRIu32 ": %s\n", sensors[i], SDL_GetError());
 | 
					                    SDL_Log("Couldn't open sensor %" SDL_PRIu32 ": %s\n", sensors[i], SDL_GetError());
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user