cellSaveData: don't return after funcStat was successful in savedata_op

also add some missing constants
This commit is contained in:
Megamouse 2018-04-06 14:19:23 +02:00 committed by Ivan
parent c61049b76f
commit 68fff54a8b
2 changed files with 14 additions and 6 deletions

View file

@ -571,15 +571,14 @@ static NEVER_INLINE s32 savedata_op(ppu_thread& ppu, u32 operation, u32 version,
// Stat Callback
funcStat(ppu, result, statGet, statSet);
if (result->result < 0)
if (result->result != CELL_SAVEDATA_CBRESULT_OK_NEXT)
{
cellSaveData.warning("savedata_op(): funcStat returned result=%d.", result->result);
return CELL_SAVEDATA_ERROR_CBRESULT;
}
if (result->result == CELL_SAVEDATA_CBRESULT_OK_LAST || result->result == CELL_SAVEDATA_CBRESULT_OK_LAST_NOCONFIRM)
{
return CELL_OK;
if (result->result < CELL_SAVEDATA_CBRESULT_OK_NEXT)
{
return CELL_SAVEDATA_ERROR_CBRESULT;
}
}
if (statSet->setParam)

View file

@ -92,6 +92,15 @@ enum
CELL_SAVEDATA_RECREATE_YES = 2,
CELL_SAVEDATA_RECREATE_YES_RESET_OWNER = 3,
CELL_SAVEDATA_RECREATE_MASK = 0xffff,
// Version
CELL_SAVEDATA_VERSION_OLD = 0,
CELL_SAVEDATA_VERSION_420 = 1,
// Error Dialog
CELL_SAVEDATA_ERRDIALOG_NONE = 0,
CELL_SAVEDATA_ERRDIALOG_ALWAYS = 1,
CELL_SAVEDATA_ERRDIALOG_NOREPEAT = 2,
};
// CellSaveDataListNewData::iconPosition