From 709df11c9e565860d589098cb7a10971135908a5 Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Wed, 26 Dec 2012 17:33:56 -0800 Subject: [PATCH] Stub out mode 12 so games think it's working. --- Core/Dialog/PSPSaveDialog.cpp | 9 +++++++++ Core/Dialog/PSPSaveDialog.h | 2 ++ 2 files changed, 11 insertions(+) diff --git a/Core/Dialog/PSPSaveDialog.cpp b/Core/Dialog/PSPSaveDialog.cpp index 5fad54b58..2660f562e 100644 --- a/Core/Dialog/PSPSaveDialog.cpp +++ b/Core/Dialog/PSPSaveDialog.cpp @@ -91,6 +91,7 @@ int PSPSaveDialog::Init(int paramAddr) { ERROR_LOG(HLE, "Load/Save function %d not coded. Title: %s Save: %s File: %s", param.GetPspParam()->mode, param.GetGameName(param.GetPspParam()).c_str(), param.GetGameName(param.GetPspParam()).c_str(), param.GetFileName(param.GetPspParam()).c_str()); param.GetPspParam()->result = 0; + status = SCE_UTILITY_STATUS_INITIALIZE; display = DS_NONE; return 0; // Return 0 should allow the game to continue, but missing function must be implemented and returning the right value or the game can block. } @@ -664,10 +665,18 @@ int PSPSaveDialog::Update() param.GetPspParam()->result = SCE_UTILITY_SAVEDATA_ERROR_SIZES_NO_DATA; } status = SCE_UTILITY_STATUS_FINISHED; + // TODO: intentional missing break? case SCE_UTILITY_SAVEDATA_TYPE_LIST: param.GetList(param.GetPspParam()); param.GetPspParam()->result = 0; status = SCE_UTILITY_STATUS_FINISHED; + break; + // TODO: Don't know the name? + case 12: + // Pretend we have nothing, always. + param.GetPspParam()->result = SCE_UTILITY_SAVEDATA_ERROR_RW_NO_DATA; + status = SCE_UTILITY_STATUS_FINISHED; + break; default: status = SCE_UTILITY_STATUS_FINISHED; break; diff --git a/Core/Dialog/PSPSaveDialog.h b/Core/Dialog/PSPSaveDialog.h index 14034e6fa..c8149b770 100644 --- a/Core/Dialog/PSPSaveDialog.h +++ b/Core/Dialog/PSPSaveDialog.h @@ -30,6 +30,8 @@ #define SCE_UTILITY_SAVEDATA_ERROR_LOAD_PARAM (0x80110308) #define SCE_UTILITY_SAVEDATA_ERROR_LOAD_INTERNAL (0x8011030b) +#define SCE_UTILITY_SAVEDATA_ERROR_RW_NO_DATA (0x80110327) + #define SCE_UTILITY_SAVEDATA_ERROR_SAVE_NO_MS (0x80110381) #define SCE_UTILITY_SAVEDATA_ERROR_SAVE_EJECT_MS (0x80110382) #define SCE_UTILITY_SAVEDATA_ERROR_SAVE_MS_NOSPACE (0x80110383)