mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-31 12:35:51 +00:00
The button a player picks in the overlay is stored like the one a dialog without UI picks, and sceMsgDialogGetResult, which returns it, is exported by libSceMsgDialog.native only.
1.9 KiB
1.9 KiB
libSceMsgDialog technical debt
Silent stubs
- libSceMsgDialog - only a user message dialog with button type 0, 1, 3 or 4 shows UI, and only while the video output has a window to draw it. A progress bar, a system message, a user message of any other button type, a dialog opened with no window and one opened while another dialog is shown show none:
sceMsgDialogOpenopens them withoutsceMsgDialogInitializeas well, and they finish on the secondsceMsgDialogGetStatusorsceMsgDialogUpdateStatuscall; the first 160 characters of a user message are only logged. The button a player picks, or that a dialog without UI picks (2 forYES_NO_FOCUS_NO, otherwise 1), is kept but not returned, assceMsgDialogGetResultis exported by libSceMsgDialog.native. A progress bar dialog runs untilsceMsgDialogCloseor for 30 seconds, andsceMsgDialogProgressBarInc,sceMsgDialogProgressBarSetMsgandsceMsgDialogProgressBarSetValueignore their arguments
Unknown function info
- sceMsgDialogOpen (libSceMsgDialog) - the
SceMsgDialogParamlayout it reads is not measured on a PS5: the mode at 0x38 (1 user message, 2 progress bar, 3 system message), the user message parameter pointer at 0x40, and in that parameter the button type at 0 and the message pointer at 8. A mode outside 1 to 3, or a parameter that cannot be read, is treated as a user message; only Windows checks that the memory is readable, so on Linux any non-null pointer is read. The errors0x80b80003(not initialized),0x80b80007(busy),0x80b8000b(not running) and0x80b8000d(null argument) are not measured either. PPSA21564 01.007.000 (at 0x1D8C) and PPSA30839 01.003.000 (0x19690), disassembled for this entry, write this layout: 0x88 at 0x30, mode 1 and the parameter at 0x40 with the message at 8, and PPSA21564 the button type at 0. Closes when: measured on a PS5