summaryrefslogtreecommitdiff
path: root/platform/windows/joypad.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/windows/joypad.cpp')
-rw-r--r--platform/windows/joypad.cpp16
1 files changed, 3 insertions, 13 deletions
diff --git a/platform/windows/joypad.cpp b/platform/windows/joypad.cpp
index 6ea23ebb28..4c1eeb425a 100644
--- a/platform/windows/joypad.cpp
+++ b/platform/windows/joypad.cpp
@@ -87,16 +87,6 @@ bool JoypadWindows::have_device(const GUID &p_guid) {
return false;
}
-int JoypadWindows::check_free_joy_slot() const {
-
- for (int i = 0; i < JOYPADS_MAX; i++) {
-
- if (!attached_joypads[i])
- return i;
- }
- return -1;
-}
-
// adapted from SDL2, works a lot better than the MSDN version
bool JoypadWindows::is_xinput_device(const GUID *p_guid) {
@@ -146,7 +136,7 @@ bool JoypadWindows::is_xinput_device(const GUID *p_guid) {
bool JoypadWindows::setup_dinput_joypad(const DIDEVICEINSTANCE* instance) {
HRESULT hr;
- int num = check_free_joy_slot();
+ int num = input->get_unused_joy_id();
if (have_device(instance->guidInstance) || num == -1)
return false;
@@ -249,7 +239,7 @@ BOOL CALLBACK JoypadWindows::enumCallback(const DIDEVICEINSTANCE* instance, void
JoypadWindows* self = (JoypadWindows*)pContext;
- if (self->is_xinput_device(&instance->guidProduct)) {;
+ if (self->is_xinput_device(&instance->guidProduct)) {
return DIENUM_CONTINUE;
}
self->setup_dinput_joypad(instance);
@@ -296,7 +286,7 @@ void JoypadWindows::probe_joypads() {
dwResult = xinput_get_state(i, &x_joypads[i].state);
if ( dwResult == ERROR_SUCCESS) {
- int id = check_free_joy_slot();
+ int id = input->get_unused_joy_id();
if (id != -1 && !x_joypads[i].attached) {
x_joypads[i].attached = true;