Simulate correctly the USB enumeration process in XGetDevices

This commit is contained in:
ergo720 2021-12-12 21:59:20 +01:00
parent 0c28aca19c
commit ef5c9ad4fb
1 changed files with 9 additions and 1 deletions

View File

@ -551,7 +551,15 @@ xbox::dword_xt WINAPI xbox::EMUPATCH(XGetDevices)
g_bXppGuard = true; g_bXppGuard = true;
if (g_bIsDevicesInitializing || g_bIsDevicesEmulating) { // When simulating the initialization lag of XInitDevices, always report no devices to simulate the USB enumeration process
// Test case: Star Wars Jedi Knight: Jedi Academy
if (g_bIsDevicesInitializing) {
g_bXppGuard = false;
RETURN(0);
}
// Happens during device hotplug, report the last known connectivity status
if (g_bIsDevicesEmulating) {
g_bXppGuard = false; g_bXppGuard = false;
RETURN(DeviceType->CurrentConnected); RETURN(DeviceType->CurrentConnected);
} }