diff --git a/rpcs3/Emu/Cell/Modules/cellGame.cpp b/rpcs3/Emu/Cell/Modules/cellGame.cpp index 77fa3b6acd..822b716bd5 100644 --- a/rpcs3/Emu/Cell/Modules/cellGame.cpp +++ b/rpcs3/Emu/Cell/Modules/cellGame.cpp @@ -373,16 +373,6 @@ error_code cellGamePatchCheck(vm::ptr size, vm::ptr r { cellGame.warning("cellGamePatchCheck(size=*0x%x, reserved=*0x%x)", size, reserved); - if (size) - { - // TODO: Use the free space of the computer's HDD where RPCS3 is being run. - size->hddFreeSizeKB = 40 * 1024 * 1024 - 1; // Read explanation in cellHddGameCheck - - // TODO: Calculate data size for patch data, if necessary. - size->sizeKB = CELL_GAME_SIZEKB_NOTCALC; - size->sysSizeKB = 0; - } - if (Emu.GetCat() != "GD") { return CELL_GAME_ERROR_NOTPATCH; @@ -399,6 +389,16 @@ error_code cellGamePatchCheck(vm::ptr size, vm::ptr r return CELL_GAME_ERROR_BUSY; } + if (size) + { + // TODO: Use the free space of the computer's HDD where RPCS3 is being run. + size->hddFreeSizeKB = 40 * 1024 * 1024 - 1; // Read explanation in cellHddGameCheck + + // TODO: Calculate data size for patch data, if necessary. + size->sizeKB = CELL_GAME_SIZEKB_NOTCALC; + size->sysSizeKB = 0; // TODO + } + perm->dir = Emu.GetTitleID(); perm->sfo = std::move(sfo); @@ -417,16 +417,6 @@ error_code cellGameDataCheck(u32 type, vm::cptr dirName, vm::ptrhddFreeSizeKB = 40 * 1024 * 1024 - 1; // Read explanation in cellHddGameCheck - - // TODO: Calculate data size for game data, if necessary. - size->sizeKB = CELL_GAME_SIZEKB_NOTCALC; - size->sysSizeKB = 0; - } - std::string name; if (type != CELL_GAME_GAMETYPE_DISC) @@ -447,6 +437,16 @@ error_code cellGameDataCheck(u32 type, vm::cptr dirName, vm::ptrhddFreeSizeKB = 40 * 1024 * 1024 - 1; // Read explanation in cellHddGameCheck + + // TODO: Calculate data size for game data, if necessary. + size->sizeKB = CELL_GAME_SIZEKB_NOTCALC; + size->sysSizeKB = 0; // TODO + } + perm->dir = std::move(name); perm->sfo.clear(); perm->temp.clear(); @@ -552,7 +552,7 @@ error_code cellGameDataCheckCreate2(ppu_thread& ppu, u32 version, vm::cptr // TODO: calculate data size, if necessary cbGet->sizeKB = CELL_GAMEDATA_SIZEKB_NOTCALC; - cbGet->sysSizeKB = 0; + cbGet->sysSizeKB = 0; // TODO psf::registry sfo = psf::load_object(fs::file(vfs::get(dir + "/PARAM.SFO")));