mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-07-11 01:25:07 +02:00
Fix tracking for the savedata reminder for several invisible save types
Unlike on the main branch, no animated indicator.
This commit is contained in:
@@ -138,8 +138,7 @@ int PSPSaveDialog::Init(int paramAddr) {
|
||||
INFO_LOG(Log::sceUtility,"sceUtilitySavedataInitStart(%08x) : Game key (hex): %s", paramAddr, param.GetKey(param.GetPspParam()).c_str());
|
||||
|
||||
yesnoChoice = 1;
|
||||
switch ((SceUtilitySavedataFocus)(u32)param.GetPspParam()->focus)
|
||||
{
|
||||
switch ((SceUtilitySavedataFocus)(u32)param.GetPspParam()->focus) {
|
||||
case SCE_UTILITY_SAVEDATA_FOCUS_NAME:
|
||||
currentSelectedSave = param.GetSaveNameIndex(param.GetPspParam());
|
||||
break;
|
||||
@@ -972,15 +971,15 @@ int PSPSaveDialog::Update(int animSpeed)
|
||||
DisplayBanner(DB_DELETE);
|
||||
|
||||
if (IsButtonPressed(cancelButtonFlag) || (IsButtonPressed(okButtonFlag) && yesnoChoice == 0)) {
|
||||
if(param.GetPspParam()->mode == SCE_UTILITY_SAVEDATA_TYPE_LISTDELETE || param.GetPspParam()->mode == SCE_UTILITY_SAVEDATA_TYPE_LISTALLDELETE)
|
||||
if (param.GetPspParam()->mode == SCE_UTILITY_SAVEDATA_TYPE_LISTDELETE || param.GetPspParam()->mode == SCE_UTILITY_SAVEDATA_TYPE_LISTALLDELETE)
|
||||
display = DS_DELETE_LIST_CHOICE;
|
||||
else {
|
||||
param.GetPspParam()->common.result = SCE_UTILITY_DIALOG_RESULT_CANCEL;
|
||||
StartFade(false);
|
||||
}
|
||||
} else if (IsButtonPressed(okButtonFlag)) {
|
||||
display = DS_DELETE_DELETING;
|
||||
StartIOThread();
|
||||
display = DS_DELETE_DELETING;
|
||||
StartIOThread();
|
||||
}
|
||||
|
||||
EndDraw();
|
||||
@@ -1151,11 +1150,13 @@ void PSPSaveDialog::ExecuteNotVisibleIOAction() {
|
||||
case SCE_UTILITY_SAVEDATA_TYPE_LOAD: // Only load and exit
|
||||
case SCE_UTILITY_SAVEDATA_TYPE_AUTOLOAD:
|
||||
result = param.Load(param.GetPspParam(), GetSelectedSaveDirName(), currentSelectedSave);
|
||||
ResetSecondsSinceLastGameSave();
|
||||
break;
|
||||
case SCE_UTILITY_SAVEDATA_TYPE_SAVE: // Only save and exit
|
||||
case SCE_UTILITY_SAVEDATA_TYPE_AUTOSAVE:
|
||||
SaveState::NotifySaveData();
|
||||
result = param.Save(param.GetPspParam(), GetSelectedSaveDirName());
|
||||
ResetSecondsSinceLastGameSave();
|
||||
break;
|
||||
case SCE_UTILITY_SAVEDATA_TYPE_SIZES:
|
||||
result = param.GetSizes(param.GetPspParam());
|
||||
@@ -1199,16 +1200,19 @@ void PSPSaveDialog::ExecuteNotVisibleIOAction() {
|
||||
// TODO: Should reset the directory's other files.
|
||||
case SCE_UTILITY_SAVEDATA_TYPE_MAKEDATA:
|
||||
case SCE_UTILITY_SAVEDATA_TYPE_MAKEDATASECURE:
|
||||
SaveState::NotifySaveData();
|
||||
result = param.Save(param.GetPspParam(), GetSelectedSaveDirName(), param.GetPspParam()->mode == SCE_UTILITY_SAVEDATA_TYPE_MAKEDATASECURE);
|
||||
if (result == SCE_UTILITY_SAVEDATA_ERROR_SAVE_MS_NOSPACE) {
|
||||
result = SCE_UTILITY_SAVEDATA_ERROR_RW_MEMSTICK_FULL;
|
||||
} else {
|
||||
SaveState::NotifySaveData();
|
||||
ResetSecondsSinceLastGameSave();
|
||||
}
|
||||
break;
|
||||
case SCE_UTILITY_SAVEDATA_TYPE_WRITEDATA:
|
||||
case SCE_UTILITY_SAVEDATA_TYPE_WRITEDATASECURE:
|
||||
SaveState::NotifySaveData();
|
||||
result = param.Save(param.GetPspParam(), GetSelectedSaveDirName(), param.GetPspParam()->mode == SCE_UTILITY_SAVEDATA_TYPE_WRITEDATASECURE);
|
||||
ResetSecondsSinceLastGameSave();
|
||||
break;
|
||||
case SCE_UTILITY_SAVEDATA_TYPE_READDATA:
|
||||
case SCE_UTILITY_SAVEDATA_TYPE_READDATASECURE:
|
||||
@@ -1217,6 +1221,7 @@ void PSPSaveDialog::ExecuteNotVisibleIOAction() {
|
||||
result = SCE_UTILITY_SAVEDATA_ERROR_RW_DATA_BROKEN;
|
||||
if (result == SCE_UTILITY_SAVEDATA_ERROR_LOAD_NO_DATA)
|
||||
result = SCE_UTILITY_SAVEDATA_ERROR_RW_NO_DATA;
|
||||
ResetSecondsSinceLastGameSave();
|
||||
break;
|
||||
case SCE_UTILITY_SAVEDATA_TYPE_ERASE:
|
||||
case SCE_UTILITY_SAVEDATA_TYPE_ERASESECURE:
|
||||
|
||||
Reference in New Issue
Block a user