From 1c9a8d9d49525b4db0b21548440ca98c69c3ebec Mon Sep 17 00:00:00 2001 From: raven02 Date: Mon, 15 Apr 2013 21:42:42 +0800 Subject: [PATCH 1/2] Add remaining 6 savedata type functions --- Core/Dialog/SavedataParam.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Core/Dialog/SavedataParam.h b/Core/Dialog/SavedataParam.h index 35256de670..7e13756e6b 100644 --- a/Core/Dialog/SavedataParam.h +++ b/Core/Dialog/SavedataParam.h @@ -31,12 +31,18 @@ enum SceUtilitySavedataType SCE_UTILITY_SAVEDATA_TYPE_DELETE = 6, SCE_UTILITY_SAVEDATA_TYPE_LISTDELETE = 7, SCE_UTILITY_SAVEDATA_TYPE_SIZES = 8, + SCE_UTILITY_SAVEDATA_TYPE_AUTODELETE = 9, SCE_UTILITY_SAVEDATA_TYPE_SINGLEDELETE = 10, SCE_UTILITY_SAVEDATA_TYPE_LIST = 11, SCE_UTILITY_SAVEDATA_TYPE_FILES = 12, SCE_UTILITY_SAVEDATA_TYPE_MAKEDATASECURE = 13, + SCE_UTILITY_SAVEDATA_TYPE_MAKEDATA = 14, SCE_UTILITY_SAVEDATA_TYPE_READDATASECURE = 15, + SCE_UTILITY_SAVEDATA_TYPE_READDATA = 16, SCE_UTILITY_SAVEDATA_TYPE_WRITEDATASECURE = 17, + SCE_UTILITY_SAVEDATA_TYPE_WRITEDATA = 18, + SCE_UTILITY_SAVEDATA_TYPE_ERASESECURE = 19, + SCE_UTILITY_SAVEDATA_TYPE_ERASE = 20, SCE_UTILITY_SAVEDATA_TYPE_DELETEDATA = 21, SCE_UTILITY_SAVEDATA_TYPE_GETSIZE = 22, }; From 5fd3a365343b07e5e3412e6dedda89e3d5b69995 Mon Sep 17 00:00:00 2001 From: raven02 Date: Mon, 15 Apr 2013 21:44:12 +0800 Subject: [PATCH 2/2] Bind MAKE/READ/WRITE to corresponding MAKE/READ/WRITESECURE --- Core/Dialog/PSPSaveDialog.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/Core/Dialog/PSPSaveDialog.cpp b/Core/Dialog/PSPSaveDialog.cpp index c4396c263f..885652f461 100644 --- a/Core/Dialog/PSPSaveDialog.cpp +++ b/Core/Dialog/PSPSaveDialog.cpp @@ -89,8 +89,11 @@ int PSPSaveDialog::Init(int paramAddr) case SCE_UTILITY_SAVEDATA_TYPE_FILES: case SCE_UTILITY_SAVEDATA_TYPE_GETSIZE: case SCE_UTILITY_SAVEDATA_TYPE_MAKEDATASECURE: + case SCE_UTILITY_SAVEDATA_TYPE_MAKEDATA: case SCE_UTILITY_SAVEDATA_TYPE_WRITEDATASECURE: + case SCE_UTILITY_SAVEDATA_TYPE_WRITEDATA: case SCE_UTILITY_SAVEDATA_TYPE_READDATASECURE: + case SCE_UTILITY_SAVEDATA_TYPE_READDATA: case SCE_UTILITY_SAVEDATA_TYPE_SINGLEDELETE: case SCE_UTILITY_SAVEDATA_TYPE_DELETEDATA: display = DS_NONE; @@ -731,11 +734,10 @@ int PSPSaveDialog::Update() break; case SCE_UTILITY_SAVEDATA_TYPE_GETSIZE: { - bool result = param.GetSize(param.GetPspParam()); // TODO: According to JPCSP, should test/verify this part but seems edge casey. if (MemoryStick_State() != PSP_MEMORYSTICK_STATE_DRIVER_READY) param.GetPspParam()->result = SCE_UTILITY_SAVEDATA_ERROR_RW_NO_MEMSTICK; - else if (result) + else if (param.GetSize(param.GetPspParam())) param.GetPspParam()->result = 0; else param.GetPspParam()->result = SCE_UTILITY_SAVEDATA_ERROR_RW_NO_DATA; @@ -749,6 +751,7 @@ int PSPSaveDialog::Update() param.GetPspParam()->result = SCE_UTILITY_SAVEDATA_ERROR_RW_BAD_STATUS; status = SCE_UTILITY_STATUS_FINISHED; break; + case SCE_UTILITY_SAVEDATA_TYPE_AUTODELETE: case SCE_UTILITY_SAVEDATA_TYPE_SINGLEDELETE: if(param.Delete(param.GetPspParam(), param.GetSelectedSave())) { @@ -760,7 +763,15 @@ int PSPSaveDialog::Update() } status = SCE_UTILITY_STATUS_FINISHED; break; + case SCE_UTILITY_SAVEDATA_TYPE_MAKEDATA: case SCE_UTILITY_SAVEDATA_TYPE_MAKEDATASECURE: + if(param.Save(param.GetPspParam(),param.GetSelectedSave())) + param.GetPspParam()->result = 0; + else + param.GetPspParam()->result = SCE_UTILITY_SAVEDATA_ERROR_RW_NO_DATA; + status = SCE_UTILITY_STATUS_FINISHED; + break; + case SCE_UTILITY_SAVEDATA_TYPE_WRITEDATA: case SCE_UTILITY_SAVEDATA_TYPE_WRITEDATASECURE: if(param.Save(param.GetPspParam(),param.GetSelectedSave())) param.GetPspParam()->result = 0; @@ -768,6 +779,7 @@ int PSPSaveDialog::Update() param.GetPspParam()->result = SCE_UTILITY_SAVEDATA_ERROR_RW_NO_DATA; status = SCE_UTILITY_STATUS_FINISHED; break; + case SCE_UTILITY_SAVEDATA_TYPE_READDATA: case SCE_UTILITY_SAVEDATA_TYPE_READDATASECURE: if(param.Load(param.GetPspParam(),param.GetSelectedSave())) param.GetPspParam()->result = 0;