Commit graph

6 commits

Author SHA1 Message Date
Dean
3bd74c155d
Merge pull request #1989 from yeahboi233/fix/pr-overlap-utf8
fix(tools): decode overlap command output as UTF-8
2026-10-09 22:43:19 +13:00
Dean
6cc0503dac
Merge pull request #1550 from ska2704/fix/progress-exclude-test-sources
fix(progress): exclude library test fixtures from function counts
2026-10-09 21:04:18 +13:00
David
d658f73e00 fix(tools): decode overlap command output as UTF-8 2026-10-08 20:40:46 -07:00
abderahmane-ai
9e6a6004a5 feat(tools): add an import audit for converted games
A converted game fails at launch on the first system function that no
built library exports, one function per run. tools/import_audit.py reads
the registry written by relinker --registry and classifies every imported
NID in one pass:

- implemented: a built library exports it
- stub: exported, but the whole function calls NotImplemented_nid_no_patch
- absent: no built library exports it, so the loader fails
- module: the import names a file the title ships itself

Exports are read from the built .prx files (ELF dynsym and PE export
table), the same view the loader has. Stubs come from the source tree
through tools/progress.py, and NIDs through tools/nid_names.py. The report
also lists needed libraries without a file and imports found only in a
different library than the one they name. --names adds names from an
aerolib.csv file and never downloads one; --json writes the full result
stamped with the repository commit.

The test builds ELF and PE libraries byte by byte, checks that every
reference lands in exactly one class, and pins the NID of
sceMsgDialogProgressBarSetValue (wTpfglkmv34) as an external anchor.
Registered in CTest as import_audit.
2026-10-08 15:47:46 +02:00
SK Arin
6e951bd0ed fix(progress): exclude library test fixtures from function counts 2026-10-08 17:30:43 +05:30
Sanjaysrinivas
efdbbf1a70 fix(progress): report shared-source libraries 2026-10-07 21:40:38 +02:00