mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-13 02:08:49 +12:00
cellSpursWakeUp, CellSpursWorkloadAttribute
+vm_atomic update (8bit type)
This commit is contained in:
parent
05a7466a5a
commit
e40776ba79
6 changed files with 599 additions and 381 deletions
|
@ -21,6 +21,7 @@ enum MsgDialogState
|
|||
};
|
||||
|
||||
std::atomic<MsgDialogState> g_msg_dialog_state(msgDialogNone);
|
||||
u64 g_msg_dialog_status;
|
||||
u64 g_msg_dialog_wait_until;
|
||||
u32 g_msg_dialog_progress_bar_count;
|
||||
|
||||
|
@ -100,14 +101,14 @@ int cellMsgDialogOpen2(u32 type, vm::ptr<const char> msgString, vm::ptr<CellMsgD
|
|||
case CELL_MSGDIALOG_TYPE_SE_MUTE_ON: break;
|
||||
}
|
||||
|
||||
u64 status = CELL_MSGDIALOG_BUTTON_NONE;
|
||||
g_msg_dialog_status = CELL_MSGDIALOG_BUTTON_NONE;
|
||||
|
||||
volatile bool m_signal = false;
|
||||
CallAfter([type, msg, &status, &m_signal]()
|
||||
CallAfter([type, msg, &m_signal]()
|
||||
{
|
||||
if (Emu.IsStopped()) return;
|
||||
|
||||
MsgDialogCreate(type, msg.c_str(), status);
|
||||
MsgDialogCreate(type, msg.c_str(), g_msg_dialog_status);
|
||||
|
||||
m_signal = true;
|
||||
});
|
||||
|
@ -134,9 +135,9 @@ int cellMsgDialogOpen2(u32 type, vm::ptr<const char> msgString, vm::ptr<CellMsgD
|
|||
|
||||
if (callback && (g_msg_dialog_state != msgDialogAbort))
|
||||
{
|
||||
Emu.GetCallbackManager().Register([callback, status, userData]() -> s32
|
||||
Emu.GetCallbackManager().Register([callback, userData]() -> s32
|
||||
{
|
||||
callback((s32)status, userData);
|
||||
callback((s32)g_msg_dialog_status, userData);
|
||||
return CELL_OK;
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue