Skip to content

feat(libSceSaveData): declare PS5 pending exports - #8950

Merged
oneandonlydean merged 1 commit into
boykopovar:mainfrom
xdCloudy:feat/ps5-savedata-exports
Oct 21, 2026
Merged

oneandonlydean merged 1 commit into
boykopovar:mainfrom
xdCloudy:feat/ps5-savedata-exports

Conversation

@xdCloudy

Copy link
Copy Markdown
Contributor

What

Adds 66 pending libSceSaveData exports from the research source list. Each declaration calls NotImplemented_nid_no_patch; signatures and behavior are unverified, and the declarations are for import resolution only. The library technical-debt file records the unknown signatures and behavior.

Tested

Not tested at runtime. python tools/check_conventions.py --base upstream/main passed; git diff --check upstream/main...HEAD passed. Full build and CI have not run.

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
  • Fixes: none
  • Unblocks: none
  • GPUs tested: n/a
  • AI-assisted: yes

@github-actions

Copy link
Copy Markdown

Progress report (b77bd58 → 65a6531)

📉 System libraries: 49.56% (-0.37%, +66 declared functions)

🆕 66 declared as stubs
Library Name
libSceSaveData sceSaveDataAbort
libSceSaveData sceSaveDataBindPsnAccount
libSceSaveData sceSaveDataBindPsnAccountForSystemBackup
libSceSaveData sceSaveDataChangeDatabase
libSceSaveData sceSaveDataChangeInternal
libSceSaveData sceSaveDataCheckBackupData
libSceSaveData sceSaveDataCheckBackupDataForCdlg
libSceSaveData sceSaveDataCheckBackupDataInternal
libSceSaveData sceSaveDataCheckBackupDataLight
libSceSaveData sceSaveDataCheckCloudData
libSceSaveData sceSaveDataCheckSaveDataBroken
libSceSaveData sceSaveDataCheckSaveDataVersion
libSceSaveData sceSaveDataCheckSaveDataVersionLatest
libSceSaveData sceSaveDataClearProgress
libSceSaveData sceSaveDataCreateUploadData
libSceSaveData sceSaveDataDebugGetThreadId
libSceSaveData sceSaveDataDeleteAllUser
libSceSaveData sceSaveDataDeleteBackupData
libSceSaveData sceSaveDataDeleteCloudData
libSceSaveData sceSaveDataDeleteProspero
libSceSaveData sceSaveDataDeleteTitle
libSceSaveData sceSaveDataDeleteUser
libSceSaveData sceSaveDataDirNameSearchInternal
libSceSaveData sceSaveDataDownload
libSceSaveData sceSaveDataGetAllSize
libSceSaveData sceSaveDataGetAppLaunchedUser
libSceSaveData sceSaveDataGetAutoUploadConditions
libSceSaveData sceSaveDataGetAutoUploadRequestInfo
libSceSaveData sceSaveDataGetAutoUploadSetting
libSceSaveData sceSaveDataGetBoundPsnAccountCount
libSceSaveData sceSaveDataGetClientThreadPriority
libSceSaveData sceSaveDataGetCloudQuotaInfo
libSceSaveData sceSaveDataGetEventInfo
libSceSaveData sceSaveDataGetMountedSaveDataCount
libSceSaveData sceSaveDataGetProgress
libSceSaveData sceSaveDataGetSaveDataCount
libSceSaveData sceSaveDataGetSaveDataRootDir
libSceSaveData sceSaveDataGetSaveDataRootPath
libSceSaveData sceSaveDataGetSaveDataRootUsbPath
libSceSaveData sceSaveDataGetSavePoint
libSceSaveData sceSaveDataGetUpdatedDataCount
libSceSaveData sceSaveDataInitialize2
libSceSaveData sceSaveDataInitializeForCdlg
libSceSaveData sceSaveDataIsDeletingUsbDb
libSceSaveData sceSaveDataIsMounted
libSceSaveData sceSaveDataManualDelete
libSceSaveData sceSaveDataManualDownload
libSceSaveData sceSaveDataManualUpload
libSceSaveData sceSaveDataMount5
libSceSaveData sceSaveDataMountInternal
libSceSaveData sceSaveDataMountSys
libSceSaveData sceSaveDataRebuildDatabase
libSceSaveData sceSaveDataRegisterEventCallback
libSceSaveData sceSaveDataRestoreBackupData
libSceSaveData sceSaveDataRestoreBackupDataForCdlg
libSceSaveData sceSaveDataRestoreLoadSaveDataMemory
libSceSaveData sceSaveDataSetAutoUploadSetting
libSceSaveData sceSaveDataSetEventInfo
libSceSaveData sceSaveDataSetSaveDataLibraryUser
libSceSaveData sceSaveDataShutdownStart
libSceSaveData sceSaveDataSupportedFakeBrokenStatus
libSceSaveData sceSaveDataSyncCloudList
libSceSaveData sceSaveDataUmountSys
libSceSaveData sceSaveDataUmountWithBackup
libSceSaveData sceSaveDataUnregisterEventCallback
libSceSaveData sceSaveDataUpload

@github-actions

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
PR 7780 core/libs/prx/libSceSaveData/Export.cpp L1-94
docs/dev/debt/libSceSaveData.md
docs/dev/debt/libSceSaveData.md
PR 8285 core/libs/prx/libSceSaveData/Export.cpp L1-94
docs/dev/debt/libSceSaveData.md
docs/dev/debt/libSceSaveData.md

@xdCloudy

Copy link
Copy Markdown
Contributor Author

I found a gap in my overlap checker: it compared export names literally and did not normalize _nid_postfix / _nid_disambigN aliases, which can resolve to the same NID as a plain name. I updated the checker to compare normalized names and checked this PR against current main and the available open PR diffs; no remaining normalized-name overlap turned up for this PR.

@xdCloudy

Copy link
Copy Markdown
Contributor Author

I reviewed this file overlap manually. The normalized export names in this PR do not duplicate exports from #7780 or #8285, but those PRs delete the current libSceSaveData/Export.cpp that this PR adds stubs to. That is a real placement/merge-order conflict. Should these declarations wait until the SaveData implementation direction is settled, then be rebased onto the surviving library export source?

@oneandonlydean
oneandonlydean merged commit 87e7bbc into boykopovar:main Oct 21, 2026
11 checks passed
@github-actions
github-actions Bot deleted the feat/ps5-savedata-exports branch October 31, 2026 09:51
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.

2 participants