Expand description
Wire-format chunk types and the ZiPatchReader iterator.
Wire-format chunk types and the ZiPatchReader iterator.
This module is the parsing layer: it decodes the raw ZiPatch byte
stream into a stream of typed Chunk values. Each top-level
variant corresponds to one 4-byte ASCII wire tag (FHDR, APLY,
SQPK, …); the per-variant submodules below own the binary layout for
their body. Nothing in this module touches the filesystem — apply-time
effects live in crate::apply.
The ZiPatchReader iterator validates the 12-byte file magic on
construction, then yields one Chunk per Iterator::next call
until the internal EOF_ terminator is consumed or a parse error
surfaces.
Structs§
- AddDirectory
ADIRchunk: create a directory under the game install root.- Apply
Free Space APFSchunk: free-space book-keeping; ignored at apply time.- Apply
Option APLYchunk: sets or clears a boolean flag on thecrate::ApplyContext.- Delete
Directory DELDchunk: remove a directory under the game install root.- File
Header V2 FHDRv2 body: minimal patch metadata from older patch files.- File
Header V3 FHDRv3 body: full patch metadata for modern FFXIV patch files.- Sqpack
File - Identifier of a
SqPackfile targeted by a SQPK command. - Sqpk
AddData - SQPK
Acommand body: write an inline data payload into a.datfile, then zero a trailing region. - Sqpk
Compressed Block - One block of a
SqpkFileAddFilepayload, which may be DEFLATE-compressed or stored raw. - Sqpk
Delete Data - SQPK
Dcommand body: overwrite a contiguous block range in a.datfile with empty-block markers, logically freeing that space. - Sqpk
Expand Data - SQPK
Ecommand body: grow a.datfile by writing empty-block markers into a previously unallocated region. - Sqpk
File - SQPK
Fcommand body: a file-level operation on the game install tree. - Sqpk
Header - SQPK
Hcommand body: write a 1024-byteSqPackheader into a target file. - Sqpk
Index - SQPK
Icommand body: add or remove a singleSqPackindex entry. - Sqpk
Patch Info - SQPK
Xcommand body: patch install metadata. - Sqpk
Target Info - SQPK
Tcommand body: declares the target platform, region, and patch statistics for all subsequent operations in a patch file. - ZiPatch
Reader - Iterator over the
Chunks in aZiPatchstream.
Enums§
- Apply
Option Kind - Which apply-time flag an
APLYchunk toggles. - Chunk
- One top-level chunk parsed from a
ZiPatchstream. - File
Header FHDRchunk: patch file header with a version-specific body.- Index
Command - Sub-command byte of a SQPK
I(Index) chunk. - Sqpk
Command - Sub-command of a
SQPKchunk; the variant is selected by the command byte. - Sqpk
File Operation - Operation byte of a SQPK
Fcommand; selects what the command does to the game install tree. - Sqpk
Header Target - Resolved file target for a
SqpkHeader, tagged byTargetFileKind. - Target
File Kind - Which
SqPackfile kind aSqpkHeadertargets. - Target
Header Kind - Which header slot a
SqpkHeaderwrites into.