[package] name = "physis" version = "0.2.0" authors = ["Joshua Goins "] 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" [[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:hard-xml", "dep:serde_json", "dep:serde", "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 havok xml parsing hard-xml = { version = "1", optional = true } # needed for textools skel parsing serde_json = { version = "1", optional = true } serde = { version = "1", optional = true, features = ["derive"] } # 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 }