Better fix for savedata and cellCamera improvements

This commit is contained in:
Raul Tambre 2015-07-14 14:45:31 +03:00
parent 66cf864ee0
commit ddcaf4972f
2 changed files with 18 additions and 20 deletions

View File

@ -121,25 +121,31 @@ s32 cellCameraGetType(s32 dev_num, vm::ptr<s32> type)
s32 cellCameraIsAvailable(s32 dev_num)
{
UNIMPLEMENTED_FUNC(cellCamera);
cellCamera.Todo("cellCameraIsAvailable(dev_num=%d)", dev_num);
return CELL_OK;
}
s32 cellCameraIsAttached(s32 dev_num)
{
UNIMPLEMENTED_FUNC(cellCamera);
return CELL_OK;
cellCamera.Warning("cellCameraIsAttached(dev_num=%d)", dev_num);
if (Ini.Camera.GetValue() == 1)
{
return 1;
}
return CELL_OK; // CELL_OK means that no camera is attached
}
s32 cellCameraIsOpen(s32 dev_num)
{
UNIMPLEMENTED_FUNC(cellCamera);
cellCamera.Todo("cellCameraIsOpen(dev_num=%d)", dev_num);
return CELL_OK;
}
s32 cellCameraIsStarted(s32 dev_num)
{
UNIMPLEMENTED_FUNC(cellCamera);
cellCamera.Todo("cellCameraIsStarted(dev_num=%d)", dev_num);
return CELL_OK;
}

View File

@ -351,24 +351,16 @@ never_inline s32 savedata_op(
{
if (!Emu.GetVFS().ExistsDir(dir_path) && !Emu.GetVFS().CreateDir(dir_path))
{
// Let's ignore this error for now
cellSysutil.Error("savedata_op(): Savedata directory creation failed.");
}
else
{
std::string rSfo_path = "/dev_hdd0/game/" + save_entry.dirName.substr(0, 9) + "/PS3_GAME/PARAM.SFO"; // The real SFO path
if (!Emu.GetVFS().ExistsFile(rSfo_path))
{
rSfo_path = "/dev_hdd0/game/" + save_entry.dirName.substr(0, 9) + "/PARAM.SFO";
}
vfsFile rSfo(rSfo_path);
PSFLoader rPsf(rSfo);
psf.Clear();
psf.SetInteger("ATTRIBUTE", rPsf.GetInteger("ATTRIBUTE"));
psf.SetString("TITLE", rPsf.GetString("TITLE"));
psf.SetString("SUB_TITLE", rPsf.GetString("SUB_TITLE"));
psf.SetString("DETAIL", rPsf.GetString("DETAIL"));
psf.SetString("SAVEDATA_LIST_PARAM", rPsf.GetString("SAVEDATA_LIST_PARAM"));
// Is loading the PARAM.SFO really necessary? Setting empty stuff seems to fix a couple games.
psf.SetInteger("ATTRIBUTE", 0);
psf.SetString("TITLE", "");
psf.SetString("SUB_TITLE", "");
psf.SetString("DETAIL", "");
psf.SetString("SAVEDATA_LIST_PARAM", "");
}
}