guest_msg_dialog_native opens a dialog owned by the error dialog library and
terminates the module: the other dialog keeps capturing input and its answer is
still delivered. A reset by the other library leaves the module's own dialog
running, and the module's terminate resets it.
guest_msg_dialog_native opens a dialog focused on No with a 40 ms bound and never
reads its view: it runs until the bound, then finishes with button 1 and the
session releases the input. A dialog whose view was read keeps running past the
bound and returns the player's answer.
guest_msg_dialog_native closes a shown dialog (the session closes, the status
finishes, the result stays button 1 and a second close fails), opens a second
dialog over a waiting one (the first is closed and the second shown), and
terminates a waiting dialog (the session is reset and releases the input).
guest_msg_dialog_native checks that a cancel input answers No in a Yes and No
dialog and OK in an OK-only dialog, that dialogs without buttons, progress bars
and system messages finish at open with button 1 and show nothing, and that a
dialog opened with no presenter finishes at open with button 1 even when focused
on No.
guest_msg_dialog_native now opens Yes and No dialogs with a presenter: the dialog
stays running with no result, the focused button is the answer after a confirm,
moving the focus first answers No, and the Yes and No dialog focused on No
answers No.
PPSA12544's Unity plugins (CommonDialog, PSN) import
sceMsgDialogProgressBarInc, sceMsgDialogProgressBarSetMsg and
sceMsgDialogProgressBarSetValue from libSceMsgDialog.native, which did
not export them. As in libSceMsgDialog, they succeed while a dialog is
running and return COMMON_DIALOG_ERROR_NOT_RUNNING otherwise; the native
dialog finishes in sceMsgDialogOpen.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
A title that loads libSceMsgDialog.native without libSceMsgDialog
imports sceMsgDialogClose from it, so without the export it stops at
startup on an unresolved import.
Close turns a running dialog into a finished one and returns
NOT_RUNNING in every other state, as libSceMsgDialog's Close does.
The module keeps its own dialog status, so it cannot reuse that
export. Open in this module finishes the dialog at once, so Close
after Open returns NOT_RUNNING and leaves the result unchanged.
The module is now listed under silent stubs in TechnicalDebt, and a
CMakeLists.txt registers the guest_msg_dialog_native test.
Co-Authored-By: Claude Opus 5.5 <[email protected]>