Check whether there may be more than one save file names by mode.
This commit is contained in:
parent
68735b4e52
commit
290efbc349
3 changed files with 27 additions and 1 deletions
|
@ -129,6 +129,9 @@ int PSPSaveDialog::Init(int paramAddr)
|
|||
break;
|
||||
}
|
||||
|
||||
if(!param.wouldHasMultiSaveName(param.GetPspParam()))
|
||||
currentSelectedSave = 0;
|
||||
|
||||
switch ((SceUtilitySavedataType)(u32)param.GetPspParam()->mode)
|
||||
{
|
||||
case SCE_UTILITY_SAVEDATA_TYPE_LOAD:
|
||||
|
|
|
@ -1398,7 +1398,7 @@ int SavedataParam::SetPspParam(SceUtilitySavedataParam *param)
|
|||
saveDataListCount++;
|
||||
}
|
||||
|
||||
if (saveDataListCount > 0)
|
||||
if (saveDataListCount > 0 && wouldHasMultiSaveName(param))
|
||||
{
|
||||
hasMultipleFileName = true;
|
||||
saveDataList = new SaveFileInfo[saveDataListCount];
|
||||
|
@ -1724,6 +1724,27 @@ int SavedataParam::GetSaveNameIndex(SceUtilitySavedataParam* param)
|
|||
return 0;
|
||||
}
|
||||
|
||||
bool SavedataParam::wouldHasMultiSaveName(SceUtilitySavedataParam* param) {
|
||||
switch ((SceUtilitySavedataType)(u32)param->mode) {
|
||||
case SCE_UTILITY_SAVEDATA_TYPE_LOAD:
|
||||
case SCE_UTILITY_SAVEDATA_TYPE_AUTOLOAD:
|
||||
case SCE_UTILITY_SAVEDATA_TYPE_SAVE:
|
||||
case SCE_UTILITY_SAVEDATA_TYPE_AUTOSAVE:
|
||||
case SCE_UTILITY_SAVEDATA_TYPE_MAKEDATASECURE:
|
||||
case SCE_UTILITY_SAVEDATA_TYPE_MAKEDATA:
|
||||
case SCE_UTILITY_SAVEDATA_TYPE_READDATASECURE:
|
||||
case SCE_UTILITY_SAVEDATA_TYPE_READDATA:
|
||||
case SCE_UTILITY_SAVEDATA_TYPE_WRITEDATASECURE:
|
||||
case SCE_UTILITY_SAVEDATA_TYPE_WRITEDATA:
|
||||
case SCE_UTILITY_SAVEDATA_TYPE_ERASESECURE:
|
||||
case SCE_UTILITY_SAVEDATA_TYPE_ERASE:
|
||||
case SCE_UTILITY_SAVEDATA_TYPE_DELETEDATA:
|
||||
return false;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
void SavedataParam::DoState(PointerWrap &p)
|
||||
{
|
||||
auto s = p.Section("SavedataParam", 1);
|
||||
|
|
|
@ -353,6 +353,8 @@ public:
|
|||
int GetLastEmptySave();
|
||||
int GetSaveNameIndex(SceUtilitySavedataParam* param);
|
||||
|
||||
bool wouldHasMultiSaveName(SceUtilitySavedataParam* param);
|
||||
|
||||
void DoState(PointerWrap &p);
|
||||
|
||||
private:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue