Merge pull request #4517 from Kingcom/SaveDialog

Partially implement SCE_UTILITY_SAVEDATA_FOCUS_NAME
This commit is contained in:
Henrik Rydgård 2013-11-12 01:42:20 -08:00
commit 66581c4d83
3 changed files with 17 additions and 2 deletions

View File

@ -61,8 +61,7 @@ int PSPSaveDialog::Init(int paramAddr)
switch ((SceUtilitySavedataFocus)(u32)param.GetPspParam()->focus)
{
case SCE_UTILITY_SAVEDATA_FOCUS_NAME:
// TODO: This should probably force not using the list?
currentSelectedSave = 0;
currentSelectedSave = param.GetSaveNameIndex(param.GetPspParam());
break;
case SCE_UTILITY_SAVEDATA_FOCUS_FIRSTLIST:
currentSelectedSave = param.GetFirstListSave();

View File

@ -1465,6 +1465,21 @@ int SavedataParam::GetLastEmptySave()
return idx;
}
int SavedataParam::GetSaveNameIndex(SceUtilitySavedataParam* param)
{
std::string saveName = GetSaveName(param);
for (int i = 0; i < saveNameListDataCount; i++)
{
// TODO: saveName may contain wildcards
if (saveDataList[i].saveName == saveName)
{
return i;
}
}
return 0;
}
void SavedataParam::DoState(PointerWrap &p)
{
auto s = p.Section("SavedataParam", 1);

View File

@ -330,6 +330,7 @@ public:
int GetLastDataSave();
int GetFirstEmptySave();
int GetLastEmptySave();
int GetSaveNameIndex(SceUtilitySavedataParam* param);
void DoState(PointerWrap &p);