mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-21 12:05:23 +00:00
Better fix for savedata and cellCamera improvements
This commit is contained in:
parent
66cf864ee0
commit
ddcaf4972f
2 changed files with 18 additions and 20 deletions
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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", "");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue