zipatch-rs 1.1.1

Parser for FFXIV ZiPatch patch files
Documentation

zipatch-rs

Crates.io docs.rs CI codecov License: MIT MSRV: 1.85

A Rust library for parsing and applying FFXIV ZiPatch files (.patch).

ZiPatch is the binary patch format used by Final Fantasy XIV to deliver game updates. It describes file additions, deletions, and binary diffs that are applied to the game installation to bring it up to a new version.

What it parses

Chunk types

Tag Name Notes
FHDR File Header V2 and V3
APLY Apply Option ignore-missing, ignore-old-mismatch flags
APFS Apply Free Space
ADIR Add Directory
DELD Delete Directory
SQPK SQPK command block See sub-commands below
EOF_ End of File

SQPK sub-commands

Command Name Notes
A AddData Writes data into a .dat file at a block offset
D DeleteData Zeros a block range in a .dat file
E ExpandData Expands a .dat file with an empty block
H Header Writes version or index headers into .dat/.index files
F File AddFile, DeleteFile, RemoveAll, MakeDirTree; supports DEFLATE-compressed blocks
T TargetInfo Platform (Win32, PS3, PS4), region, debug flag
I Index Parsed; no-op at apply time
X PatchInfo Parsed; no-op at apply time

License

MIT — see LICENSE.