Skip to content

feat(libSceMsgDialog): implement interactive message dialogs - #1801

Closed
MyleAtaraxia wants to merge 1 commit into
boykopovar:mainfrom
MyleAtaraxia:feat/interractive-message-dialogues
Closed

MyleAtaraxia wants to merge 1 commit into
boykopovar:mainfrom
MyleAtaraxia:feat/interractive-message-dialogues

Conversation

@MyleAtaraxia

@MyleAtaraxia MyleAtaraxia commented Oct 8, 2026 •

Copy link
Copy Markdown

What

Add interactive SDL/Vulkan dialogs to both libSceMsgDialog variants, replacing automatic completion. Supports keyboard/controller input, custom buttons, progress updates, and selection/cancellation results without blocking game threads.

Remaining limitations are documented in TechnicalDebt.md. System message type 5 is unsupported; full SDK compatibility and common-dialog arbitration remain unverified.

Tested

  • Linux: 12 focused tests and packaged PRX checks passed; broader non-AGC run passed 242 tests. The full GPU suite stopped after resource-related kills.
  • After rebasing: standard/native dialog state tests passed on macOS. Conventions and whitespace checks passed.

Physical controllers and Windows presentation remain untested.

Checklist

  • Based on current main; no overlapping PRs — rebased; overlapping PRs not checked
  • One topic per PR
  • No code comments added
  • Unimplemented paths throw; silent stubs documented — unsupported paths currently return NOT_SUPPORTED
  • No investigation files or images added
  • No new third-party dependencies
  • Generic behavior
  • Depends on: none
  • AI-assisted: yes

@github-actions

github-actions Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Other open pull requests touch the same code. Merging one will break the other, or both implement the same thing. If this one builds on them, list them in Depends on.

Pull request Conflicting files (lines on main) Same exports Same new files
#1819 docs/dev/TechnicalDebt.md L354
#1831 docs/dev/TechnicalDebt.md L354
#1873 core/libs/prx/libSceVideoOut/src/VideoOutDriver.cpp L211-212
#1916 docs/dev/TechnicalDebt.md L354
#1931 docs/dev/TechnicalDebt.md L354
#1969 docs/dev/TechnicalDebt.md L354
#2001 core/libs/prx/libSceAgcDriver/Execution/src/Driver/EntryPoints.cpp L112-122
core/libs/prx/libSceMsgDialog.native/Export.cpp L1-90
core/libs/tests/GuestMsgDialogNative.cpp L7-16, L31-61
docs/dev/TechnicalDebt.md L14-16, L345-354
#2052 docs/dev/TechnicalDebt.md L354
#2053 docs/dev/TechnicalDebt.md L354
#2054 docs/dev/TechnicalDebt.md L354

@oneandonlydean

Copy link
Copy Markdown
Collaborator

Closing: no title is shown to need an interactive dialog (the current auto-answer gets titles past sceMsgDialogOpen), and this adds a host UI to VideoOut and the presenter where unsupported cases return NOT_SUPPORTED instead of throwing. Please reopen with the title ID and what it does wrong on main if you find one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agc libSceAgc* build docs needs rebase Conflicts with main, rebase needed prx

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants