mirror of
https://github.com/GTAmodding/re3.git
synced 2024-12-25 07:35:41 +00:00
Fix XInput hotplug
This commit is contained in:
parent
a44d7d86cb
commit
6689b0be02
2 changed files with 10 additions and 5 deletions
|
@ -333,11 +333,8 @@ wchar* DetectJoystickDraw(bool* disabled, bool userHovering) {
|
|||
}
|
||||
}
|
||||
if (found != -1 && CPad::XInputJoy1 != found) {
|
||||
if (CPad::XInputJoy1 != -1 && CPad::XInputJoy1 != found)
|
||||
CPad::XInputJoy2 = CPad::XInputJoy1;
|
||||
else
|
||||
CPad::XInputJoy2 = -1;
|
||||
|
||||
// We should never leave pads -1, so we can process them when they're connected and kinda support hotplug.
|
||||
CPad::XInputJoy2 = (CPad::XInputJoy1 == -1 ? (found + 1) % 4 : CPad::XInputJoy1);
|
||||
CPad::XInputJoy1 = found;
|
||||
cachedButtonNum = 0; // fake too, because xinput bypass CControllerConfig
|
||||
}
|
||||
|
|
|
@ -336,6 +336,14 @@ void LoadINIControllerSettings()
|
|||
CPad::XInputJoy2 = i;
|
||||
}
|
||||
}
|
||||
|
||||
// There is no plug event on XInput, so let's leave XInputJoy1/2 as 0/1 respectively, and hotplug will be possible.
|
||||
if (CPad::XInputJoy1 == -1) {
|
||||
CPad::XInputJoy1 = 0;
|
||||
CPad::XInputJoy2 = 1;
|
||||
} else if (CPad::XInputJoy2 == -1) {
|
||||
CPad::XInputJoy2 = (CPad::XInputJoy1 + 1) % 4;
|
||||
}
|
||||
}
|
||||
#else
|
||||
ReadIniIfExists("Controller", "JoystickName", gSelectedJoystickName, 128);
|
||||
|
|
Loading…
Reference in a new issue