mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-04 14:01:25 +12:00
improvise CELL_SAVEDATA_ERRDIALOG_NOREPEAT
This commit is contained in:
parent
5272dd951b
commit
09ead539a5
1 changed files with 6 additions and 2 deletions
|
@ -117,6 +117,7 @@ struct savedata_manager
|
||||||
{
|
{
|
||||||
semaphore<> mutex;
|
semaphore<> mutex;
|
||||||
atomic_t<bool> enable_overlay{false};
|
atomic_t<bool> enable_overlay{false};
|
||||||
|
atomic_t<s32> last_cbresult_error_dialog{0}; // CBRESULT errors are negative
|
||||||
};
|
};
|
||||||
|
|
||||||
static std::vector<SaveDataEntry> get_save_entries(const std::string& base_dir, const std::string& prefix)
|
static std::vector<SaveDataEntry> get_save_entries(const std::string& base_dir, const std::string& prefix)
|
||||||
|
@ -312,9 +313,12 @@ static error_code display_callback_result_error_message(ppu_thread& ppu, const C
|
||||||
return {CELL_SAVEDATA_ERROR_PARAM, "22"};
|
return {CELL_SAVEDATA_ERROR_PARAM, "22"};
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: errDialog == CELL_SAVEDATA_ERRDIALOG_NOREPEAT
|
if (errDialog == CELL_SAVEDATA_ERRDIALOG_NONE ||
|
||||||
if (errDialog != CELL_SAVEDATA_ERRDIALOG_ALWAYS)
|
(errDialog == CELL_SAVEDATA_ERRDIALOG_NOREPEAT && result.result == g_fxo->get<savedata_manager>().last_cbresult_error_dialog.exchange(result.result)))
|
||||||
|
{
|
||||||
|
// TODO: Find out if the "last error" is always tracked or only when NOREPEAT is set
|
||||||
return CELL_SAVEDATA_ERROR_CBRESULT;
|
return CELL_SAVEDATA_ERROR_CBRESULT;
|
||||||
|
}
|
||||||
|
|
||||||
// Yield before a blocking dialog is being spawned
|
// Yield before a blocking dialog is being spawned
|
||||||
lv2_obj::sleep(ppu);
|
lv2_obj::sleep(ppu);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue