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;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!param.wouldHasMultiSaveName(param.GetPspParam()))
|
||||||
|
currentSelectedSave = 0;
|
||||||
|
|
||||||
switch ((SceUtilitySavedataType)(u32)param.GetPspParam()->mode)
|
switch ((SceUtilitySavedataType)(u32)param.GetPspParam()->mode)
|
||||||
{
|
{
|
||||||
case SCE_UTILITY_SAVEDATA_TYPE_LOAD:
|
case SCE_UTILITY_SAVEDATA_TYPE_LOAD:
|
||||||
|
|
|
@ -1398,7 +1398,7 @@ int SavedataParam::SetPspParam(SceUtilitySavedataParam *param)
|
||||||
saveDataListCount++;
|
saveDataListCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (saveDataListCount > 0)
|
if (saveDataListCount > 0 && wouldHasMultiSaveName(param))
|
||||||
{
|
{
|
||||||
hasMultipleFileName = true;
|
hasMultipleFileName = true;
|
||||||
saveDataList = new SaveFileInfo[saveDataListCount];
|
saveDataList = new SaveFileInfo[saveDataListCount];
|
||||||
|
@ -1724,6 +1724,27 @@ int SavedataParam::GetSaveNameIndex(SceUtilitySavedataParam* param)
|
||||||
return 0;
|
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)
|
void SavedataParam::DoState(PointerWrap &p)
|
||||||
{
|
{
|
||||||
auto s = p.Section("SavedataParam", 1);
|
auto s = p.Section("SavedataParam", 1);
|
||||||
|
|
|
@ -353,6 +353,8 @@ public:
|
||||||
int GetLastEmptySave();
|
int GetLastEmptySave();
|
||||||
int GetSaveNameIndex(SceUtilitySavedataParam* param);
|
int GetSaveNameIndex(SceUtilitySavedataParam* param);
|
||||||
|
|
||||||
|
bool wouldHasMultiSaveName(SceUtilitySavedataParam* param);
|
||||||
|
|
||||||
void DoState(PointerWrap &p);
|
void DoState(PointerWrap &p);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue