mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-09-07 13:13:24 +02:00
The disc-updater install ran when ltn0.pgf was missing, so a font set unpacked from an old UMD looked complete forever, and a later game wanting a font its own firmware added silently got a bundled substitute instead. Requiring the whole registry doesn't work either: firmwares older than a font can never satisfy it, so we'd unpack the same updater on every launch and announce it each time. What settles it is that a game can't ask for a font that didn't exist when it was made. Record the earliest firmware known to ship each font in the registry, and only require the ones the running game's firmware would have had. The version comes from PARAM.SFO's PSP_SYSTEM_VER, with the bundled updater's version as a fallback. That keeps the whole thing stateless - nothing recorded that could go stale when flash0 or the ini gets moved around. Survey of a large library, unpacking flash0:/font from each disc's updater across firmware 1.50 to 6.60: jpn0 and ltn0..ltn15 are in every one of them, and kr0.pgf is the only registry font that arrived later - absent in 1.50, present from 1.52. Uses one directory listing rather than a stat per font, since on Android's scoped storage the individual checks are slow.