Physis

Framework for interacting with FFXIV data, and successor to libxiv. This intended for developers writing modding tools, launchers and other programs.

Goals

Features

Usage

Note: The API will not be stable until 1.0.

If you intend to use this in a Rust project, you can simply include this crate directly. You can view the documentation at docs.xiv.zone!

For other use in languages I maintain libphysis, which is a C wrapper around the same functionality. This isn't for show, I actually use these bindings in other projects.

Development

If you're interested to see how these formats work in more detail, see xiv.dev and 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 & Support

The best way you can help is by monetarily supporting me or by submitting patches to help fix bugs or add functionality!