Crate zipatch

Crate zipatch 

Source
Expand description

§ZiPatch Library

A 100% safe Rust library for reading and applying Final Fantasy XIV patch files (ZiPatch format).

This library provides functionality to:

  • Read ZiPatch (.patch) files
  • Parse chunk-based patch file format
  • Apply patches to game installations
  • Inspect patch contents and changes

§Example

use zipatch::{ZiPatchFile, ZiPatchConfig, Platform};

// Open a patch file
let mut patch = ZiPatchFile::from_path("game.patch")?;

// Get patch header information
let header = patch.header();
println!("Patch version: {}", header.version);

// Create configuration
let mut config = ZiPatchConfig::builder("/path/to/game")
    .platform(Platform::Win32)
    .ignore_missing(true)
    .build();

// Calculate changed files
let changes = patch.calculate_changed_files(&config)?;
println!("Added files: {:?}", changes.added);
println!("Modified files: {:?}", changes.modified);
println!("Deleted files: {:?}", changes.deleted);

// Iterate through chunks and apply them
for chunk_result in patch.chunks() {
    let mut chunk = chunk_result?;
    chunk.apply(&mut config)?;
}

Re-exports§

pub use chunk::SqpkCommand;
pub use chunk::ZiPatchChunk;
pub use config::Platform;
pub use config::ZiPatchConfig;
pub use config::ZiPatchConfigBuilder;
pub use error::Result;
pub use error::ZiPatchError;
pub use file::ZiPatchFile;
pub use inspection::ZiPatchChangeSet;
pub use inspection::ZiPatchCommandCounts;

Modules§

chunk
config
error
file
inspection
util