mirror of
https://github.com/redstrate/Physis.git
synced 2025-04-30 16:07:45 +00:00
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.
77 lines
No EOL
2.2 KiB
TOML
Executable file
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 } |