mirror of https://github.com/encounter/SDL.git
Only include controller_type.h in SDL_joystick.c
It has a huge array of controllers and we only want it instantiated once
This commit is contained in:
parent
a8e7548797
commit
b28d304b23
|
@ -2062,6 +2062,13 @@ SDL_GetJoystickGameControllerType(const char *name, Uint16 vendor, Uint16 produc
|
||||||
return type;
|
return type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SDL_bool
|
||||||
|
SDL_IsJoystickXboxOne(Uint16 vendor_id, Uint16 product_id)
|
||||||
|
{
|
||||||
|
EControllerType eType = GuessControllerType(vendor_id, product_id);
|
||||||
|
return (eType == k_eControllerType_XBoxOneController);
|
||||||
|
}
|
||||||
|
|
||||||
SDL_bool
|
SDL_bool
|
||||||
SDL_IsJoystickXboxOneElite(Uint16 vendor_id, Uint16 product_id)
|
SDL_IsJoystickXboxOneElite(Uint16 vendor_id, Uint16 product_id)
|
||||||
{
|
{
|
||||||
|
|
|
@ -62,6 +62,9 @@ extern SDL_GameControllerType SDL_GetJoystickGameControllerTypeFromVIDPID(Uint16
|
||||||
extern SDL_GameControllerType SDL_GetJoystickGameControllerTypeFromGUID(SDL_JoystickGUID guid, const char *name);
|
extern SDL_GameControllerType SDL_GetJoystickGameControllerTypeFromGUID(SDL_JoystickGUID guid, const char *name);
|
||||||
extern SDL_GameControllerType SDL_GetJoystickGameControllerType(const char *name, Uint16 vendor, Uint16 product, int interface_number, int interface_class, int interface_subclass, int interface_protocol);
|
extern SDL_GameControllerType SDL_GetJoystickGameControllerType(const char *name, Uint16 vendor, Uint16 product, int interface_number, int interface_class, int interface_subclass, int interface_protocol);
|
||||||
|
|
||||||
|
/* Function to return whether a joystick is an Xbox One controller */
|
||||||
|
extern SDL_bool SDL_IsJoystickXboxOne(Uint16 vendor_id, Uint16 product_id);
|
||||||
|
|
||||||
/* Function to return whether a joystick is an Xbox One Elite controller */
|
/* Function to return whether a joystick is an Xbox One Elite controller */
|
||||||
extern SDL_bool SDL_IsJoystickXboxOneElite(Uint16 vendor_id, Uint16 product_id);
|
extern SDL_bool SDL_IsJoystickXboxOneElite(Uint16 vendor_id, Uint16 product_id);
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,6 @@
|
||||||
#include "SDL_timer.h"
|
#include "SDL_timer.h"
|
||||||
#include "../usb_ids.h"
|
#include "../usb_ids.h"
|
||||||
#include "../SDL_sysjoystick.h"
|
#include "../SDL_sysjoystick.h"
|
||||||
#include "../controller_type.h"
|
|
||||||
#include "../../core/windows/SDL_windows.h"
|
#include "../../core/windows/SDL_windows.h"
|
||||||
#include "../../core/windows/SDL_hid.h"
|
#include "../../core/windows/SDL_hid.h"
|
||||||
#include "../hidapi/SDL_hidapijoystick_c.h"
|
#include "../hidapi/SDL_hidapijoystick_c.h"
|
||||||
|
@ -746,7 +745,7 @@ RAWINPUT_AddDevice(HANDLE hDevice)
|
||||||
device->product_id = (Uint16)rdi.hid.dwProductId;
|
device->product_id = (Uint16)rdi.hid.dwProductId;
|
||||||
device->version = (Uint16)rdi.hid.dwVersionNumber;
|
device->version = (Uint16)rdi.hid.dwVersionNumber;
|
||||||
device->is_xinput = SDL_TRUE;
|
device->is_xinput = SDL_TRUE;
|
||||||
device->is_xboxone = GuessControllerType(device->vendor_id, device->product_id) == k_eControllerType_XBoxOneController;
|
device->is_xboxone = SDL_IsJoystickXboxOne(device->vendor_id, device->product_id);
|
||||||
|
|
||||||
/* Get HID Top-Level Collection Preparsed Data */
|
/* Get HID Top-Level Collection Preparsed Data */
|
||||||
size = 0;
|
size = 0;
|
||||||
|
|
Loading…
Reference in New Issue