mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-15 11:18:36 +12: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)
|
s32 cellCameraIsAvailable(s32 dev_num)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellCamera);
|
cellCamera.Todo("cellCameraIsAvailable(dev_num=%d)", dev_num);
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 cellCameraIsAttached(s32 dev_num)
|
s32 cellCameraIsAttached(s32 dev_num)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellCamera);
|
cellCamera.Warning("cellCameraIsAttached(dev_num=%d)", dev_num);
|
||||||
return CELL_OK;
|
|
||||||
|
if (Ini.Camera.GetValue() == 1)
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return CELL_OK; // CELL_OK means that no camera is attached
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 cellCameraIsOpen(s32 dev_num)
|
s32 cellCameraIsOpen(s32 dev_num)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellCamera);
|
cellCamera.Todo("cellCameraIsOpen(dev_num=%d)", dev_num);
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 cellCameraIsStarted(s32 dev_num)
|
s32 cellCameraIsStarted(s32 dev_num)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED_FUNC(cellCamera);
|
cellCamera.Todo("cellCameraIsStarted(dev_num=%d)", dev_num);
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -351,24 +351,16 @@ never_inline s32 savedata_op(
|
||||||
{
|
{
|
||||||
if (!Emu.GetVFS().ExistsDir(dir_path) && !Emu.GetVFS().CreateDir(dir_path))
|
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
|
else
|
||||||
{
|
{
|
||||||
std::string rSfo_path = "/dev_hdd0/game/" + save_entry.dirName.substr(0, 9) + "/PS3_GAME/PARAM.SFO"; // The real SFO path
|
// Is loading the PARAM.SFO really necessary? Setting empty stuff seems to fix a couple games.
|
||||||
if (!Emu.GetVFS().ExistsFile(rSfo_path))
|
psf.SetInteger("ATTRIBUTE", 0);
|
||||||
{
|
psf.SetString("TITLE", "");
|
||||||
rSfo_path = "/dev_hdd0/game/" + save_entry.dirName.substr(0, 9) + "/PARAM.SFO";
|
psf.SetString("SUB_TITLE", "");
|
||||||
}
|
psf.SetString("DETAIL", "");
|
||||||
|
psf.SetString("SAVEDATA_LIST_PARAM", "");
|
||||||
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"));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue