mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-22 00:22:57 -05:00
A package with no playgo-* file in sce_sys has no PlayGo data, so only chunk 0 is valid and any other id returns SCE_PLAYGO_ERROR_BAD_CHUNK_ID. A package with playgo-scenario.json but no chunk table (PPSA01748) keeps accepting every id. A chunk table (playgo-chunk.dat or playgo-chunkdefs.xml) still decides when it exists. A sce_sys that holds other playgo-* files without a chunk table or a scenario file, or a playgo-chunk.dat that is not a plgx table with a nonzero count, throws naming the file, since no such dump is known. Without this a title that walks the ids until the first error (Sifu PPSA03001) never gets the error. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
1.5 KiB
1.5 KiB
libScePlayGo technical debt
Unknown function info
- libScePlayGo - the chunk set comes from
playgo-chunkdefs.xml(every listed chunk plus chunks 0 through the default chunk), otherwise fromsce_sys/playgo-chunk.dat, whoseplgxheader is read as holding the chunk count as a 16-bit value at offset 0x0A and ids 0 to count - 1 are taken as valid. The field was identified on four dumps, where exactly that many 0x20-byte entries follow from offset 0x100 (RIDE 4 PPSA01599: 35, Persona 5 Royal PPSA05110: 25, LEGO Horizon Adventures PPSA14632 and Kena PPSA01802: 1); the rest of the format is not decoded and ids are assumed to be contiguous. Every listed chunk is reported as installed (LOCAL_FAST). Without either file, a package withsce_sys/playgo-scenario.json(PPSA01748, whose dump lists no chunks) accepts every chunk id as installed whilescePlayGoGetChunkIdlists only chunk 0, and a package with noplaygo-*file insce_sys(PPSA03001, PPSA03490 and PPSA01285 here) accepts only chunk 0 and returnsSCE_PLAYGO_ERROR_BAD_CHUNK_IDfor any other id; asce_systhat holds otherplaygo-*files (playgo-ficm.dat,playgo-hash-table.dat) withoutplaygo-chunk.datorplaygo-scenario.json, or aplaygo-chunk.datwithout aplgxheader and a nonzero count, throws naming the file, because no such dump is known; the two answers above are unverified on a console, as is the console's answer for an id outside a package's chunk table.