diff --git a/rpcs3/Emu/Cell/Modules/cellGame.cpp b/rpcs3/Emu/Cell/Modules/cellGame.cpp index c6c8405886b0..974558e46483 100644 --- a/rpcs3/Emu/Cell/Modules/cellGame.cpp +++ b/rpcs3/Emu/Cell/Modules/cellGame.cpp @@ -399,6 +399,7 @@ error_code cellGameBootCheck(vm::ptr type, vm::ptr attributes, vm::ptr perm->dir = std::move(dir); perm->sfo = std::move(sfo); perm->restrict_sfo_params = *type == u32{CELL_GAME_GAMETYPE_HDD}; // Ratchet & Clank: All 4 One (PSN versions) rely on this error checking (TODO: Needs proper hw tests) + perm->exists = true; return CELL_OK; } @@ -436,6 +437,7 @@ error_code cellGamePatchCheck(vm::ptr size, vm::ptr r perm->restrict_sfo_params = false; perm->dir = Emu.GetTitleID(); perm->sfo = std::move(sfo); + perm->exists = true; return CELL_OK; } @@ -539,7 +541,7 @@ error_code cellGameContentPermit(vm::ptr contentInfoPa const std::string dir = perm->dir.empty() ? "/dev_bdvd/PS3_GAME"s : "/dev_hdd0/game/" + perm->dir; - if (perm->can_create && perm->temp.empty() && !fs::is_dir(vfs::get(dir))) + if (perm->temp.empty() && !perm->exists) { perm->reset(); strcpy_trunc(*contentInfoPath, "");