Stop treating an already-registered game as a boot failure

already_added reports that the title was already in games.yml, which is the
normal case for anything booted once before, and RPCS3's own front-end passes it
through for that reason. The bridge failed every result that was not NoErrors,
so the boot was abandoned and the user was returned to the library with "Game
failed to start: AlreadyAdded".
This commit is contained in:
jpolo1224
2026-08-10 12:38:35 -04:00
parent 5b8ff01fe2
commit 2a0c04ade7
@@ -190,7 +190,11 @@ object Rpcs3Bridge {
appContext?.let { com.armsx2.Ps3PatchRepo.ensureBundledPatches(it) }
val result = RPCSX.boot(target)
if (result != BootResult.NoErrors) {
// AlreadyAdded is not a failure: it says the title was already in games.yml, which is
// the normal case for anything booted before. RPCS3's own front-end passes it through
// for that reason. Treating it as an error turned a re-boot into "Game failed to
// start: AlreadyAdded" and sent the user back to the library.
if (result != BootResult.NoErrors && result != BootResult.AlreadyAdded) {
lastBootError = result.name
android.util.Log.e("ARMSX3", "boot failed: ${result.name} path=$target")
return false