# sqpack-rs

[![CI](https://github.com/reh3502/sqpack-rs/actions/workflows/ci.yml/badge.svg)](https://github.com/reh3502/sqpack-rs/actions/workflows/ci.yml)
[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
[![MSRV: 1.85](https://img.shields.io/badge/rustc-1.85+-orange.svg)](https://blog.rust-lang.org/2025/02/20/Rust-1.85.0/)

A Rust library for reading FFXIV SqPack archive files (`.dat`, `.index`, `.index2`).

SqPack is the on-disk archive format Square Enix ships Final Fantasy XIV game data in. An install is a directory of paired `.index`/`.dat` files; the index maps game-path hashes to offsets inside one of the dat files. `sqpack-rs` reads those archives — separate from `zipatch-rs`, which handles the binary patch format that mutates them.

Supports `.index` (v1) and `.index2` (v2) hash-table parsing plus `.datN` payload extraction for Standard-kind files (DEFLATE-compressed or uncompressed blocks). Model and Texture payload variants are recognised but not yet decoded.

## License

MIT — see [LICENSE](LICENSE).
