From 7b2751f57e480ca7d56af4a43be50e83efa1073c Mon Sep 17 00:00:00 2001 From: Joshua Goins Date: Sat, 6 Aug 2022 18:40:16 -0400 Subject: [PATCH] Expand README --- README.md | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 5e1250f..0643e90 100755 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Framework for interacting with FFXIV data, and successor to [libxiv](https://git developers writing modding tools, launchers and other programs. **Note:** This library is still experimental, and no releases are planned. I'm currently busy with bringing all of libxiv's -features over. +features over, but I plan to expand functionality beyond the original scope. ## Goals * Make it extremely easy for people to tinker around with game data. @@ -13,21 +13,34 @@ features over. ## Features -* Apply game patches, enabling custom launchers to patch the game. +* Easily extract game data from SqPack files. +* Apply game and boot updates, enabling custom launchers to patch the game. * Blockfish ciphers for encrypting and decrypting SqexArg. * Parse various game formats: - * INDEX - * DAT - * ZiPatch + * SqPack index and dat files + * ZiPatch files + * All three Excel data types (EXD, EXH, EXL) + * Models + * Havok Packfile/TexTool skeletons + +## Usage + +**Note:** The API is nowhere near stable, so things may change or break. + +If you intend to use this in a Rust project, you can simply include this crate directly. + +For other use in languages I maintain [libphysis](https://git.sr.ht/~redstrate/libphysis), which is a C wrapper +around the same functionality. This isn't for show, I actually use these bindings in [other projects](https://git.sr.ht/~redstrate/astra). ## Development If you're interested to see how these formats work in more detail, see [xiv.dev](https://xiv.dev/) and [docs.xiv.zone](https://docs.xiv.zone)! +They explain the file formats in more detail, but I also encourage reading the library code as well if you can. Some tests and benchmarks require the environment variable `FFXIV_GAME_DIR` to be set. By default, these are disabled since they require a legitimate copy of the retail game data. These tests can be turned on via the `retail_game_testing` feature. -## Contributing +## Contributing & Support The best way you can help is by [monetarily supporting me](https://redstrate.com/about/) or by submitting patches to help fix bugs or add functionality!