sharpemu/src
José Luis Caravaca Carretero de13735972
[CommonDialog] Fix dialog state machine and add MsgDialog progress-bar exports (#163)
Rework the sceMsgDialog and sceSaveDataDialog HLE state machines so the full
Initialize -> Open -> poll -> GetResult -> Close/Terminate lifecycle honors the
common-dialog contract, and add the three missing sceMsgDialogProgressBar* exports.

- Fix an unreachable close path: sceSaveDataDialogClose already did a
  RUNNING -> FINISHED compare-exchange, but Open jumped straight to FINISHED, so
  RUNNING never existed and Close could only return NOT_RUNNING. Open now enters
  RUNNING and the first status poll advances it to FINISHED. Same model applied to
  sceMsgDialog.
- Return the real SCE_COMMON_DIALOG_ERROR_* codes (0x80B8xxxx) from sceMsgDialog*
  instead of emulator-internal result codes, with the missing argument/state guards
  (ARG_NULL, NOT_INITIALIZED, BUSY, NOT_FINISHED, NOT_RUNNING).
- GetResult reports buttonId = 1 (affirmative) instead of 0, the invalid sentinel a
  yes/no prompt could mis-branch on.
- Add sceMsgDialogProgressBarSetValue, sceMsgDialogProgressBarInc and
  sceMsgDialogProgressBarSetMsg (NIDs wTpfglkmv34, Gc5k1qcK4fs, 6H-71OdrpXM), gated
  on the service being initialized.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 01:33:48 +03:00
..
SharpEmu.CLI Fix guest shutdown when VideoOut window is closed (#184) 2026-07-15 00:52:01 +03:00
SharpEmu.Core loader: support ps5 SELF and validate ELF signatures (#157) 2026-07-15 01:31:16 +03:00
SharpEmu.GUI Fixed deutch language file, it had invalid syntax (#162) 2026-07-15 01:31:54 +03:00
SharpEmu.HLE [Aerolib] Add ulobjmgr and NpEAAccess symbol names (#150) 2026-07-15 01:28:17 +03:00
SharpEmu.Libs [CommonDialog] Fix dialog state machine and add MsgDialog progress-bar exports (#163) 2026-07-15 01:33:48 +03:00
SharpEmu.Logging Agent/fix gen5 thread agc compat (#130) 2026-07-14 14:41:42 +03:00