Skip to content

fix(savedata): return no saves for a search with another title's ID - #5133

Merged
oneandonlydean merged 1 commit into
boykopovar:mainfrom
SandstromPL:fix/savedata-search-other-title
Oct 14, 2026
Merged

oneandonlydean merged 1 commit into
boykopovar:mainfrom
SandstromPL:fix/savedata-search-other-title

Conversation

@SandstromPL

@SandstromPL SandstromPL commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

What

sceSaveDataDirNameSearch and sceSaveDataDirNameSearch2 ignore cond->title_id and always list the running title's own saves. Minecraft Preview (PPSA19639) searches for another title's saves (PPSA17221). #1277 lists this as stop 3: such a search must return 0 hits, and here it returns Preview's own saves instead.

Only the running title's saves are kept, so a search with another title's ID now reports zero hits. A null ID or the running title's ID searches as before. shadPS4 and KytyPS5 also search the given title's own save directory and report zero hits when it does not exist. #713 already noted that the PS5 search did not filter by title ID. The running title's ID is the titleId in param.json (GetAppTitleId_nid_postfix), as for the other param.json lookups. What a console returns for another title's saves is not verified, and the debt entry records it.

Tested

Ubuntu 24.04, GCC 13.3, full build (Release):

Checklist

  • Based on current main; no other open PR implements the same functions
  • One topic per PR; follow-ups go in a new PR
  • No comments in code except technical debt
  • Unimplemented paths throw (NotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file
  • No notes, investigation .md files or images added to the repository (attach them to this PR)
  • New third-party code is a submodule built from source
  • Generic behaviour, not specific to one title
  • Depends on: none
  • Unblocks: PPSA19639 Minecraft Preview (PPSA19639) #1277 (stop 3, from the reporter's build; not rerun here)
  • GPUs tested: n/a
  • AI-assisted: yes (Claude Code); I reviewed and tested every line

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@xXPBSXx

xXPBSXx commented Oct 13, 2026

Copy link
Copy Markdown
Contributor

Windows test: head d34b78890 merged onto current main 60fb61870, together with 9 other open pull requests in one build (the merges were conflict-free); a failure would have been bisected per PR. Windows 10, MinGW GCC (WinLibs), Ninja Release, -j2: full build 0 errors; ctest for the tests this change adds or touches: guest_savedata_search passed; python tools/check_conventions.py --base upstream/main passed for the combined tree. I did not run the new tests against main without the change.

AI-assisted (Claude Code).

@SandstromPL

Copy link
Copy Markdown
Contributor Author

Thanks for the Windows run! For completeness: on Linux the new check fails on main ("a search for another title must find none of the running title's saves") and passes with this change, as listed under Tested.

@oneandonlydean
oneandonlydean merged commit a21d737 into boykopovar:main Oct 14, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants