Skip to content

refactor(prx): name the FreeTypeOt stubs the NID database resolves - #15687

Open
ItsJustChrisE wants to merge 1 commit into
boykopovar:mainfrom
ItsJustChrisE:auto/name-freetypeot-stubs
Open

ItsJustChrisE wants to merge 1 commit into
boykopovar:mainfrom
ItsJustChrisE:auto/name-freetypeot-stubs

Conversation

@ItsJustChrisE

Copy link
Copy Markdown
Contributor

What

Names 8 of the 68 sceFreeTypeOtUnknown_*_nid_no_patch exports in libSceFreeTypeOt/Export.cpp that tools/nid_names.py resolves through its pinned aerolib database (status rename-ready), as #14884, #15405, #15673, #15677, #15678 and #15686 did for other libraries: FT_Glyph_StrokeBorder, FT_Glyph_To_Bitmap, FT_Glyph_Transform, FT_New_Library, ft_glyphslot_alloc_bitmap, ft_glyphslot_free_bitmap, ft_glyphslot_set_bitmap and ft_module_get_service.

The FreeType names are declared with other signatures in libSceFreeType/include/Api.hpp, which this library includes, so each helper follows the library's existing convention from d46a7c7 (sceFreeTypeOtGlyphCopy_nid_no_patch): it becomes sceFreeTypeOt<Name>_nid_no_patch and keeps its explicit APS5_EXPORT NID alias. Every body still throws through NotImplemented_nid_no_patch, and the library exports the same NIDs as on main. A title that reaches one now fails with the function's name instead of the placeholder's.

The other 60 resolvable placeholders are left alone because open PRs already implement or rename them (#9588, #10582, #10591, #10593, #10594, #10600, #10606, #10609, #10611, #10613, #12004, #12370, #12373, #15050, #15053). The debt file adds the 8 names to the identified-NID entry and cuts the unknown count from 68 to 60.

Tested

Ubuntu 26.04 on WSL2, GCC 15.2.0, Release, main acf7ac208a. No title or homebrew 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

🤖 Generated with Claude Code

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

github-actions Bot commented Nov 4, 2026

Copy link
Copy Markdown

Progress report (acf7ac2 → beed3b3)

➖ System libraries: 26.57% (+0.0%, +8 declared, -8 removed functions)

🆕 8 declared as stubs
Library Name
libSceFreeTypeOt sceFreeTypeOtGlyphStrokeBorder_nid_no_patch
libSceFreeTypeOt sceFreeTypeOtGlyphToBitmap_nid_no_patch
libSceFreeTypeOt sceFreeTypeOtGlyphTransform_nid_no_patch
libSceFreeTypeOt sceFreeTypeOtGlyphslotAllocBitmap_nid_no_patch
libSceFreeTypeOt sceFreeTypeOtGlyphslotFreeBitmap_nid_no_patch
libSceFreeTypeOt sceFreeTypeOtGlyphslotSetBitmap_nid_no_patch
libSceFreeTypeOt sceFreeTypeOtModuleGetService_nid_no_patch
libSceFreeTypeOt sceFreeTypeOtNewLibrary_nid_no_patch
🗑️ 8 removed
Library Name
libSceFreeTypeOt sceFreeTypeOtUnknown_7cVMwHmN308_nid_no_patch
libSceFreeTypeOt sceFreeTypeOtUnknown_AEU2tkjdZ2w_nid_no_patch
libSceFreeTypeOt sceFreeTypeOtUnknown_AVEEb57HhUw_nid_no_patch
libSceFreeTypeOt sceFreeTypeOtUnknown_BBRhYfYBDgU_nid_no_patch
libSceFreeTypeOt sceFreeTypeOtUnknown_Ln9I6YfmYJU_nid_no_patch
libSceFreeTypeOt sceFreeTypeOtUnknown_c1nbr8oSWlg_nid_no_patch
libSceFreeTypeOt sceFreeTypeOtUnknown_uSNqxrARpEQ_nid_no_patch
libSceFreeTypeOt sceFreeTypeOtUnknown_yrtsLmTfa48_nid_no_patch

Changed libraries (implemented exports)

Library Before After Change
libSceFreeTypeOt 49/148 (33.11%) 49/148 (33.11%) +0.00%

This branch has not been deployed

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

Labels

docs needs rebase Conflicts with main, rebase needed prx

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant