Skip to content

LibProsperoPKG v2.0

Latest

Choose a tag to compare

@SvenGDK SvenGDK released this 10 Jul 11:07

New features

New package workflows

  • Backup conversion – ProsperoBackupConverter for converting disc/package backups.
  • Homebrew packaging – ProsperoHomebrewPackager to package homebrew content, plus a sample test package under src/HomebrewTest/.
  • Split-package merging – ProsperoPkgMerger for merging multi-part packages.
  • Launch-readiness checks – ProsperoLaunchReadiness to verify a package is ready to run.

Inner image and metadata

  • Adds the "nwonly" data-first inner-image path with a PS5 inner-image builder, assembler, reader, and metadata/flat-path-table helpers.
  • New metadata models: ProsperoManifest, ProsperoParam, and related enums.
  • New ProsperoElfHeader parsing and a debug-license helper.
  • NAPS layout builder and nwonly NAPS generator.

Image handling

  • New ProsperoPngDecoder enabling PNG-to-DDS decoding.

Improvements and fixes

  • Expands the native C ABI (NativeExports.cs, exports.txt, libprosperopkg.h) with many new exported functions.
  • Broader package, ELF, and PFS inspection across the extractor, PKG builder, FIH builder, and SI archive.
  • Reworked Oodle/Kraken compression internals and PFS writer refinements.

Documentation and build

  • Updates the README, getting-started, API overview, PS5 PKG format, and implementation-status docs to reflect the new capabilities.
  • Updates the Linux and macOS native build workflows.

Notes

PKG files still do not install yet and fail currently with following messages :

[PlayGoCore][DbgInstall] begin (UP9000-PPSA99099_00-PROSPERO00000000)
[PlayGoCore][DbgInstall] not found PlayGoScenario json
[PlayGoCore][DbgInstall] Staring Pre-allocation transfer on NativeApplicationActor
[PlayGoCore][DbgInstall] crc validation disabled
[PlayGoCore][DbgInstall] BfsContainerCreate : fd=35 container_id=1 name=FIH/SC capacity_reserved=393216 # ret=0x0
[PlayGoCore][DbgInstall] BfsContainerBind : fd=35 container_id=1 length=65536 offset=0 # ret=0x0
[PlayGoCore][DbgInstall] BfsContainerBind : fd=35 container_id=1 length=327680 offset=720896 # ret=0x0
[PlayGoCore][DbgInstall] supplemental info transfer started
[PlayGoCore][DbgInstall] supplemental info transfer ended (0x00000000)
[PlayGoCore][DbgInstall] not found PlayGoScenario json
[PlayGoCore][DbgInstall][ERROR] not support signature.(0x00000000)
[PlayGoCore][DbgInstall][WARNING] playgo-chunk.crc not found
[PlayGoCore][DbgInstall] BfsContainerCreate : fd=35 container_id=2 name=PlayGo Chunk capacity_reserved=655360 # ret=0x0
[PlayGoCore][DbgInstall] BfsContainerBind : fd=35 container_id=2 length=655360 offset=65536 # ret=0x0
[PlayGoCore][DbgInstall] end (UP9000-PPSA99099_00-PROSPERO00000000, 0x80b21185)