Skip to content

v1.1.0

Latest
Compare
Choose a tag to compare
@andshrew andshrew released this 03 May 15:23
1651af3

What's Changed

PKG file Parsing

The package now parses the header of an update PKG file in order to locate the additional files of interest (ie. changeinfo.xml).

The header details all of the files that are bundled within the PKG file, including their exact location within the file. This implementation is made possible thanks to the work documenting the PKG file format on psdeveloperwiki.com. See this page for additional information on the PKG file.

Since the package is no longer speculatively seeking the location of changeinfo.xml and cdate, the default byte_limit on Ps4TitleUpdate objects has been increased from 30000000 to 50000000 (30MB to 50MB). Note that if a PKG file is found, it will always download the remainder of the header regardless of the byte_limit (so between 0.01MB and 0.02MB will usually be downloaded). The byte_limit is only considered when initially seeking the PKG file, and when downloading the content of the PKG file.

param.sfo

Since it is now possible to locate specific files within the PKG file, the package now also captures and parses the param.sfo file. Previously only the cdate was captured (which is data stored within the param.sfo file). The param.sfo file contains an assortment of technical information relating to the update PKG.

Each individual entry within the param.sfo file is parsed into an SFO_Entry object. These objects are appended to entries attribute of the SFO object located in the update_pkg_param_sfo attribute of the Ps4TitleUpdate object.

If you want to access this information from your application, you will need to further parse the entries that are of interest to you. See here for an example parsing the SAVE_DATA_TRANSFER_TITLE_ID_LIST entry.

For further details on the information that might be in the param.sfo file, see the Parameter Descriptions on psdevwiki.com

New attribute update_pkg_bytes_exceeded

The update_pkg_bytes_exceeded attribute has been added to the Ps4TitleUpdate object. This will be set to True if either the changeinfo.xml or param.sfo have been located in the PKG file, but where their location extends past the current byte_limit. In such cases neither file will be downloaded, even if one were to reside within the byte_limit. Adjust the byte_limit accordingly and attempt to download again.

Other Details

Related Pull Requests: #2

Full Changelog: v1.0.0...v1.1.0