1
Fork 0
mirror of https://github.com/redstrate/Physis.git synced 2025-04-20 03:37:47 +00:00

Expand README

This commit is contained in:
Joshua Goins 2022-08-06 18:40:16 -04:00
parent c02a2243be
commit 7b2751f57e

View file

@ -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!