1
Fork 0
mirror of https://github.com/redstrate/Physis.git synced 2025-04-30 16:07:45 +00:00
physis/Cargo.toml
Joshua Goins 07582775cd Add support for reading binary SKLB and PBD
This removes the dependency of the Havok SDK or getting the decompiled
skeleton files from TexTools or some other place. Code courtesy of
FFXIVTools. The other two ways of reading skeletons (SKEL and Packfile)
are removed which gets rid of two dependencies.
2023-10-13 14:55:27 -04:00

77 lines
No EOL
2.2 KiB
TOML
Executable file

[package]
name = "physis"
version = "0.2.0"
authors = ["Joshua Goins <josh@redstrate.com>"]
edition = "2021"
description = "Interact with XIV game data."
license = "GPL-3.0"
homepage = "https://xiv.zone/physis"
repository = "https://git.sr.ht/~redstrate/physis"
keywords = ["ffxiv", "modding"]
documentation = "https://docs.xiv.zone/docs/physis/"
readme = "README.md"
[profile.release]
lto = true
[[bench]]
name = "physis_benchmark"
harness = false
[build-dependencies]
system-deps = "6"
[package.metadata.system-deps]
libunshield = { version = "1.4", feature = "game_install" }
[dev-dependencies]
# used for patch install checking
walkdir = "2"
hmac-sha512 = "1"
# used while rust doesn't have native benchmarking capability
criterion = "0.5.1"
# used for testing our jamcrc implementation
crc = "3"
[features]
default = ["visual_data"]
# enables game install support using unshield (only supported on Linux and macOS)
game_install = []
# enables support for extracting visual data, such as models, textures, materials, etc
# this enables a whole bunch of dependencies!
# tip: can be safely turned off for launchers and other tools that simply need to extract the bare minimum of data
visual_data = ["dep:half", "dep:glam", "dep:bitflags", "dep:texpresso"]
# testing only features
retail_game_testing = []
patch_testing = ["game_install"]
[dependencies]
# amazing binary parsing/writing library
binrw = { version = "0.12.0", features = ["std"], default-features = false }
tracing = { version = "0.1.37", features = ["std"], default-features = false }
# used for zlib compression in sqpack files
libz-sys = { version = "1.1" }
# nice to have features rust is lacking at the moment
modular-bitfield = "0.11"
paste = "1"
# needed for half-float support which FFXIV uses in it's model data
half = { version = "2", optional = true }
# needed for deconstructing skeleton pose matrices
glam = { version = "0.24.1", optional = true }
# needed for c-style bitflags used in some formats (such as tex files)
# cannot upgrade to 2.0.0, breaking changes that aren't recoverable: https://github.com/bitflags/bitflags/issues/314
bitflags = { version = "1.3", optional = true }
# needed for dxt/bc decompression
texpresso = { version = "2", optional = true }