Make quick starting titles more consistent if selecting the titles takes longer than 5-10 seconds

This commit is contained in:
Maschell 2024-06-05 18:51:33 +02:00
parent 7c987b5b9d
commit 8be9598f1e

View File

@ -132,7 +132,7 @@ public:
// Reconnect the DRC if it was connected at launch but then disconnected; // Reconnect the DRC if it was connected at launch but then disconnected;
if (mDRCConnected && !IsDRCConnected()) { if (mDRCConnected && !IsDRCConnected()) {
DEBUG_FUNCTION_LINE_VERBOSE("Wake up GamePad"); DEBUG_FUNCTION_LINE("Wake up GamePad");
CCRCDCWowlWakeDrcArg args = {.state = 1}; CCRCDCWowlWakeDrcArg args = {.state = 1};
CCRCDCWowlWakeDrc(&args); CCRCDCWowlWakeDrc(&args);
} }
@ -145,14 +145,18 @@ public:
} }
static void AbortQuickStartTitle(OSAlarm *alarm, OSContext *) { static void AbortQuickStartTitle(OSAlarm *alarm, OSContext *) {
DEBUG_FUNCTION_LINE_VERBOSE("Selecting a title takes too long, lets abort the quick start menu"); DEBUG_FUNCTION_LINE("Selecting a title takes too long, lets abort the quick start menu");
CCRSysCaffeineBootCheckAbort(); CCRSysCaffeineBootCheckAbort();
} }
static void AbortOnDRCDisconnect(OSAlarm *alarm, OSContext *) { static void AbortOnDRCDisconnect(OSAlarm *alarm, OSContext *) {
if (!IsDRCConnected()) { if (!IsDRCConnected()) {
DEBUG_FUNCTION_LINE_VERBOSE("GamePad was disconnected, lets abort the quick start menu"); // The gamepad does reconnect after selecting a title, make sure it's still disconnected after waiting 3 seconds
CCRSysCaffeineBootCheckAbort(); OSSleepTicks(OSSecondsToTicks(3));
if (!IsDRCConnected()) {
DEBUG_FUNCTION_LINE("GamePad was disconnected, lets abort the quick start menu");
CCRSysCaffeineBootCheckAbort();
}
} }
} }