diff --git a/rpcs3/Emu/Cell/Modules/cellGame.cpp b/rpcs3/Emu/Cell/Modules/cellGame.cpp index d315520744..b95abce25e 100644 --- a/rpcs3/Emu/Cell/Modules/cellGame.cpp +++ b/rpcs3/Emu/Cell/Modules/cellGame.cpp @@ -99,6 +99,8 @@ struct content_permission final // Temporary directory path std::string temp; + bool can_create = false; + template content_permission(Dir&& dir, Sfo&& sfo) : dir(std::forward(dir)) @@ -360,6 +362,11 @@ error_code cellGameDataCheck(u32 type, vm::cptr dirName, vm::ptrcan_create = true; + } + const std::string dir = prm->dir.empty() ? "/dev_bdvd/PS3_GAME"s : "/dev_hdd0/game/" + prm->dir; if (!fs::is_dir(vfs::get(dir))) @@ -369,7 +376,6 @@ error_code cellGameDataCheck(u32 type, vm::cptr dirName, vm::ptrsfo = psf::load_object(fs::file(vfs::get(dir + "/PARAM.SFO"))); - return CELL_OK; } @@ -565,6 +571,11 @@ error_code cellGameCreateGameData(vm::ptr init, vm::ptrcan_create) + { + return CELL_GAME_ERROR_NOTSUPPORTED; + } + std::string tmp_contentInfo = "/dev_hdd1/game/" + prm->dir; std::string tmp_usrdir = "/dev_hdd1/game/" + prm->dir + "/USRDIR";