1
Fork 0
mirror of https://github.com/redstrate/Kawari.git synced 2025-06-30 11:47:45 +00:00

Update dependencies (binrw, physis, bitflags)

This updates three major crates we use to the latest version with all of
their API changes, and the others too. Notably, this removes the Syn v1
dependency thanks to binrw 0.15 switching to Syn v2.
This commit is contained in:
Joshua Goins 2025-05-09 15:25:57 -04:00
parent 88e02452c4
commit 7f729bfd99
9 changed files with 164 additions and 193 deletions

270
Cargo.lock generated
View file

@ -40,9 +40,9 @@ checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
[[package]] [[package]]
name = "axum" name = "axum"
version = "0.8.3" version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "de45108900e1f9b9242f7f2e254aa3e2c029c921c258fe9e6b4217eeebd54288" checksum = "021e862c184ae977658b36c4500f7feac3221ca5da43e3f25bd04ab6c79a29b5"
dependencies = [ dependencies = [
"axum-core", "axum-core",
"bytes", "bytes",
@ -116,9 +116,9 @@ dependencies = [
[[package]] [[package]]
name = "backtrace" name = "backtrace"
version = "0.3.74" version = "0.3.75"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002"
dependencies = [ dependencies = [
"addr2line", "addr2line",
"cfg-if", "cfg-if",
@ -137,9 +137,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
[[package]] [[package]]
name = "binrw" name = "binrw"
version = "0.14.1" version = "0.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d4bca59c20d6f40c2cc0802afbe1e788b89096f61bdf7aeea6bf00f10c2909b" checksum = "81419ff39e6ed10a92a7f125290859776ced35d9a08a665ae40b23e7ca702f30"
dependencies = [ dependencies = [
"array-init", "array-init",
"binrw_derive", "binrw_derive",
@ -148,22 +148,16 @@ dependencies = [
[[package]] [[package]]
name = "binrw_derive" name = "binrw_derive"
version = "0.14.1" version = "0.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d8ba42866ce5bced2645bfa15e97eef2c62d2bdb530510538de8dd3d04efff3c" checksum = "376404e55ec40d0d6f8b4b7df3f87b87954bd987f0cf9a7207ea3b6ea5c9add4"
dependencies = [ dependencies = [
"either", "either",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 1.0.109", "syn",
] ]
[[package]]
name = "bitflags"
version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]] [[package]]
name = "bitflags" name = "bitflags"
version = "2.9.0" version = "2.9.0"
@ -188,9 +182,9 @@ checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf"
[[package]] [[package]]
name = "bytemuck" name = "bytemuck"
version = "1.22.0" version = "1.23.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6b1fc10dbac614ebc03540c9dbd60e83887fda27794998c6528f1782047d540" checksum = "9134a6ef01ce4b366b50689c94f82c14bc72bc5d0386829828a2e2752ef7958c"
[[package]] [[package]]
name = "byteorder" name = "byteorder"
@ -225,9 +219,9 @@ dependencies = [
[[package]] [[package]]
name = "cc" name = "cc"
version = "1.2.19" version = "1.2.22"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e3a13707ac958681c13b39b458c073d0d9bc8a22cb1b2f4c8e55eb72c13f362" checksum = "32db95edf998450acc7881c932f94cd9b05c87b4b2599e8bab064753da4acfd1"
dependencies = [ dependencies = [
"shlex", "shlex",
] ]
@ -251,9 +245,9 @@ dependencies = [
[[package]] [[package]]
name = "crc" name = "crc"
version = "3.2.1" version = "3.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675"
dependencies = [ dependencies = [
"crc-catalog", "crc-catalog",
] ]
@ -302,7 +296,7 @@ checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.100", "syn",
] ]
[[package]] [[package]]
@ -313,7 +307,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.100", "syn",
] ]
[[package]] [[package]]
@ -470,9 +464,9 @@ dependencies = [
[[package]] [[package]]
name = "hashbrown" name = "hashbrown"
version = "0.15.2" version = "0.15.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3"
dependencies = [ dependencies = [
"foldhash", "foldhash",
] ]
@ -580,21 +574,22 @@ dependencies = [
[[package]] [[package]]
name = "icu_collections" name = "icu_collections"
version = "1.5.0" version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47"
dependencies = [ dependencies = [
"displaydoc", "displaydoc",
"potential_utf",
"yoke", "yoke",
"zerofrom", "zerofrom",
"zerovec", "zerovec",
] ]
[[package]] [[package]]
name = "icu_locid" name = "icu_locale_core"
version = "1.5.0" version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a"
dependencies = [ dependencies = [
"displaydoc", "displaydoc",
"litemap", "litemap",
@ -603,31 +598,11 @@ dependencies = [
"zerovec", "zerovec",
] ]
[[package]]
name = "icu_locid_transform"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e"
dependencies = [
"displaydoc",
"icu_locid",
"icu_locid_transform_data",
"icu_provider",
"tinystr",
"zerovec",
]
[[package]]
name = "icu_locid_transform_data"
version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d"
[[package]] [[package]]
name = "icu_normalizer" name = "icu_normalizer"
version = "1.5.0" version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979"
dependencies = [ dependencies = [
"displaydoc", "displaydoc",
"icu_collections", "icu_collections",
@ -635,67 +610,54 @@ dependencies = [
"icu_properties", "icu_properties",
"icu_provider", "icu_provider",
"smallvec", "smallvec",
"utf16_iter",
"utf8_iter",
"write16",
"zerovec", "zerovec",
] ]
[[package]] [[package]]
name = "icu_normalizer_data" name = "icu_normalizer_data"
version = "1.5.1" version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7" checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3"
[[package]] [[package]]
name = "icu_properties" name = "icu_properties"
version = "1.5.1" version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" checksum = "2549ca8c7241c82f59c80ba2a6f415d931c5b58d24fb8412caa1a1f02c49139a"
dependencies = [ dependencies = [
"displaydoc", "displaydoc",
"icu_collections", "icu_collections",
"icu_locid_transform", "icu_locale_core",
"icu_properties_data", "icu_properties_data",
"icu_provider", "icu_provider",
"tinystr", "potential_utf",
"zerotrie",
"zerovec", "zerovec",
] ]
[[package]] [[package]]
name = "icu_properties_data" name = "icu_properties_data"
version = "1.5.1" version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2" checksum = "8197e866e47b68f8f7d95249e172903bec06004b18b2937f1095d40a0c57de04"
[[package]] [[package]]
name = "icu_provider" name = "icu_provider"
version = "1.5.0" version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af"
dependencies = [ dependencies = [
"displaydoc", "displaydoc",
"icu_locid", "icu_locale_core",
"icu_provider_macros",
"stable_deref_trait", "stable_deref_trait",
"tinystr", "tinystr",
"writeable", "writeable",
"yoke", "yoke",
"zerofrom", "zerofrom",
"zerotrie",
"zerovec", "zerovec",
] ]
[[package]]
name = "icu_provider_macros"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.100",
]
[[package]] [[package]]
name = "idna" name = "idna"
version = "1.0.3" version = "1.0.3"
@ -709,9 +671,9 @@ dependencies = [
[[package]] [[package]]
name = "idna_adapter" name = "idna_adapter"
version = "1.2.0" version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344"
dependencies = [ dependencies = [
"icu_normalizer", "icu_normalizer",
"icu_properties", "icu_properties",
@ -756,7 +718,7 @@ dependencies = [
"axum", "axum",
"axum-extra", "axum-extra",
"binrw", "binrw",
"bitflags 1.3.2", "bitflags",
"fastrand", "fastrand",
"md5", "md5",
"minijinja", "minijinja",
@ -800,9 +762,9 @@ dependencies = [
[[package]] [[package]]
name = "libz-rs-sys" name = "libz-rs-sys"
version = "0.4.2" version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "902bc563b5d65ad9bba616b490842ef0651066a1a1dc3ce1087113ffcb873c8d" checksum = "6489ca9bd760fe9642d7644e827b0c9add07df89857b0416ee15c1cc1a3b8c5a"
dependencies = [ dependencies = [
"zlib-rs", "zlib-rs",
] ]
@ -815,9 +777,9 @@ checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12"
[[package]] [[package]]
name = "litemap" name = "litemap"
version = "0.7.5" version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956"
[[package]] [[package]]
name = "lock_api" name = "lock_api"
@ -829,12 +791,6 @@ dependencies = [
"scopeguard", "scopeguard",
] ]
[[package]]
name = "lockfree-object-pool"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9374ef4228402d4b7e403e5838cb880d9ee663314b0a900d5a6aabf0c213552e"
[[package]] [[package]]
name = "log" name = "log"
version = "0.4.27" version = "0.4.27"
@ -912,9 +868,9 @@ dependencies = [
[[package]] [[package]]
name = "minijinja" name = "minijinja"
version = "2.9.0" version = "2.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "98642a6dfca91122779a307b77cd07a4aa951fbe32232aaf5bad9febc66be754" checksum = "dd72e8b4e42274540edabec853f607c015c73436159b06c39c7af85a20433155"
dependencies = [ dependencies = [
"memo-map", "memo-map",
"self_cell", "self_cell",
@ -1060,13 +1016,12 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
[[package]] [[package]]
name = "physis" name = "physis"
version = "0.4.0" version = "0.4.0"
source = "git+https://github.com/redstrate/physis#cdc39ad4b6fbd2cdc3f1e991a994ba011b64990d" source = "git+https://github.com/redstrate/physis#e751ffa765ccd316112b3cb6ccdbb7a80fab8ccf"
dependencies = [ dependencies = [
"binrw", "binrw",
"bitflags 1.3.2", "bitflags",
"half", "half",
"libz-rs-sys", "libz-rs-sys",
"tracing",
] ]
[[package]] [[package]]
@ -1087,6 +1042,15 @@ version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c"
[[package]]
name = "potential_utf"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585"
dependencies = [
"zerovec",
]
[[package]] [[package]]
name = "powerfmt" name = "powerfmt"
version = "0.2.0" version = "0.2.0"
@ -1113,11 +1077,11 @@ dependencies = [
[[package]] [[package]]
name = "redox_syscall" name = "redox_syscall"
version = "0.5.11" version = "0.5.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2f103c6d277498fbceb16e84d317e2a400f160f46904d5f5410848c829511a3" checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af"
dependencies = [ dependencies = [
"bitflags 2.9.0", "bitflags",
] ]
[[package]] [[package]]
@ -1168,7 +1132,7 @@ version = "0.35.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a22715a5d6deef63c637207afbe68d0c72c3f8d0022d7cf9714c442d6157606b" checksum = "a22715a5d6deef63c637207afbe68d0c72c3f8d0022d7cf9714c442d6157606b"
dependencies = [ dependencies = [
"bitflags 2.9.0", "bitflags",
"fallible-iterator", "fallible-iterator",
"fallible-streaming-iterator", "fallible-streaming-iterator",
"hashlink", "hashlink",
@ -1190,11 +1154,11 @@ checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d"
[[package]] [[package]]
name = "rustix" name = "rustix"
version = "1.0.5" version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d97817398dd4bb2e6da002002db259209759911da105da92bec29ccb12cf58bf" checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266"
dependencies = [ dependencies = [
"bitflags 2.9.0", "bitflags",
"errno", "errno",
"libc", "libc",
"linux-raw-sys", "linux-raw-sys",
@ -1252,7 +1216,7 @@ checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.100", "syn",
] ]
[[package]] [[package]]
@ -1362,20 +1326,9 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
[[package]] [[package]]
name = "syn" name = "syn"
version = "1.0.109" version = "2.0.101"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "syn"
version = "2.0.100"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -1393,13 +1346,13 @@ dependencies = [
[[package]] [[package]]
name = "synstructure" name = "synstructure"
version = "0.13.1" version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.100", "syn",
] ]
[[package]] [[package]]
@ -1445,9 +1398,9 @@ dependencies = [
[[package]] [[package]]
name = "tinystr" name = "tinystr"
version = "0.7.6" version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b"
dependencies = [ dependencies = [
"displaydoc", "displaydoc",
"zerovec", "zerovec",
@ -1455,9 +1408,9 @@ dependencies = [
[[package]] [[package]]
name = "tokio" name = "tokio"
version = "1.44.2" version = "1.45.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6b88822cbe49de4185e3a4cbf8321dd487cf5fe0c5c65695fef6346371e9c48" checksum = "2513ca694ef9ede0fb23fe71a4ee4107cb102b9dc1930f6d0fd77aae068ae165"
dependencies = [ dependencies = [
"backtrace", "backtrace",
"bytes", "bytes",
@ -1477,7 +1430,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.100", "syn",
] ]
[[package]] [[package]]
@ -1514,7 +1467,7 @@ version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "403fa3b783d4b626a8ad51d766ab03cb6d2dbfc46b1c5d4448395e6628dc9697" checksum = "403fa3b783d4b626a8ad51d766ab03cb6d2dbfc46b1c5d4448395e6628dc9697"
dependencies = [ dependencies = [
"bitflags 2.9.0", "bitflags",
"bytes", "bytes",
"futures-util", "futures-util",
"http", "http",
@ -1616,12 +1569,6 @@ dependencies = [
"percent-encoding", "percent-encoding",
] ]
[[package]]
name = "utf16_iter"
version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246"
[[package]] [[package]]
name = "utf8_iter" name = "utf8_iter"
version = "1.0.4" version = "1.0.4"
@ -1677,7 +1624,7 @@ dependencies = [
"log", "log",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.100", "syn",
"wasm-bindgen-shared", "wasm-bindgen-shared",
] ]
@ -1712,7 +1659,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.100", "syn",
"wasm-bindgen-backend", "wasm-bindgen-backend",
"wasm-bindgen-shared", "wasm-bindgen-shared",
] ]
@ -1935,23 +1882,17 @@ version = "0.0.19"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904" checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904"
[[package]]
name = "write16"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936"
[[package]] [[package]]
name = "writeable" name = "writeable"
version = "0.5.5" version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb"
[[package]] [[package]]
name = "yoke" name = "yoke"
version = "0.7.5" version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc"
dependencies = [ dependencies = [
"serde", "serde",
"stable_deref_trait", "stable_deref_trait",
@ -1961,13 +1902,13 @@ dependencies = [
[[package]] [[package]]
name = "yoke-derive" name = "yoke-derive"
version = "0.7.5" version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.100", "syn",
"synstructure", "synstructure",
] ]
@ -1988,15 +1929,26 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.100", "syn",
"synstructure", "synstructure",
] ]
[[package]] [[package]]
name = "zerovec" name = "zerotrie"
version = "0.10.4" version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595"
dependencies = [
"displaydoc",
"yoke",
"zerofrom",
]
[[package]]
name = "zerovec"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428"
dependencies = [ dependencies = [
"yoke", "yoke",
"zerofrom", "zerofrom",
@ -2005,13 +1957,13 @@ dependencies = [
[[package]] [[package]]
name = "zerovec-derive" name = "zerovec-derive"
version = "0.10.3" version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.100", "syn",
] ]
[[package]] [[package]]
@ -2033,20 +1985,18 @@ dependencies = [
[[package]] [[package]]
name = "zlib-rs" name = "zlib-rs"
version = "0.4.2" version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b20717f0917c908dc63de2e44e97f1e6b126ca58d0e391cee86d504eb8fbd05" checksum = "868b928d7949e09af2f6086dfc1e01936064cc7a819253bce650d4e2a2d63ba8"
[[package]] [[package]]
name = "zopfli" name = "zopfli"
version = "0.8.1" version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5019f391bac5cf252e93bbcc53d039ffd62c7bfb7c150414d61369afe57e946" checksum = "edfc5ee405f504cd4984ecc6f14d02d55cfda60fa4b689434ef4102aae150cd7"
dependencies = [ dependencies = [
"bumpalo", "bumpalo",
"crc32fast", "crc32fast",
"lockfree-object-pool",
"log", "log",
"once_cell",
"simd-adler32", "simd-adler32",
] ]

View file

@ -61,7 +61,7 @@ serde_json = { version = "1.0", default-features = false }
serde_yaml_ng = { version = "0.10", default-features = false } serde_yaml_ng = { version = "0.10", default-features = false }
# Async runtime # Async runtime
tokio = { version = "1.44", features = ["macros", "rt", "rt-multi-thread", "io-util"], default-features = false } tokio = { version = "1.45", features = ["macros", "rt", "rt-multi-thread", "io-util"], default-features = false }
# Logging # Logging
tracing = { version = "0.1", default-features = false } tracing = { version = "0.1", default-features = false }
@ -71,10 +71,10 @@ tracing-subscriber = { version = "0.3", features = ["fmt"], default-features = f
fastrand = { version = "2.3", features = ["std"], default-features = false } fastrand = { version = "2.3", features = ["std"], default-features = false }
# HTML templates used in the web servers # HTML templates used in the web servers
minijinja = { version = "2.9", features = ["serde", "loader", "multi_template"], default-features = false } minijinja = { version = "2.10", features = ["serde", "loader", "multi_template"], default-features = false }
# Serialization of packets # Serialization of packets
binrw = { version = "0.14", features = ["std"], default-features = false } binrw = { version = "0.15", features = ["std"], default-features = false }
# Used in encryption of packets # Used in encryption of packets
md5 = { version = "0.7", default-features = false } md5 = { version = "0.7", default-features = false }
@ -86,8 +86,7 @@ physis = { git = "https://github.com/redstrate/physis", default-features = false
rusqlite = { version = "0.35", features = ["bundled"], default-features = false } rusqlite = { version = "0.35", features = ["bundled"], default-features = false }
# needed for c-style bitflags # needed for c-style bitflags
# cannot upgrade to 2.0.0, breaking changes that aren't recoverable: https://github.com/bitflags/bitflags/issues/314 bitflags = { version = "2.9", default-features = false }
bitflags = { version = "1.3", default-features = false }
# For server-side scripting # For server-side scripting
mlua = { version = "0.10", features = ["lua51", "vendored", "send", "async", "serialize"], default-features = false } mlua = { version = "0.10", features = ["lua51", "vendored", "send", "async", "serialize"], default-features = false }

View file

@ -32,8 +32,8 @@ pub struct CustomizeData {
pub face_paint_color: u8, pub face_paint_color: u8,
} }
impl From<physis::chardat::CustomizeData> for CustomizeData { impl From<physis::savedata::chardat::CustomizeData> for CustomizeData {
fn from(value: physis::chardat::CustomizeData) -> Self { fn from(value: physis::savedata::chardat::CustomizeData) -> Self {
Self { Self {
race: value.race as u8, race: value.race as u8,
gender: value.gender as u8, gender: value.gender as u8,

View file

@ -1,5 +1,5 @@
use physis::common::{Language, Platform}; use physis::common::{Language, Platform};
use physis::exd::EXD; use physis::exd::{EXD, ExcelRowKind};
use physis::exh::EXH; use physis::exh::EXH;
use crate::{common::Attributes, config::get_config}; use crate::{common::Attributes, config::get_config};
@ -22,8 +22,7 @@ impl GameData {
let config = get_config(); let config = get_config();
let mut game_data = let mut game_data =
physis::gamedata::GameData::from_existing(Platform::Win32, &config.game_location) physis::gamedata::GameData::from_existing(Platform::Win32, &config.game_location);
.unwrap();
let mut item_pages = Vec::new(); let mut item_pages = Vec::new();
@ -51,9 +50,11 @@ impl GameData {
.read_excel_sheet("World", &exh, Language::None, 0) .read_excel_sheet("World", &exh, Language::None, 0)
.unwrap(); .unwrap();
let world_row = &exd.read_row(&exh, world_id as u32).unwrap()[0]; let ExcelRowKind::SingleRow(world_row) = &exd.get_row(world_id as u32).unwrap() else {
panic!("Expected a single row!")
};
let physis::exd::ColumnData::String(name) = &world_row.data[1] else { let physis::exd::ColumnData::String(name) = &world_row.columns[1] else {
panic!("Unexpected type!"); panic!("Unexpected type!");
}; };
@ -68,9 +69,11 @@ impl GameData {
.read_excel_sheet("ClassJob", &exh, Language::English, 0) .read_excel_sheet("ClassJob", &exh, Language::English, 0)
.unwrap(); .unwrap();
let world_row = &exd.read_row(&exh, classjob_id as u32).unwrap()[0]; let ExcelRowKind::SingleRow(world_row) = &exd.get_row(classjob_id as u32).unwrap() else {
panic!("Expected a single row!")
};
let physis::exd::ColumnData::UInt8(town_id) = &world_row.data[33] else { let physis::exd::ColumnData::UInt8(town_id) = &world_row.columns[33] else {
panic!("Unexpected type!"); panic!("Unexpected type!");
}; };
@ -87,10 +90,12 @@ impl GameData {
.read_excel_sheet("Tribe", &exh, Language::English, 0) .read_excel_sheet("Tribe", &exh, Language::English, 0)
.unwrap(); .unwrap();
let tribe_row = &exd.read_row(&exh, tribe_id as u32).unwrap()[0]; let ExcelRowKind::SingleRow(tribe_row) = &exd.get_row(tribe_id as u32).unwrap() else {
panic!("Expected a single row!")
};
let get_column = |column_index: usize| { let get_column = |column_index: usize| {
let physis::exd::ColumnData::Int8(delta) = &tribe_row.data[column_index] else { let physis::exd::ColumnData::Int8(delta) = &tribe_row.columns[column_index] else {
panic!("Unexpected type!"); panic!("Unexpected type!");
}; };
@ -109,10 +114,12 @@ impl GameData {
/// Gets the primary model ID for a given item ID /// Gets the primary model ID for a given item ID
pub fn get_primary_model_id(&mut self, item_id: u32) -> Option<u64> { pub fn get_primary_model_id(&mut self, item_id: u32) -> Option<u64> {
for page in &self.item_pages { for page in &self.item_pages {
if let Some(row) = page.read_row(&self.item_exh, item_id) { if let Some(row) = page.get_row(item_id) {
let item_row = &row[0]; let ExcelRowKind::SingleRow(item_row) = row else {
panic!("Expected a single row!")
};
let physis::exd::ColumnData::UInt64(id) = &item_row.data[47] else { let physis::exd::ColumnData::UInt64(id) = &item_row.columns[47] else {
panic!("Unexpected type!"); panic!("Unexpected type!");
}; };
@ -131,13 +138,15 @@ impl GameData {
.read_excel_sheet("Warp", &exh, Language::English, 0) .read_excel_sheet("Warp", &exh, Language::English, 0)
.unwrap(); .unwrap();
let row = &exd.read_row(&exh, warp_id).unwrap()[0]; let ExcelRowKind::SingleRow(row) = &exd.get_row(warp_id).unwrap() else {
panic!("Expected a single row!")
};
let physis::exd::ColumnData::UInt32(pop_range_id) = &row.data[0] else { let physis::exd::ColumnData::UInt32(pop_range_id) = &row.columns[0] else {
panic!("Unexpected type!"); panic!("Unexpected type!");
}; };
let physis::exd::ColumnData::UInt16(zone_id) = &row.data[1] else { let physis::exd::ColumnData::UInt16(zone_id) = &row.columns[1] else {
panic!("Unexpected type!"); panic!("Unexpected type!");
}; };

View file

@ -1,4 +1,4 @@
use physis::common::Language; use physis::{common::Language, exd::ExcelRowKind};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use crate::common::GameData; use crate::common::GameData;
@ -128,10 +128,12 @@ impl Inventory {
.read_excel_sheet("Race", &exh, Language::English, 0) .read_excel_sheet("Race", &exh, Language::English, 0)
.unwrap(); .unwrap();
let world_row = &exd.read_row(&exh, race_id as u32).unwrap()[0]; let ExcelRowKind::SingleRow(world_row) = &exd.get_row(race_id as u32).unwrap() else {
panic!("Expected a single row!")
};
let get_column = |column_index: usize| { let get_column = |column_index: usize| {
let physis::exd::ColumnData::Int32(item_id) = &world_row.data[column_index] else { let physis::exd::ColumnData::Int32(item_id) = &world_row.columns[column_index] else {
panic!("Unexpected type!"); panic!("Unexpected type!");
}; };

View file

@ -5,9 +5,12 @@ use crate::common::CHAR_NAME_MAX_LENGTH;
use super::{read_string, write_string}; use super::{read_string, write_string};
#[binrw]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct CharacterFlag(u8);
bitflags! { bitflags! {
#[binrw] impl CharacterFlag : u8 {
pub struct CharacterFlag : u8 {
const NONE = 0; const NONE = 0;
/// "You cannot select this character with your current account." /// "You cannot select this character with your current account."
const LOCKED = 1; const LOCKED = 1;

View file

@ -116,9 +116,12 @@ pub enum GameMasterRank {
Debug = 90, Debug = 90,
} }
#[binrw]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct DisplayFlag(u32);
bitflags! { bitflags! {
#[binrw] impl DisplayFlag : u32 {
pub struct DisplayFlag : u32 {
const NONE = 0x0; const NONE = 0x0;
// Can be made visible with ActorControl I think // Can be made visible with ActorControl I think
const INVISIBLE = 0x20; const INVISIBLE = 0x20;

View file

@ -100,7 +100,8 @@ impl WorldDatabase {
let charsave_file = archive.by_name("FFXIV_CHARA_01.dat").unwrap(); let charsave_file = archive.by_name("FFXIV_CHARA_01.dat").unwrap();
let charsave_bytes: Vec<u8> = charsave_file.bytes().map(|x| x.unwrap()).collect(); let charsave_bytes: Vec<u8> = charsave_file.bytes().map(|x| x.unwrap()).collect();
let charsave = physis::chardat::CharacterData::from_existing(&charsave_bytes).unwrap(); let charsave =
physis::savedata::chardat::CharacterData::from_existing(&charsave_bytes).unwrap();
let customize = CustomizeData::from(charsave.customize); let customize = CustomizeData::from(charsave.customize);

View file

@ -1,5 +1,6 @@
use physis::{ use physis::{
common::Language, common::Language,
exd::ExcelRowKind,
gamedata::GameData, gamedata::GameData,
layer::{ layer::{
ExitRangeInstanceObject, InstanceObject, LayerEntryData, LayerGroup, PopRangeInstanceObject, ExitRangeInstanceObject, InstanceObject, LayerEntryData, LayerGroup, PopRangeInstanceObject,
@ -33,13 +34,16 @@ impl Zone {
return zone; return zone;
}; };
let Some(territory_type_row) = &exd.read_row(&exh, id as u32) else { let Some(territory_type_row) = &exd.get_row(id as u32) else {
return zone; return zone;
}; };
let territory_type_row = &territory_type_row[0];
let ExcelRowKind::SingleRow(territory_type_row) = territory_type_row else {
panic!("Expected a single row!")
};
// e.g. ffxiv/fst_f1/fld/f1f3/level/f1f3 // e.g. ffxiv/fst_f1/fld/f1f3/level/f1f3
let physis::exd::ColumnData::String(bg_path) = &territory_type_row.data[1] else { let physis::exd::ColumnData::String(bg_path) = &territory_type_row.columns[1] else {
panic!("Unexpected type!"); panic!("Unexpected type!");
}; };