1
Fork 0
mirror of https://github.com/redstrate/Physis.git synced 2025-04-24 05:27:45 +00:00
Library for reading and writing FFXIV data
Find a file
Joshua Goins 1c72bc6da5 Add beginnings of skeleton parsing support
Now we support TexTools skel files, alongside the usual Havok packfiles.
Neither one has complete support (yet) but I'm exploring libraries to
accomplish them.

The dependencies are now commented to describe their usage and future
plans.
2022-08-06 18:15:33 -04:00
benches Remove unused import in benchmark code 2022-08-06 18:06:18 -04:00
resources/tests Add initial files 2022-07-19 19:29:41 -04:00
src Add beginnings of skeleton parsing support 2022-08-06 18:15:33 -04:00
tests Document more public APIs in preparation for docs release 2022-07-27 21:41:05 -04:00
.build.yml Move deny-check CI task as the last one, to help real unit tests run 2022-08-06 18:05:01 -04:00
.gitignore Add initial files 2022-07-19 19:29:41 -04:00
Cargo.lock Add beginnings of skeleton parsing support 2022-08-06 18:15:33 -04:00
Cargo.toml Add beginnings of skeleton parsing support 2022-08-06 18:15:33 -04:00
deny.toml Add initial files 2022-07-19 19:29:41 -04:00
LICENSE Add initial files 2022-07-19 19:29:41 -04:00
README.md Move integration tests behind a feature flag in preparation for CI 2022-07-27 20:58:12 -04:00

Physis

Framework for interacting with FFXIV data, and successor to libxiv. This intended for 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.

Goals

  • Make it extremely easy for people to tinker around with game data.
  • Parsing data should be safe, and unit tested vigorously.
  • Minimal dependencies ;-) All dependencies are also checked by cargo deny.

Features

  • Apply game patches, enabling custom launchers to patch the game.
  • Blockfish ciphers for encrypting and decrypting SqexArg.
  • Parse various game formats:
    • INDEX
    • DAT
    • ZiPatch

Development

If you're interested to see how these formats work in more detail, see xiv.dev and docs.xiv.zone!

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

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