From a4e263997c2ee37613cdfc067189a3f7b57f475b Mon Sep 17 00:00:00 2001 From: terrarier2111 <58695553+terrarier2111@users.noreply.github.com> Date: Fri, 1 Mar 2024 16:14:18 +0100 Subject: [PATCH] Bump dependencies (#299) --- Cargo.lock | 1975 +++++++++++++++++++++--------------- Cargo.toml | 59 +- blocks/Cargo.lock | 97 +- blocks/Cargo.toml | 8 +- generate_blocks/Cargo.toml | 2 +- protocol/Cargo.lock | 152 +-- protocol/Cargo.toml | 30 +- src/gl/mod.rs | 32 +- src/main.rs | 345 ++++--- src/model/mod.rs | 4 +- src/render/hud.rs | 22 +- src/render/inventory.rs | 6 +- src/screen/chat.rs | 70 +- src/screen/launcher.rs | 1 + src/screen/login.rs | 1 + src/screen/mod.rs | 19 +- src/screen/server_list.rs | 6 +- src/server/mod.rs | 4 +- src/settings.rs | 33 +- src/ui/mod.rs | 59 +- 20 files changed, 1749 insertions(+), 1176 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 73eae1c5..28428ed7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,6 +8,22 @@ version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" +[[package]] +name = "ab_glyph" +version = "0.2.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80179d7dd5d7e8c285d67c4a1e652972a92de7475beddfb92028c76463b13225" +dependencies = [ + "ab_glyph_rasterizer", + "owned_ttf_parser", +] + +[[package]] +name = "ab_glyph_rasterizer" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" + [[package]] name = "addr2line" version = "0.21.0" @@ -23,12 +39,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" -[[package]] -name = "adler32" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" - [[package]] name = "aes" version = "0.7.5" @@ -52,6 +62,55 @@ dependencies = [ "version_check", ] +[[package]] +name = "ahash" +version = "0.8.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b79b82693f705137f8fb9b37871d99e4f9a7df12b917eed79c3d3954830a60b" +dependencies = [ + "cfg-if", + "getrandom", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "aho-corasick" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +dependencies = [ + "memchr", +] + +[[package]] +name = "android-activity" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee91c0c2905bae44f84bfa4e044536541df26b7703fd0888deeb9060fcc44289" +dependencies = [ + "android-properties", + "bitflags 2.4.2", + "cc", + "cesu8", + "jni", + "jni-sys", + "libc", + "log", + "ndk", + "ndk-context", + "ndk-sys", + "num_enum", + "thiserror", +] + +[[package]] +name = "android-properties" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" + [[package]] name = "ansi_term" version = "0.12.1" @@ -61,12 +120,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "anyhow" -version = "1.0.80" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1" - [[package]] name = "approx" version = "0.3.2" @@ -84,9 +137,45 @@ checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" [[package]] name = "arrayvec" -version = "0.5.2" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + +[[package]] +name = "as-raw-xcb-connection" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" + +[[package]] +name = "ashpd" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b22517ee647547c01a687cf9b76074e1c91334032a4324f7243c6ee0f949390" +dependencies = [ + "async-fs", + "async-net", + "enumflags2", + "futures-channel", + "futures-util", + "rand 0.8.5", + "serde", + "serde_repr", + "url", + "zbus", +] + +[[package]] +name = "async-broadcast" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" +checksum = "258b52a1aa741b9f09783b2d86cf0aeeb617bbf847f6933340a39644227acbdb" +dependencies = [ + "event-listener 5.2.0", + "event-listener-strategy 0.5.0", + "futures-core", + "pin-project-lite", +] [[package]] name = "async-channel" @@ -99,13 +188,26 @@ dependencies = [ "futures-core", ] +[[package]] +name = "async-channel" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3" +dependencies = [ + "concurrent-queue", + "event-listener 5.2.0", + "event-listener-strategy 0.5.0", + "futures-core", + "pin-project-lite", +] + [[package]] name = "async-executor" version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c" dependencies = [ - "async-lock", + "async-lock 3.3.0", "async-task", "concurrent-queue", "fastrand 2.0.1", @@ -113,6 +215,45 @@ dependencies = [ "slab", ] +[[package]] +name = "async-fs" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc19683171f287921f2405677dd2ed2549c3b3bda697a563ebc3a121ace2aba1" +dependencies = [ + "async-lock 3.3.0", + "blocking", + "futures-lite 2.2.0", +] + +[[package]] +name = "async-io" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f97ab0c5b00a7cdbe5a371b9a782ee7be1316095885c8a4ea1daf490eb0ef65" +dependencies = [ + "async-lock 3.3.0", + "cfg-if", + "concurrent-queue", + "futures-io", + "futures-lite 2.2.0", + "parking", + "polling", + "rustix", + "slab", + "tracing", + "windows-sys 0.52.0", +] + +[[package]] +name = "async-lock" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" +dependencies = [ + "event-listener 2.5.3", +] + [[package]] name = "async-lock" version = "3.3.0" @@ -120,10 +261,68 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" dependencies = [ "event-listener 4.0.3", - "event-listener-strategy", + "event-listener-strategy 0.4.0", "pin-project-lite", ] +[[package]] +name = "async-net" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7" +dependencies = [ + "async-io", + "blocking", + "futures-lite 2.2.0", +] + +[[package]] +name = "async-process" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "451e3cf68011bd56771c79db04a9e333095ab6349f7e47592b788e9b98720cc8" +dependencies = [ + "async-channel 2.2.0", + "async-io", + "async-lock 3.3.0", + "async-signal", + "blocking", + "cfg-if", + "event-listener 5.2.0", + "futures-lite 2.2.0", + "rustix", + "windows-sys 0.52.0", +] + +[[package]] +name = "async-recursion" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.51", +] + +[[package]] +name = "async-signal" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5" +dependencies = [ + "async-io", + "async-lock 2.8.0", + "atomic-waker", + "cfg-if", + "futures-core", + "futures-io", + "rustix", + "signal-hook-registry", + "slab", + "windows-sys 0.48.0", +] + [[package]] name = "async-task" version = "4.7.0" @@ -142,16 +341,10 @@ dependencies = [ ] [[package]] -name = "atk-sys" -version = "0.14.0" +name = "atomic-waker" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "badcf670157c84bb8b1cf6b5f70b650fed78da2033c9eed84c4e49b11cbe83ea" -dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps", -] +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "atomic_float" @@ -195,17 +388,11 @@ dependencies = [ "cc", "cfg-if", "libc", - "miniz_oxide 0.7.2", + "miniz_oxide", "object", "rustc-demangle", ] -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "base64" version = "0.21.7" @@ -228,7 +415,7 @@ name = "bevy_ecs" version = "0.5.0" source = "git+https://github.com/Lea-fish/bevy?rev=a58b4936d0e1ccd241dca74bceae78a1b6d4f949#a58b4936d0e1ccd241dca74bceae78a1b6d4f949" dependencies = [ - "async-channel", + "async-channel 1.9.0", "bevy_ecs_macros", "bevy_reflect", "bevy_tasks", @@ -291,7 +478,7 @@ name = "bevy_tasks" version = "0.5.0" source = "git+https://github.com/Lea-fish/bevy?rev=a58b4936d0e1ccd241dca74bceae78a1b6d4f949#a58b4936d0e1ccd241dca74bceae78a1b6d4f949" dependencies = [ - "async-channel", + "async-channel 1.9.0", "async-executor", "event-listener 2.5.3", "futures-lite 1.13.0", @@ -304,7 +491,7 @@ name = "bevy_utils" version = "0.5.0" source = "git+https://github.com/Lea-fish/bevy?rev=a58b4936d0e1ccd241dca74bceae78a1b6d4f949#a58b4936d0e1ccd241dca74bceae78a1b6d4f949" dependencies = [ - "ahash", + "ahash 0.7.8", "bevy_derive", "getrandom", "instant", @@ -327,6 +514,12 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" +[[package]] +name = "bit_field" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61" + [[package]] name = "bitflags" version = "1.3.2" @@ -347,13 +540,48 @@ checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" [[package]] name = "block-buffer" -version = "0.9.0" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" dependencies = [ "generic-array", ] +[[package]] +name = "block-sys" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae85a0696e7ea3b835a453750bf002770776609115e6d25c6d2ff28a8200f7e7" +dependencies = [ + "objc-sys", +] + +[[package]] +name = "block2" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15b55663a85f33501257357e6421bb33e769d5c9ffb5ba0921c975a123e35e68" +dependencies = [ + "block-sys", + "objc2", +] + +[[package]] +name = "blocking" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118" +dependencies = [ + "async-channel 2.2.0", + "async-lock 3.3.0", + "async-task", + "fastrand 2.0.1", + "futures-io", + "futures-lite 2.2.0", + "piper", + "tracing", +] + [[package]] name = "bumpalo" version = "3.15.3" @@ -379,27 +607,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" [[package]] -name = "cairo-sys-rs" -version = "0.14.9" +name = "calloop" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b448b876970834fda82ba3aeaccadbd760206b75388fc5c1b02f1e343b697570" +checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298" dependencies = [ - "libc", - "system-deps", + "bitflags 2.4.2", + "log", + "polling", + "rustix", + "slab", + "thiserror", ] [[package]] -name = "calloop" -version = "0.10.6" +name = "calloop-wayland-source" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52e0d00eb1ea24371a97d2da6201c6747a633dc6dc1988ef503403b4c59504a8" +checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02" dependencies = [ - "bitflags 1.3.2", - "log", - "nix 0.25.1", - "slotmap", - "thiserror", - "vec_map", + "calloop", + "rustix", + "wayland-backend", + "wayland-client", ] [[package]] @@ -418,6 +648,15 @@ name = "cc" version = "1.0.88" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02f341c093d19155a6e41631ce5971aac4e9a868262212153124c15fa22d1cdc" +dependencies = [ + "libc", +] + +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" [[package]] name = "cfb8" @@ -428,21 +667,18 @@ dependencies = [ "cipher", ] -[[package]] -name = "cfg-expr" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b412e83326147c2bb881f8b40edfbf9905b9b8abaebd0e47ca190ba62fda8f0e" -dependencies = [ - "smallvec 1.13.1", -] - [[package]] name = "cfg-if" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" + [[package]] name = "cgl" version = "0.3.2" @@ -491,7 +727,7 @@ dependencies = [ "ansi_term", "atty", "bitflags 1.3.2", - "strsim 0.8.0", + "strsim", "textwrap", "unicode-width", "vec_map", @@ -516,61 +752,6 @@ dependencies = [ "bitflags 1.3.2", ] -[[package]] -name = "cmake" -version = "0.1.50" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130" -dependencies = [ - "cc", -] - -[[package]] -name = "cocoa" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a" -dependencies = [ - "bitflags 1.3.2", - "block", - "cocoa-foundation", - "core-foundation", - "core-graphics 0.22.3", - "foreign-types 0.3.2", - "libc", - "objc", -] - -[[package]] -name = "cocoa" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c" -dependencies = [ - "bitflags 1.3.2", - "block", - "cocoa-foundation", - "core-foundation", - "core-graphics 0.23.1", - "foreign-types 0.5.0", - "libc", - "objc", -] - -[[package]] -name = "cocoa-foundation" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7" -dependencies = [ - "bitflags 1.3.2", - "block", - "core-foundation", - "core-graphics-types", - "libc", - "objc", -] - [[package]] name = "collision" version = "0.20.1" @@ -591,6 +772,16 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" +[[package]] +name = "combine" +version = "4.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4" +dependencies = [ + "bytes", + "memchr", +] + [[package]] name = "concurrent-queue" version = "2.4.0" @@ -602,9 +793,9 @@ dependencies = [ [[package]] name = "copypasta" -version = "0.7.1" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4423d79fed83ebd9ab81ec21fa97144300a961782158287dc9bf7eddac37ff0b" +checksum = "deb85422867ca93da58b7f95fb5c0c10f6183ed6e1ef8841568968a896d3a858" dependencies = [ "clipboard-win", "objc", @@ -630,19 +821,6 @@ version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" -[[package]] -name = "core-graphics" -version = "0.22.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "core-graphics-types", - "foreign-types 0.3.2", - "libc", -] - [[package]] name = "core-graphics" version = "0.23.1" @@ -667,18 +845,6 @@ dependencies = [ "libc", ] -[[package]] -name = "core-text" -version = "20.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9d2790b5c08465d49f8dc05c8bcae9fea467855947db39b0f8145c091aaced5" -dependencies = [ - "core-foundation", - "core-graphics 0.23.1", - "foreign-types 0.5.0", - "libc", -] - [[package]] name = "cpufeatures" version = "0.2.12" @@ -732,77 +898,38 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" [[package]] -name = "crossfont" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3eb5a3822b594afc99b503cc1859b94686d3c3efdd60507a28587dab80ee1071" -dependencies = [ - "cocoa 0.25.0", - "core-foundation", - "core-foundation-sys", - "core-graphics 0.23.1", - "core-text", - "dwrote", - "foreign-types 0.5.0", - "freetype-rs", - "libc", - "log", - "objc", - "once_cell", - "pkg-config", - "servo-fontconfig", - "winapi", -] - -[[package]] -name = "cty" +name = "crunchy" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] -name = "darling" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.13.4" +name = "crypto-common" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim 0.10.0", - "syn 1.0.109", + "generic-array", + "typenum", ] [[package]] -name = "darling_macro" -version = "0.13.4" +name = "cursor-icon" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" -dependencies = [ - "darling_core", - "quote", - "syn 1.0.109", -] +checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" [[package]] name = "dashmap" -version = "4.0.2" +version = "5.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e77a43b28d0668df09411cb0bc9a8c2adc40f9a048afe863e05fd43251e8e39c" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if", - "num_cpus", + "hashbrown 0.14.3", + "lock_api", + "once_cell", + "parking_lot_core 0.9.9", ] [[package]] @@ -812,42 +939,45 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" [[package]] -name = "deflate" -version = "0.8.6" +name = "derivative" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73770f8e1fe7d64df17ca66ad28994a0a623ea497fa69486e14984e715c5d174" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ - "adler32", - "byteorder", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] name = "digest" -version = "0.9.0" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "generic-array", + "block-buffer", + "crypto-common", ] [[package]] name = "dirs" -version = "3.0.2" +version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30baa043103c9d0c2a57cf537cc2f35623889dc0d405e6c3cccfadbc81c71309" +checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" dependencies = [ "dirs-sys", ] [[package]] name = "dirs-sys" -version = "0.3.7" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" +checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" dependencies = [ "libc", + "option-ext", "redox_users", - "winapi", + "windows-sys 0.48.0", ] [[package]] @@ -862,7 +992,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" dependencies = [ - "libloading 0.8.1", + "libloading", ] [[package]] @@ -871,20 +1001,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" -[[package]] -name = "dwrote" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439a1c2ba5611ad3ed731280541d36d2e9c4ac5e7fb818a27b604bdc5a6aa65b" -dependencies = [ - "lazy_static", - "libc", - "serde", - "serde_derive", - "winapi", - "wio", -] - [[package]] name = "either" version = "1.10.0" @@ -900,16 +1016,43 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "endi" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf" + [[package]] name = "enum-as-inner" -version = "0.3.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "570d109b813e904becc80d8d5da38376818a143348413f7149f1340fe04754d4" +checksum = "5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a" dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.51", +] + +[[package]] +name = "enumflags2" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3278c9d5fb675e0a51dabcf4c0d355f692b064171535ba72361be1528a9d8e8d" +dependencies = [ + "enumflags2_derive", + "serde", +] + +[[package]] +name = "enumflags2_derive" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.51", ] [[package]] @@ -945,9 +1088,20 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "event-listener" -version = "4.0.3" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener" +version = "5.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" +checksum = "2b5fb89194fa3cad959b833185b3063ba881dbfc7030680b314250779fb4cc91" dependencies = [ "concurrent-queue", "parking", @@ -965,13 +1119,29 @@ dependencies = [ ] [[package]] -name = "expat-sys" -version = "2.1.6" +name = "event-listener-strategy" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658f19728920138342f68408b7cf7644d90d4784353d8ebc32e7e8663dbe45fa" +checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291" dependencies = [ - "cmake", - "pkg-config", + "event-listener 5.2.0", + "pin-project-lite", +] + +[[package]] +name = "exr" +version = "1.72.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "887d93f60543e9a9362ef8a21beedd0a833c5d9610e18c67abe15a5963dcb1a4" +dependencies = [ + "bit_field", + "flume", + "half", + "lebe", + "miniz_oxide", + "rayon-core", + "smallvec 1.13.1", + "zune-inflate", ] [[package]] @@ -1011,7 +1181,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" dependencies = [ "crc32fast", - "miniz_oxide 0.7.2", + "miniz_oxide", +] + +[[package]] +name = "flume" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181" +dependencies = [ + "spin", ] [[package]] @@ -1071,28 +1250,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "freetype-rs" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74eadec9d0a5c28c54bb9882e54787275152a4e36ce206b45d7451384e5bf5fb" -dependencies = [ - "bitflags 1.3.2", - "freetype-sys", - "libc", -] - -[[package]] -name = "freetype-sys" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a37d4011c0cc628dfa766fcc195454f4b068d7afdc2adfd28861191d866e731a" -dependencies = [ - "cmake", - "libc", - "pkg-config", -] - [[package]] name = "fuchsia-cprng" version = "0.1.1" @@ -1148,6 +1305,17 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "futures-macro" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.51", +] + [[package]] name = "futures-sink" version = "0.3.30" @@ -1168,6 +1336,8 @@ checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" dependencies = [ "futures-core", "futures-io", + "futures-macro", + "futures-sink", "futures-task", "memchr", "pin-project-lite", @@ -1185,43 +1355,23 @@ dependencies = [ ] [[package]] -name = "gdk-pixbuf-sys" -version = "0.14.0" +name = "generic-array" +version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f097c0704201fbc8f69c1762dc58c6947c8bb188b8ed0bc7e65259f1894fe590" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "system-deps", + "typenum", + "version_check", ] [[package]] -name = "gdk-sys" -version = "0.14.0" +name = "gethostname" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e091b3d3d6696949ac3b3fb3c62090e5bfd7bd6850bef5c3c5ea701de1b1f1e" +checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818" dependencies = [ - "cairo-sys-rs", - "gdk-pixbuf-sys", - "gio-sys", - "glib-sys", - "gobject-sys", "libc", - "pango-sys", - "pkg-config", - "system-deps", -] - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", + "windows-targets 0.48.5", ] [[package]] @@ -1239,9 +1389,9 @@ dependencies = [ [[package]] name = "gif" -version = "0.11.4" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3edd93c6756b4dfaf2709eafcc345ba2636565295c198a9cfbf75fa5e3e00b06" +checksum = "3fb2d69b19215e18bb912fa30f7ce15846e301408695e44e0ef719f1da9e19f2" dependencies = [ "color_quant", "weezl", @@ -1253,19 +1403,6 @@ version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" -[[package]] -name = "gio-sys" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0a41df66e57fcc287c4bcf74fc26b884f31901ea9792ec75607289b456f48fa" -dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps", - "winapi", -] - [[package]] name = "gl_generator" version = "0.14.0" @@ -1277,21 +1414,11 @@ dependencies = [ "xml-rs", ] -[[package]] -name = "glib-sys" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c1d60554a212445e2a858e42a0e48cece1bd57b311a19a9468f70376cf554ae" -dependencies = [ - "libc", - "system-deps", -] - [[package]] name = "glow" -version = "0.10.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "945be163fdb893227410c8b44c2412dade922585b262d1daa6a7e96135217d4c" +checksum = "bd348e04c43b32574f2de31c8bb397d96c9fcfa1371bd4ca6d8bdc464ab121b1" dependencies = [ "js-sys", "slotmap", @@ -1301,55 +1428,55 @@ dependencies = [ [[package]] name = "glutin" -version = "0.29.1" +version = "0.31.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "444c9ad294fdcaf20ccf6726b78f380b5450275540c9b68ab62f49726ad1c713" +checksum = "18fcd4ae4e86d991ad1300b8f57166e5be0c95ef1f63f3f5b827f8a164548746" dependencies = [ + "bitflags 2.4.2", + "cfg_aliases", "cgl", - "cocoa 0.24.1", "core-foundation", + "dispatch", "glutin_egl_sys", - "glutin_gles2_sys", "glutin_glx_sys", "glutin_wgl_sys", - "libloading 0.7.4", - "log", - "objc", + "icrate", + "libloading", + "objc2", "once_cell", - "osmesa-sys", - "parking_lot 0.12.1", "raw-window-handle 0.5.2", - "wayland-client", - "wayland-egl", - "winapi", - "winit", + "wayland-sys", + "windows-sys 0.48.0", + "x11-dl", ] [[package]] -name = "glutin_egl_sys" -version = "0.1.6" +name = "glutin-winit" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68900f84b471f31ea1d1355567eb865a2cf446294f06cef8d653ed7bcf5f013d" +checksum = "1ebcdfba24f73b8412c5181e56f092b5eff16671c514ce896b258a0a64bd7735" dependencies = [ - "gl_generator", - "winapi", + "cfg_aliases", + "glutin", + "raw-window-handle 0.5.2", + "winit", ] [[package]] -name = "glutin_gles2_sys" -version = "0.1.5" +name = "glutin_egl_sys" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8094e708b730a7c8a1954f4f8a31880af00eb8a1c5b5bf85d28a0a3c6d69103" +checksum = "77cc5623f5309ef433c3dd4ca1223195347fe62c413da8e2fdd0eb76db2d9bcd" dependencies = [ "gl_generator", - "objc", + "windows-sys 0.48.0", ] [[package]] name = "glutin_glx_sys" -version = "0.1.8" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d93d0575865098580c5b3a423188cd959419912ea60b1e48e8b3b526f6d02468" +checksum = "a165fd686c10dcc2d45380b35796e577eacfd43d4660ee741ec8ebe2201b3b4f" dependencies = [ "gl_generator", "x11-dl", @@ -1357,42 +1484,13 @@ dependencies = [ [[package]] name = "glutin_wgl_sys" -version = "0.1.5" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3da5951a1569dbab865c6f2a863efafff193a93caf05538d193e9e3816d21696" +checksum = "6c8098adac955faa2d31079b65dc48841251f69efd3ac25477903fc424362ead" dependencies = [ "gl_generator", ] -[[package]] -name = "gobject-sys" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa92cae29759dae34ab5921d73fff5ad54b3d794ab842c117e36cafc7994c3f5" -dependencies = [ - "glib-sys", - "libc", - "system-deps", -] - -[[package]] -name = "gtk-sys" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c14c8d3da0545785a7c5a120345b3abb534010fb8ae0f2ef3f47c027fba303e" -dependencies = [ - "atk-sys", - "cairo-sys-rs", - "gdk-pixbuf-sys", - "gdk-sys", - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "pango-sys", - "system-deps", -] - [[package]] name = "h2" version = "0.3.24" @@ -1412,6 +1510,16 @@ dependencies = [ "tracing", ] +[[package]] +name = "half" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5eceaaeec696539ddaf7b333340f1af35a5aa87ae3e4f3ead0532f72affab2e" +dependencies = [ + "cfg-if", + "crunchy", +] + [[package]] name = "hashbrown" version = "0.12.3" @@ -1522,7 +1630,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.5.6", + "socket2", "tokio", "tower-service", "tracing", @@ -1543,18 +1651,22 @@ dependencies = [ ] [[package]] -name = "ident_case" -version = "1.0.1" +name = "icrate" +version = "0.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" +checksum = "99d3aaff8a54577104bafdf686ff18565c3b6903ca5782a2026ef06e2c7aa319" +dependencies = [ + "block2", + "dispatch", + "objc2", +] [[package]] name = "idna" -version = "0.2.3" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" dependencies = [ - "matches", "unicode-bidi", "unicode-normalization", ] @@ -1571,20 +1683,19 @@ dependencies = [ [[package]] name = "image" -version = "0.23.14" +version = "0.24.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24ffcb7e7244a9bf19d35bf2883b9c080c4ced3c07a9895572178cdb8f13f6a1" +checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d" dependencies = [ "bytemuck", "byteorder", "color_quant", + "exr", "gif", "jpeg-decoder", - "num-iter", - "num-rational 0.3.2", "num-traits", - "png 0.16.8", - "scoped_threadpool", + "png", + "qoi", "tiff", ] @@ -1622,14 +1733,14 @@ dependencies = [ [[package]] name = "ipconfig" -version = "0.2.2" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7e2f18aece9709094573a9f24f483c4f65caa4298e2f7ae1b71cc65d853fad7" +checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" dependencies = [ - "socket2 0.3.19", + "socket2", "widestring", - "winapi", - "winreg 0.6.2", + "windows-sys 0.48.0", + "winreg", ] [[package]] @@ -1638,21 +1749,28 @@ version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - [[package]] name = "itoa" version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" +[[package]] +name = "jni" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +dependencies = [ + "cesu8", + "cfg-if", + "combine", + "jni-sys", + "log", + "thiserror", + "walkdir", + "windows-sys 0.45.0", +] + [[package]] name = "jni-sys" version = "0.3.0" @@ -1661,9 +1779,9 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "jpeg-decoder" -version = "0.1.22" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "229d53d58899083193af11e15917b5640cd40b29ff475a1fe4ef725deb02d0f2" +checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0" dependencies = [ "rayon", ] @@ -1700,7 +1818,7 @@ name = "leafish" version = "0.1.0" dependencies = [ "atomic_float", - "base64 0.13.1", + "base64", "bevy_ecs", "byteorder", "cgmath", @@ -1713,6 +1831,7 @@ dependencies = [ "getrandom", "glow", "glutin", + "glutin-winit", "image", "instant", "lazy_static", @@ -1721,9 +1840,10 @@ dependencies = [ "leafish_resources", "leafish_shared", "log", - "parking_lot 0.11.2", + "parking_lot 0.12.1", "rand 0.8.5", "rand_pcg 0.3.1", + "raw-window-handle 0.5.2", "rayon", "reqwest", "rfd", @@ -1743,7 +1863,7 @@ dependencies = [ "collision", "lazy_static", "leafish_shared", - "parking_lot 0.11.2", + "parking_lot 0.12.1", ] [[package]] @@ -1782,20 +1902,16 @@ dependencies = [ ] [[package]] -name = "libc" -version = "0.2.153" +name = "lebe" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" [[package]] -name = "libloading" -version = "0.7.4" +name = "libc" +version = "0.2.153" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" -dependencies = [ - "cfg-if", - "winapi", -] +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "libloading" @@ -1818,6 +1934,17 @@ dependencies = [ "redox_syscall 0.4.1", ] +[[package]] +name = "libredox" +version = "0.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607" +dependencies = [ + "bitflags 2.4.2", + "libc", + "redox_syscall 0.4.1", +] + [[package]] name = "linked-hash-map" version = "0.5.6" @@ -1870,12 +1997,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" -[[package]] -name = "matches" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" - [[package]] name = "maybe-uninit" version = "2.0.0" @@ -1890,18 +2011,18 @@ checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" [[package]] name = "memmap2" -version = "0.5.10" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" +checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" dependencies = [ "libc", ] [[package]] name = "memoffset" -version = "0.6.5" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" dependencies = [ "autocfg 1.1.0", ] @@ -1912,25 +2033,6 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" -[[package]] -name = "miniz_oxide" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "791daaae1ed6889560f8c4359194f56648355540573244a5448a83ba1ecc7435" -dependencies = [ - "adler32", -] - -[[package]] -name = "miniz_oxide" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b" -dependencies = [ - "adler", - "autocfg 1.1.0", -] - [[package]] name = "miniz_oxide" version = "0.7.2" @@ -1948,7 +2050,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" dependencies = [ "libc", - "log", "wasi", "windows-sys 0.48.0", ] @@ -1967,89 +2068,50 @@ dependencies = [ "openssl-sys", "schannel", "security-framework", - "security-framework-sys", - "tempfile", -] - -[[package]] -name = "ndk" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0" -dependencies = [ - "bitflags 1.3.2", - "jni-sys", - "ndk-sys", - "num_enum", - "raw-window-handle 0.5.2", - "thiserror", -] - -[[package]] -name = "ndk-context" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" - -[[package]] -name = "ndk-glue" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0434fabdd2c15e0aab768ca31d5b7b333717f03cf02037d5a0a3ff3c278ed67f" -dependencies = [ - "libc", - "log", - "ndk", - "ndk-context", - "ndk-macro", - "ndk-sys", - "once_cell", - "parking_lot 0.12.1", -] - -[[package]] -name = "ndk-macro" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0df7ac00c4672f9d5aece54ee3347520b7e20f158656c7db2e6de01902eb7a6c" -dependencies = [ - "darling", - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 1.0.109", + "security-framework-sys", + "tempfile", ] [[package]] -name = "ndk-sys" -version = "0.4.1+23.1.7779620" +name = "ndk" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cf2aae958bd232cac5069850591667ad422d263686d75b52a065f9badeee5a3" +checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7" dependencies = [ + "bitflags 2.4.2", "jni-sys", + "log", + "ndk-sys", + "num_enum", + "raw-window-handle 0.5.2", + "raw-window-handle 0.6.0", + "thiserror", ] [[package]] -name = "nix" -version = "0.24.3" +name = "ndk-context" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" + +[[package]] +name = "ndk-sys" +version = "0.5.0+25.2.9519653" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" +checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691" dependencies = [ - "bitflags 1.3.2", - "cfg-if", - "libc", - "memoffset", + "jni-sys", ] [[package]] name = "nix" -version = "0.25.1" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4" +checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" dependencies = [ - "autocfg 1.1.0", - "bitflags 1.3.2", + "bitflags 2.4.2", "cfg-if", + "cfg_aliases", "libc", "memoffset", ] @@ -2158,17 +2220,6 @@ dependencies = [ "serde", ] -[[package]] -name = "num-rational" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07" -dependencies = [ - "autocfg 1.1.0", - "num-integer", - "num-traits", -] - [[package]] name = "num-rational" version = "0.4.1" @@ -2202,23 +2253,23 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.5.11" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" +checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" dependencies = [ "num_enum_derive", ] [[package]] name = "num_enum_derive" -version = "0.5.11" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.51", ] [[package]] @@ -2241,6 +2292,28 @@ dependencies = [ "objc_id", ] +[[package]] +name = "objc-sys" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7c71324e4180d0899963fc83d9d241ac39e699609fc1025a850aadac8257459" + +[[package]] +name = "objc2" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "559c5a40fdd30eb5e344fbceacf7595a81e242529fb4e21cf5f43fb4f11ff98d" +dependencies = [ + "objc-sys", + "objc2-encode", +] + +[[package]] +name = "objc2-encode" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d079845b37af429bfe5dfa76e6d087d788031045b25cfc6fd898486fd9847666" + [[package]] name = "objc_id" version = "0.1.1" @@ -2316,24 +2389,37 @@ dependencies = [ ] [[package]] -name = "osmesa-sys" -version = "0.1.2" +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "orbclient" +version = "0.3.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88cfece6e95d2e717e0872a7f53a8684712ad13822a7979bc760b9c77ec0013b" +checksum = "52f0d54bde9774d3a51dcf281a5def240c71996bc6ca05d2c847ec8b2b216166" dependencies = [ - "shared_library", + "libredox 0.0.2", ] [[package]] -name = "pango-sys" -version = "0.14.0" +name = "ordered-stream" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2367099ca5e761546ba1d501955079f097caa186bb53ce0f718dca99ac1942fe" +checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50" dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "owned_ttf_parser" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4586edfe4c648c71797a74c84bacb32b52b212eff5dfe2bb9f2c599844023e7" +dependencies = [ + "ttf-parser", ] [[package]] @@ -2408,6 +2494,17 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "piper" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" +dependencies = [ + "atomic-waker", + "fastrand 2.0.1", + "futures-io", +] + [[package]] name = "pkg-config" version = "0.3.30" @@ -2416,29 +2513,37 @@ checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "png" -version = "0.16.8" +version = "0.17.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c3287920cb847dee3de33d301c463fba14dda99db24214ddf93f83d3021f4c6" +checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1" dependencies = [ "bitflags 1.3.2", "crc32fast", - "deflate", - "miniz_oxide 0.3.7", + "fdeflate", + "flate2", + "miniz_oxide", ] [[package]] -name = "png" -version = "0.17.13" +name = "polling" +version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1" +checksum = "24f040dee2588b4963afb4e420540439d126f73fdacf4a9c486a96d840bac3c9" dependencies = [ - "bitflags 1.3.2", - "crc32fast", - "fdeflate", - "flate2", - "miniz_oxide 0.7.2", + "cfg-if", + "concurrent-queue", + "pin-project-lite", + "rustix", + "tracing", + "windows-sys 0.52.0", ] +[[package]] +name = "pollster" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2" + [[package]] name = "ppv-lite86" version = "0.2.17" @@ -2447,11 +2552,10 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "proc-macro-crate" -version = "1.3.1" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" dependencies = [ - "once_cell", "toml_edit", ] @@ -2488,6 +2592,15 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "qoi" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001" +dependencies = [ + "bytemuck", +] + [[package]] name = "quick-error" version = "1.2.3" @@ -2496,9 +2609,9 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quick-xml" -version = "0.22.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8533f14c8382aaad0d592c812ac3b826162128b65662331e1127b45c3d18536b" +checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" dependencies = [ "memchr", ] @@ -2659,28 +2772,15 @@ dependencies = [ [[package]] name = "raw-window-handle" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28f55143d0548dad60bb4fbdc835a3d7ac6acc3324506450c5fdd6e42903a76" -dependencies = [ - "libc", - "raw-window-handle 0.4.3", -] - -[[package]] -name = "raw-window-handle" -version = "0.4.3" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b800beb9b6e7d2df1fe337c9e3d04e3af22a124460fb4c30fcc22c9117cefb41" -dependencies = [ - "cty", -] +checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" [[package]] name = "raw-window-handle" -version = "0.5.2" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" +checksum = "42a9830a0e1b9fb145ebb365b8bc4ccd75f290f98c0247deafbbe2c75cefb544" [[package]] name = "rayon" @@ -2720,6 +2820,15 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "redox_syscall" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +dependencies = [ + "bitflags 1.3.2", +] + [[package]] name = "redox_syscall" version = "0.4.1" @@ -2736,17 +2845,46 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" dependencies = [ "getrandom", - "libredox", + "libredox 0.0.1", "thiserror", ] +[[package]] +name = "regex" +version = "1.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" + [[package]] name = "reqwest" version = "0.11.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251" dependencies = [ - "base64 0.21.7", + "base64", "bytes", "encoding_rs", "futures-core", @@ -2777,7 +2915,7 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "winreg 0.50.0", + "winreg", ] [[package]] @@ -2792,25 +2930,25 @@ dependencies = [ [[package]] name = "rfd" -version = "0.5.1" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2acac5884e3a23b02ebd6ce50fd2729732cdbdb16ea944fbbfbfa638a67992aa" +checksum = "373d2fc6310e2d14943d4e66ebed5b774a2b6b3b1610e7377edf124fb2760d6b" dependencies = [ + "ashpd", "block", "dispatch", - "glib-sys", - "gobject-sys", - "gtk-sys", "js-sys", - "lazy_static", + "log", "objc", "objc-foundation", "objc_id", - "raw-window-handle 0.3.4", + "pollster", + "raw-window-handle 0.6.0", + "urlencoding", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "winapi", + "windows-sys 0.48.0", ] [[package]] @@ -2849,7 +2987,7 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" dependencies = [ - "base64 0.21.7", + "base64", ] [[package]] @@ -2859,12 +2997,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" [[package]] -name = "safe_arch" -version = "0.5.2" +name = "same-file" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1ff3d6d9696af502cc3110dacce942840fb06ff4514cad92236ecc455f2ce05" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" dependencies = [ - "bytemuck", + "winapi-util", ] [[package]] @@ -2882,12 +3020,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" -[[package]] -name = "scoped_threadpool" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8" - [[package]] name = "scopeguard" version = "1.2.0" @@ -2896,12 +3028,13 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sctk-adwaita" -version = "0.4.3" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61270629cc6b4d77ec1907db1033d5c2e1a404c412743621981a871dc9c12339" +checksum = "82b2eaf3a5b264a521b988b2e73042e742df700c4f962cde845d1541adb46550" dependencies = [ - "crossfont", + "ab_glyph", "log", + "memmap2", "smithay-client-toolkit", "tiny-skia", ] @@ -2960,6 +3093,17 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_repr" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.51", +] + [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -2973,46 +3117,33 @@ dependencies = [ ] [[package]] -name = "servo-fontconfig" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7e3e22fe5fd73d04ebf0daa049d3efe3eae55369ce38ab16d07ddd9ac5c217c" -dependencies = [ - "libc", - "servo-fontconfig-sys", -] - -[[package]] -name = "servo-fontconfig-sys" -version = "5.1.0" +name = "sha-1" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e36b879db9892dfa40f95da1c38a835d41634b825fbd8c4c418093d53c24b388" +checksum = "f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c" dependencies = [ - "expat-sys", - "freetype-sys", - "pkg-config", + "cfg-if", + "cpufeatures", + "digest", ] [[package]] -name = "sha-1" -version = "0.9.8" +name = "sha1" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ - "block-buffer", "cfg-if", "cpufeatures", "digest", - "opaque-debug", ] [[package]] -name = "shared_library" -version = "0.1.9" +name = "signal-hook-registry" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a9e7e0f2bfae24d8a5b5a66c5b257a83c7412304311512a0c054cd5e619da11" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" dependencies = [ - "lazy_static", "libc", ] @@ -3069,42 +3200,47 @@ checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" [[package]] name = "smithay-client-toolkit" -version = "0.16.1" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "870427e30b8f2cbe64bf43ec4b86e88fe39b0a84b3f15efd9c9c2d020bc86eb9" +checksum = "922fd3eeab3bd820d76537ce8f582b1cf951eceb5475c28500c7457d9d17f53a" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.2", "calloop", - "dlib", - "lazy_static", + "calloop-wayland-source", + "cursor-icon", + "libc", "log", "memmap2", - "nix 0.24.3", - "pkg-config", + "rustix", + "thiserror", + "wayland-backend", "wayland-client", + "wayland-csd-frame", "wayland-cursor", "wayland-protocols", + "wayland-protocols-wlr", + "wayland-scanner", + "xkeysym", ] [[package]] name = "smithay-clipboard" -version = "0.6.6" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a345c870a1fae0b1b779085e81b51e614767c239e93503588e54c5b17f4b0e8" +checksum = "c091e7354ea8059d6ad99eace06dd13ddeedbb0ac72d40a9a6e7ff790525882d" dependencies = [ + "libc", "smithay-client-toolkit", - "wayland-client", + "wayland-backend", ] [[package]] -name = "socket2" -version = "0.3.19" +name = "smol_str" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e" +checksum = "e6845563ada680337a52d43bb0b29f396f2d911616f6573012645b9e3d048a49" dependencies = [ - "cfg-if", - "libc", - "winapi", + "serde", ] [[package]] @@ -3118,16 +3254,31 @@ dependencies = [ ] [[package]] -name = "strsim" -version = "0.8.0" +name = "spin" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strict-num" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" [[package]] name = "strsim" -version = "0.10.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" [[package]] name = "structopt" @@ -3153,24 +3304,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "strum" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2" - -[[package]] -name = "strum_macros" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec" -dependencies = [ - "heck 0.3.3", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "syn" version = "1.0.109" @@ -3220,24 +3353,6 @@ dependencies = [ "libc", ] -[[package]] -name = "system-deps" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "480c269f870722b3b08d2f13053ce0c2ab722839f472863c3e2d61ff3a1c2fa6" -dependencies = [ - "anyhow", - "cfg-expr", - "heck 0.3.3", - "itertools", - "pkg-config", - "strum", - "strum_macros", - "thiserror", - "toml", - "version-compare", -] - [[package]] name = "tempfile" version = "3.10.0" @@ -3281,38 +3396,38 @@ dependencies = [ [[package]] name = "tiff" -version = "0.6.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a53f4706d65497df0c4349241deddf35f84cee19c87ed86ea8ca590f4464437" +checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e" dependencies = [ + "flate2", "jpeg-decoder", - "miniz_oxide 0.4.4", "weezl", ] [[package]] name = "tiny-skia" -version = "0.7.0" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "642680569bb895b16e4b9d181c60be1ed136fa0c9c7f11d004daf053ba89bf82" +checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab" dependencies = [ "arrayref", "arrayvec", "bytemuck", "cfg-if", - "png 0.17.13", - "safe_arch", + "log", "tiny-skia-path", ] [[package]] name = "tiny-skia-path" -version = "0.7.0" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c114d32f0c2ee43d585367cb013dfaba967ab9f62b90d9af0d696e955e70fa6c" +checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93" dependencies = [ "arrayref", "bytemuck", + "strict-num", ] [[package]] @@ -3342,7 +3457,7 @@ dependencies = [ "mio", "num_cpus", "pin-project-lite", - "socket2 0.5.6", + "socket2", "windows-sys 0.48.0", ] @@ -3388,9 +3503,9 @@ checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" [[package]] name = "toml_edit" -version = "0.19.15" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ "indexmap 2.2.3", "toml_datetime", @@ -3436,9 +3551,9 @@ dependencies = [ [[package]] name = "trust-dns-proto" -version = "0.20.4" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca94d4e9feb6a181c690c4040d7a24ef34018d8313ac5044a61d21222ae24e31" +checksum = "3119112651c157f4488931a01e586aa459736e9d6046d3bd9105ffb69352d374" dependencies = [ "async-trait", "cfg-if", @@ -3447,35 +3562,36 @@ dependencies = [ "futures-channel", "futures-io", "futures-util", - "idna 0.2.3", + "idna 0.4.0", "ipnet", - "lazy_static", - "log", + "once_cell", "rand 0.8.5", "smallvec 1.13.1", "thiserror", "tinyvec", "tokio", + "tracing", "url", ] [[package]] name = "trust-dns-resolver" -version = "0.20.4" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecae383baad9995efaa34ce8e57d12c3f305e545887472a492b838f4b5cfb77a" +checksum = "10a3e6c3aff1718b3c73e395d1f35202ba2ffa847c6a62eea0db8fb4cfe30be6" dependencies = [ "cfg-if", "futures-util", "ipconfig", - "lazy_static", - "log", "lru-cache", - "parking_lot 0.11.2", + "once_cell", + "parking_lot 0.12.1", + "rand 0.8.5", "resolv-conf", "smallvec 1.13.1", "thiserror", "tokio", + "tracing", "trust-dns-proto", ] @@ -3485,12 +3601,29 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" +[[package]] +name = "ttf-parser" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4" + [[package]] name = "typenum" version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +[[package]] +name = "uds_windows" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9" +dependencies = [ + "memoffset", + "tempfile", + "winapi", +] + [[package]] name = "unicode-bidi" version = "0.3.15" @@ -3533,8 +3666,15 @@ dependencies = [ "form_urlencoded", "idna 0.5.0", "percent-encoding", + "serde", ] +[[package]] +name = "urlencoding" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" + [[package]] name = "uuid" version = "0.8.2" @@ -3557,12 +3697,6 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" -[[package]] -name = "version-compare" -version = "0.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c18c859eead79d8b95d09e4678566e8d70105c4e7b251f707a03df32442661b" - [[package]] name = "version_check" version = "0.9.4" @@ -3575,6 +3709,16 @@ version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" +[[package]] +name = "walkdir" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" +dependencies = [ + "same-file", + "winapi-util", +] + [[package]] name = "want" version = "0.3.1" @@ -3657,85 +3801,111 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838" [[package]] -name = "wayland-client" -version = "0.29.5" +name = "wayland-backend" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f3b068c05a039c9f755f881dc50f01732214f5685e379829759088967c46715" +checksum = "9d50fa61ce90d76474c87f5fc002828d81b32677340112b4ef08079a9d459a40" dependencies = [ - "bitflags 1.3.2", + "cc", "downcast-rs", - "libc", - "nix 0.24.3", + "rustix", "scoped-tls", - "wayland-commons", - "wayland-scanner", + "smallvec 1.13.1", "wayland-sys", ] [[package]] -name = "wayland-commons" -version = "0.29.5" +name = "wayland-client" +version = "0.31.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8691f134d584a33a6606d9d717b95c4fa20065605f798a3f350d78dced02a902" +checksum = "82fb96ee935c2cea6668ccb470fb7771f6215d1691746c2d896b447a00ad3f1f" dependencies = [ - "nix 0.24.3", - "once_cell", - "smallvec 1.13.1", - "wayland-sys", + "bitflags 2.4.2", + "rustix", + "wayland-backend", + "wayland-scanner", +] + +[[package]] +name = "wayland-csd-frame" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" +dependencies = [ + "bitflags 2.4.2", + "cursor-icon", + "wayland-backend", ] [[package]] name = "wayland-cursor" -version = "0.29.5" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6865c6b66f13d6257bef1cd40cbfe8ef2f150fb8ebbdb1e8e873455931377661" +checksum = "71ce5fa868dd13d11a0d04c5e2e65726d0897be8de247c0c5a65886e283231ba" dependencies = [ - "nix 0.24.3", + "rustix", "wayland-client", "xcursor", ] [[package]] -name = "wayland-egl" -version = "0.29.5" +name = "wayland-protocols" +version = "0.31.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "402de949f81a012926d821a2d659f930694257e76dd92b6e0042ceb27be4107d" +checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4" dependencies = [ + "bitflags 2.4.2", + "wayland-backend", "wayland-client", - "wayland-sys", + "wayland-scanner", ] [[package]] -name = "wayland-protocols" -version = "0.29.5" +name = "wayland-protocols-plasma" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b950621f9354b322ee817a23474e479b34be96c2e909c14f7bc0100e9a970bc6" +checksum = "23803551115ff9ea9bce586860c5c5a971e360825a0309264102a9495a5ff479" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.2", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols-wlr" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6" +dependencies = [ + "bitflags 2.4.2", + "wayland-backend", "wayland-client", - "wayland-commons", + "wayland-protocols", "wayland-scanner", ] [[package]] name = "wayland-scanner" -version = "0.29.5" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f4303d8fa22ab852f789e75a967f0a2cdc430a607751c0499bada3e451cbd53" +checksum = "63b3a62929287001986fb58c789dce9b67604a397c15c611ad9f747300b6c283" dependencies = [ "proc-macro2", + "quick-xml", "quote", - "xml-rs", ] [[package]] name = "wayland-sys" -version = "0.29.5" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be12ce1a3c39ec7dba25594b97b42cb3195d54953ddb9d3d95a7c3902bc6e9d4" +checksum = "15a0c8eaff5216d07f226cb7a549159267f3467b289d9a2e52fd3ef5aae2b7af" dependencies = [ "dlib", - "lazy_static", + "log", + "once_cell", "pkg-config", ] @@ -3749,6 +3919,16 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "web-time" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa30049b1c872b72c89866d458eae9f20380ab280ffd1b1e18df2d3e2d98cfe0" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + [[package]] name = "weezl" version = "0.1.8" @@ -3757,9 +3937,9 @@ checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082" [[package]] name = "widestring" -version = "0.4.3" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c168940144dd21fd8046987c16a46a33d5fc84eec29ef9dcddc2ac9e31526b7c" +checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" [[package]] name = "winapi" @@ -3777,6 +3957,15 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +[[package]] +name = "winapi-util" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +dependencies = [ + "winapi", +] + [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" @@ -3785,15 +3974,11 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-sys" -version = "0.36.1" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" dependencies = [ - "windows_aarch64_msvc 0.36.1", - "windows_i686_gnu 0.36.1", - "windows_i686_msvc 0.36.1", - "windows_x86_64_gnu 0.36.1", - "windows_x86_64_msvc 0.36.1", + "windows-targets 0.42.2", ] [[package]] @@ -3814,6 +3999,21 @@ dependencies = [ "windows-targets 0.52.3", ] +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + [[package]] name = "windows-targets" version = "0.48.5" @@ -3844,6 +4044,12 @@ dependencies = [ "windows_x86_64_msvc 0.52.3", ] +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -3858,9 +4064,9 @@ checksum = "68e5dcfb9413f53afd9c8f86e56a7b4d86d9a2fa26090ea2dc9e40fba56c6ec6" [[package]] name = "windows_aarch64_msvc" -version = "0.36.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" [[package]] name = "windows_aarch64_msvc" @@ -3876,9 +4082,9 @@ checksum = "8dab469ebbc45798319e69eebf92308e541ce46760b49b18c6b3fe5e8965b30f" [[package]] name = "windows_i686_gnu" -version = "0.36.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" [[package]] name = "windows_i686_gnu" @@ -3894,9 +4100,9 @@ checksum = "2a4e9b6a7cac734a8b4138a4e1044eac3404d8326b6c0f939276560687a033fb" [[package]] name = "windows_i686_msvc" -version = "0.36.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" [[package]] name = "windows_i686_msvc" @@ -3912,9 +4118,9 @@ checksum = "28b0ec9c422ca95ff34a78755cfa6ad4a51371da2a5ace67500cf7ca5f232c58" [[package]] name = "windows_x86_64_gnu" -version = "0.36.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" [[package]] name = "windows_x86_64_gnu" @@ -3928,6 +4134,12 @@ version = "0.52.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "704131571ba93e89d7cd43482277d6632589b18ecf4468f591fbae0a8b101614" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" @@ -3942,9 +4154,9 @@ checksum = "42079295511643151e98d61c38c0acc444e52dd42ab456f7ccfd5152e8ecf21c" [[package]] name = "windows_x86_64_msvc" -version = "0.36.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" [[package]] name = "windows_x86_64_msvc" @@ -3960,35 +4172,51 @@ checksum = "0770833d60a970638e989b3fa9fd2bb1aaadcf88963d1659fd7d9990196ed2d6" [[package]] name = "winit" -version = "0.27.5" +version = "0.29.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb796d6fbd86b2fd896c9471e6f04d39d750076ebe5680a3958f00f5ab97657c" +checksum = "272be407f804517512fdf408f0fe6c067bf24659a913c61af97af176bfd5aa92" dependencies = [ - "bitflags 1.3.2", - "cocoa 0.24.1", + "ahash 0.8.10", + "android-activity", + "atomic-waker", + "bitflags 2.4.2", + "bytemuck", + "calloop", + "cfg_aliases", "core-foundation", - "core-graphics 0.22.3", - "dispatch", - "instant", + "core-graphics", + "cursor-icon", + "icrate", + "js-sys", "libc", "log", - "mio", + "memmap2", "ndk", - "ndk-glue", - "objc", + "ndk-sys", + "objc2", "once_cell", - "parking_lot 0.12.1", + "orbclient", "percent-encoding", - "raw-window-handle 0.4.3", "raw-window-handle 0.5.2", + "raw-window-handle 0.6.0", + "redox_syscall 0.3.5", + "rustix", "sctk-adwaita", "smithay-client-toolkit", + "smol_str", + "unicode-segmentation", "wasm-bindgen", + "wasm-bindgen-futures", + "wayland-backend", "wayland-client", "wayland-protocols", + "wayland-protocols-plasma", "web-sys", - "windows-sys 0.36.1", + "web-time", + "windows-sys 0.48.0", "x11-dl", + "x11rb", + "xkbcommon-dl", ] [[package]] @@ -4000,15 +4228,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "winreg" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9" -dependencies = [ - "winapi", -] - [[package]] name = "winreg" version = "0.50.0" @@ -4019,22 +4238,14 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "wio" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d129932f4644ac2396cb456385cbf9e63b5b30c6e8dc4820bdca4eb082037a5" -dependencies = [ - "winapi", -] - [[package]] name = "x11-clipboard" -version = "0.5.3" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "473068b7b80ac86a18328824f1054e5e007898c47b5bbc281bd7abe32bc3653c" +checksum = "b98785a09322d7446e28a13203d2cae1059a0dd3dfb32cb06d0a225f023d8286" dependencies = [ - "xcb", + "libc", + "x11rb", ] [[package]] @@ -4049,36 +4260,206 @@ dependencies = [ ] [[package]] -name = "xcb" -version = "0.10.1" +name = "x11rb" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "771e2b996df720cd1c6dd9ff90f62d91698fd3610cc078388d0564bdd6622a9c" +checksum = "f8f25ead8c7e4cba123243a6367da5d3990e0d3affa708ea19dce96356bd9f1a" dependencies = [ + "as-raw-xcb-connection", + "gethostname", "libc", - "log", - "quick-xml", + "libloading", + "once_cell", + "rustix", + "x11rb-protocol", ] +[[package]] +name = "x11rb-protocol" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e63e71c4b8bd9ffec2c963173a4dc4cbde9ee96961d4fcb4429db9929b606c34" + [[package]] name = "xcursor" version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a0ccd7b4a5345edfcd0c3535718a4e9ff7798ffc536bb5b5a0e26ff84732911" +[[package]] +name = "xdg-home" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21e5a325c3cb8398ad6cf859c1135b25dd29e186679cf2da7581d9679f63b38e" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "xkbcommon-dl" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" +dependencies = [ + "bitflags 2.4.2", + "dlib", + "log", + "once_cell", + "xkeysym", +] + +[[package]] +name = "xkeysym" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "054a8e68b76250b253f671d1268cb7f1ae089ec35e195b2efb2a4e9a836d0621" + [[package]] name = "xml-rs" version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a" +[[package]] +name = "zbus" +version = "4.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9ff46f2a25abd690ed072054733e0bc3157e3d4c45f41bd183dce09c2ff8ab9" +dependencies = [ + "async-broadcast", + "async-executor", + "async-fs", + "async-io", + "async-lock 3.3.0", + "async-process", + "async-recursion", + "async-task", + "async-trait", + "blocking", + "derivative", + "enumflags2", + "event-listener 5.2.0", + "futures-core", + "futures-sink", + "futures-util", + "hex", + "nix", + "ordered-stream", + "rand 0.8.5", + "serde", + "serde_repr", + "sha1", + "static_assertions", + "tracing", + "uds_windows", + "windows-sys 0.52.0", + "xdg-home", + "zbus_macros", + "zbus_names", + "zvariant", +] + +[[package]] +name = "zbus_macros" +version = "4.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e0e3852c93dcdb49c9462afe67a2a468f7bd464150d866e861eaf06208633e0" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "regex", + "syn 1.0.109", + "zvariant_utils", +] + +[[package]] +name = "zbus_names" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b9b1fef7d021261cc16cba64c351d291b715febe0fa10dc3a443ac5a5022e6c" +dependencies = [ + "serde", + "static_assertions", + "zvariant", +] + +[[package]] +name = "zerocopy" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.51", +] + [[package]] name = "zip" -version = "0.5.13" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93ab48844d61251bb3835145c521d88aa4031d7139e8485990f60ca911fa0815" +checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" dependencies = [ "byteorder", "crc32fast", + "crossbeam-utils", "flate2", - "thiserror", +] + +[[package]] +name = "zune-inflate" +version = "0.2.54" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "zvariant" +version = "4.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c1b3ca6db667bfada0f1ebfc94b2b1759ba25472ee5373d4551bb892616389a" +dependencies = [ + "endi", + "enumflags2", + "serde", + "static_assertions", + "url", + "zvariant_derive", +] + +[[package]] +name = "zvariant_derive" +version = "4.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7a4b236063316163b69039f77ce3117accb41a09567fd24c168e43491e521bc" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", + "zvariant_utils", +] + +[[package]] +name = "zvariant_utils" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00bedb16a193cc12451873fee2a1bc6550225acece0e36f333e68326c73c8172" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", ] diff --git a/Cargo.toml b/Cargo.toml index 1874c231..4eac240b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,42 +23,45 @@ split-debuginfo = "unpacked" opt-level = 1 [dependencies] -winit = "0.27.0" -glow = "0.10.0" -byteorder = "1.4.3" -serde = { version = "1.0.127", features = ["derive"] } -serde_json = "1.0.66" -flate2 = { version = "1.0.20", features = ["rust_backend"], default-features = false } -zip = { version = "0.5.13", features = ["deflate"], default-features = false } -image = "0.23.14" -getrandom = { version = "0.2.3", features = ["js"] } -rand = "0.8.4" -rand_pcg = "0.3.1" -base64 = "0.13.0" -log = { version = "0.4.14", features = ["std"] } -cgmath = "0.17.0" -lazy_static = "1.4.0" -collision = "0.20.1" -rsa_public_encrypt_pkcs1 = "0.4.0" -structopt = "0.3.22" -copypasta = "0.7.1" -instant = "0.1.10" -dirs = "3.0.2" +winit = { version = "0.29", features = ["rwh_05"] } +raw-window-handle = "0.5.0" +glow = "0.13" +byteorder = "1.4" +serde = { version = "1.0", features = ["derive"] } +serde_json = "1.0" +flate2 = { version = "1.0", features = ["rust_backend"], default-features = false } +zip = { version = "0.6", features = ["deflate"], default-features = false } +image = "0.24" +getrandom = { version = "0.2", features = ["js"] } +rand = "0.8" +rand_pcg = "0.3" +base64 = "0.21" +log = { version = "0.4", features = ["std"] } +cgmath = "0.17" +lazy_static = "1.4" # TODO: get rid of this and use OnceCell instead +collision = "0.20" +rsa_public_encrypt_pkcs1 = "0.4" +structopt = "0.3" +copypasta = "0.10" +instant = "0.1" +dirs = "5.0" # Concurrency features -dashmap = "4.0.2" -parking_lot = "0.11.1" +dashmap = "5.5" +parking_lot = "0.12" atomic_float = "0.1.0" # arc-swap = "1.4.0" # TODO: Use this! -crossbeam-channel = "0.5.1" # check if flume would be better in terms of performance! +crossbeam-channel = "0.5" # check if flume would be better in terms of performance! # flume = "0.10.8" # replaced by crossbeam channel # tokio = { version = "0.2", features = ["full"] } # readd as soon as we want to impl this! -rayon = "1.5.1" -rfd = "0.5.0" +rayon = "1.5" +rfd = "0.14" bevy_ecs = { git = "https://github.com/Lea-fish/bevy", rev = "a58b4936d0e1ccd241dca74bceae78a1b6d4f949" } -reqwest = { version = "0.11.4", features = [ "blocking" ]} -glutin = "0.29.0" +reqwest = { version = "0.11", features = [ "blocking" ]} +# glutin = "0.29" +glutin = "0.31" +glutin-winit = "0.4" [dependencies.leafish_resources] path = "./resources" diff --git a/blocks/Cargo.lock b/blocks/Cargo.lock index 3bbeeab7..ddb9af16 100644 --- a/blocks/Cargo.lock +++ b/blocks/Cargo.lock @@ -142,7 +142,7 @@ dependencies = [ "bevy_utils", "downcast-rs", "erased-serde", - "parking_lot", + "parking_lot 0.11.2", "serde", "thiserror", ] @@ -473,7 +473,7 @@ dependencies = [ "collision", "lazy_static", "leafish_shared", - "parking_lot", + "parking_lot 0.12.1", ] [[package]] @@ -626,7 +626,17 @@ checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" dependencies = [ "instant", "lock_api", - "parking_lot_core", + "parking_lot_core 0.8.6", +] + +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core 0.9.9", ] [[package]] @@ -638,11 +648,24 @@ dependencies = [ "cfg-if", "instant", "libc", - "redox_syscall", + "redox_syscall 0.2.16", "smallvec 1.13.1", "winapi", ] +[[package]] +name = "parking_lot_core" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.4.1", + "smallvec 1.13.1", + "windows-targets", +] + [[package]] name = "pin-project-lite" version = "0.2.13" @@ -791,6 +814,15 @@ dependencies = [ "bitflags", ] +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags", +] + [[package]] name = "scopeguard" version = "1.2.0" @@ -1055,3 +1087,60 @@ name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" diff --git a/blocks/Cargo.toml b/blocks/Cargo.toml index 22bab8b5..1238f56e 100644 --- a/blocks/Cargo.toml +++ b/blocks/Cargo.toml @@ -5,10 +5,10 @@ authors = [ "Thinkofdeath " ] edition = "2018" [dependencies] -lazy_static = "1.4.0" -cgmath = "0.17.0" -collision = "0.20.1" -parking_lot = "0.11.1" +lazy_static = "1.4.0" # TODO: get rid of this and use OnceCell instead +cgmath = "0.17" +collision = "0.20" +parking_lot = "0.12" [dependencies.leafish_shared] diff --git a/generate_blocks/Cargo.toml b/generate_blocks/Cargo.toml index 052b7caa..8cba1d45 100644 --- a/generate_blocks/Cargo.toml +++ b/generate_blocks/Cargo.toml @@ -6,7 +6,7 @@ edition = "2018" [dependencies] minecraft-data-rs = { version = "0.6.0", path = "../../minecraft-data-rs" } convert_case = "0.6.0" -serde_json = "1.0.66" +serde_json = "1.0" [dependencies.leafish_shared] path = "../shared" diff --git a/protocol/Cargo.lock b/protocol/Cargo.lock index d19eafb0..6692be1d 100644 --- a/protocol/Cargo.lock +++ b/protocol/Cargo.lock @@ -201,7 +201,7 @@ dependencies = [ "bevy_utils", "downcast-rs", "erased-serde", - "parking_lot", + "parking_lot 0.11.2", "serde", "thiserror", ] @@ -258,9 +258,9 @@ checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" [[package]] name = "block-buffer" -version = "0.9.0" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" dependencies = [ "generic-array", ] @@ -393,14 +393,27 @@ version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + [[package]] name = "dashmap" -version = "4.0.2" +version = "5.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e77a43b28d0668df09411cb0bc9a8c2adc40f9a048afe863e05fd43251e8e39c" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if", - "num_cpus", + "hashbrown 0.14.3", + "lock_api", + "once_cell", + "parking_lot_core 0.9.9", ] [[package]] @@ -411,11 +424,12 @@ checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" [[package]] name = "digest" -version = "0.9.0" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "generic-array", + "block-buffer", + "crypto-common", ] [[package]] @@ -435,14 +449,14 @@ dependencies = [ [[package]] name = "enum-as-inner" -version = "0.3.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "570d109b813e904becc80d8d5da38376818a143348413f7149f1340fe04754d4" +checksum = "5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a" dependencies = [ "heck", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.52", ] [[package]] @@ -789,7 +803,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.5.6", + "socket2", "tokio", "tower-service", "tracing", @@ -811,11 +825,10 @@ dependencies = [ [[package]] name = "idna" -version = "0.2.3" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" dependencies = [ - "matches", "unicode-bidi", "unicode-normalization", ] @@ -864,14 +877,14 @@ dependencies = [ [[package]] name = "ipconfig" -version = "0.2.2" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7e2f18aece9709094573a9f24f483c4f65caa4298e2f7ae1b71cc65d853fad7" +checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" dependencies = [ - "socket2 0.3.19", + "socket2", "widestring", - "winapi", - "winreg 0.6.2", + "windows-sys 0.48.0", + "winreg", ] [[package]] @@ -981,12 +994,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" -[[package]] -name = "matches" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" - [[package]] name = "memchr" version = "2.7.1" @@ -1135,7 +1142,17 @@ checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" dependencies = [ "instant", "lock_api", - "parking_lot_core", + "parking_lot_core 0.8.6", +] + +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core 0.9.9", ] [[package]] @@ -1147,11 +1164,24 @@ dependencies = [ "cfg-if", "instant", "libc", - "redox_syscall", + "redox_syscall 0.2.16", "smallvec", "winapi", ] +[[package]] +name = "parking_lot_core" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.4.1", + "smallvec", + "windows-targets 0.48.5", +] + [[package]] name = "percent-encoding" version = "2.3.1" @@ -1360,6 +1390,15 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + [[package]] name = "reqwest" version = "0.11.24" @@ -1397,7 +1436,7 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "winreg 0.50.0", + "winreg", ] [[package]] @@ -1527,15 +1566,13 @@ dependencies = [ [[package]] name = "sha-1" -version = "0.9.8" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" +checksum = "f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c" dependencies = [ - "block-buffer", "cfg-if", "cpufeatures", "digest", - "opaque-debug", ] [[package]] @@ -1553,17 +1590,6 @@ version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" -[[package]] -name = "socket2" -version = "0.3.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e" -dependencies = [ - "cfg-if", - "libc", - "winapi", -] - [[package]] name = "socket2" version = "0.5.6" @@ -1682,7 +1708,7 @@ dependencies = [ "mio", "num_cpus", "pin-project-lite", - "socket2 0.5.6", + "socket2", "windows-sys 0.48.0", ] @@ -1759,9 +1785,9 @@ dependencies = [ [[package]] name = "trust-dns-proto" -version = "0.20.4" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca94d4e9feb6a181c690c4040d7a24ef34018d8313ac5044a61d21222ae24e31" +checksum = "3119112651c157f4488931a01e586aa459736e9d6046d3bd9105ffb69352d374" dependencies = [ "async-trait", "cfg-if", @@ -1770,35 +1796,36 @@ dependencies = [ "futures-channel", "futures-io", "futures-util", - "idna 0.2.3", + "idna 0.4.0", "ipnet", - "lazy_static", - "log", + "once_cell", "rand 0.8.5", "smallvec", "thiserror", "tinyvec", "tokio", + "tracing", "url", ] [[package]] name = "trust-dns-resolver" -version = "0.20.4" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecae383baad9995efaa34ce8e57d12c3f305e545887472a492b838f4b5cfb77a" +checksum = "10a3e6c3aff1718b3c73e395d1f35202ba2ffa847c6a62eea0db8fb4cfe30be6" dependencies = [ "cfg-if", "futures-util", "ipconfig", - "lazy_static", - "log", "lru-cache", - "parking_lot", + "once_cell", + "parking_lot 0.12.1", + "rand 0.8.5", "resolv-conf", "smallvec", "thiserror", "tokio", + "tracing", "trust-dns-proto", ] @@ -1967,9 +1994,9 @@ dependencies = [ [[package]] name = "widestring" -version = "0.4.3" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c168940144dd21fd8046987c16a46a33d5fc84eec29ef9dcddc2ac9e31526b7c" +checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" [[package]] name = "winapi" @@ -2125,15 +2152,6 @@ version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" -[[package]] -name = "winreg" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9" -dependencies = [ - "winapi", -] - [[package]] name = "winreg" version = "0.50.0" diff --git a/protocol/Cargo.toml b/protocol/Cargo.toml index b808268e..f0337d7b 100644 --- a/protocol/Cargo.toml +++ b/protocol/Cargo.toml @@ -5,28 +5,28 @@ authors = [ "Thinkofdeath ", "iceiix (gl_display: &D) { unsafe { - CONTEXT = Box::into_raw(Box::new(context)); + CONTEXT = Box::into_raw(Box::new(Context::from_loader_function_cstr(|symbol| { + gl_display.get_proc_address(symbol) + }))); } } @@ -259,11 +264,11 @@ pub const NEAREST_MIPMAP_LINEAR: TextureValue = gl::NEAREST_MIPMAP_LINEAR as Tex pub const CLAMP_TO_EDGE: TextureValue = gl::CLAMP_TO_EDGE as TextureValue; /// `Texture` is a buffer of data used by fragment shaders. -#[derive(Default)] pub struct Texture(glow::Texture); impl Texture { - // Allocates a new texture. + /// Allocates a new texture. + #[allow(clippy::new_without_default)] pub fn new() -> Texture { Texture(unsafe { glow_context() @@ -459,10 +464,10 @@ pub type ShaderParameter = u32; pub const COMPILE_STATUS: ShaderParameter = gl::COMPILE_STATUS; pub const INFO_LOG_LENGTH: ShaderParameter = gl::INFO_LOG_LENGTH; -#[derive(Default)] pub struct Program(glow::Program); impl Program { + #[allow(clippy::new_without_default)] pub fn new() -> Program { Program(unsafe { glow_context() @@ -646,14 +651,14 @@ impl Attribute { } } -// VertexArray is used to store state needed to render vertices. -// This includes buffers, the format of the buffers and enabled -// attributes. -#[derive(Default)] +/// VertexArray is used to store state needed to render vertices. +/// This includes buffers, the format of the buffers and enabled +/// attributes. pub struct VertexArray(glow::VertexArray); impl VertexArray { /// Allocates a new `VertexArray`. + #[allow(clippy::new_without_default)] pub fn new() -> VertexArray { VertexArray(unsafe { glow_context() @@ -677,7 +682,6 @@ impl Drop for VertexArray { unsafe { glow_context().delete_vertex_array(self.0); } - self.0 = glow::VertexArray::default(); } } @@ -710,11 +714,11 @@ pub const READ_ONLY: Access = gl::READ_ONLY; pub const WRITE_ONLY: Access = gl::WRITE_ONLY; /// `Buffer` is a storage for vertex data. -#[derive(Default)] pub struct Buffer(glow::Buffer); impl Buffer { /// Allocates a new Buffer. + #[allow(clippy::new_without_default)] pub fn new() -> Buffer { Buffer(unsafe { glow_context() @@ -755,7 +759,7 @@ impl Buffer { unsafe { MappedBuffer { inner: Vec::from_raw_parts( - glow_context().map_buffer_range(target, 0, length as i32, access) as *mut u8, + glow_context().map_buffer_range(target, 0, length as i32, access), 0, length, ), @@ -809,7 +813,6 @@ pub const COLOR_ATTACHMENT_1: Attachment = gl::COLOR_ATTACHMENT1; pub const COLOR_ATTACHMENT_2: Attachment = gl::COLOR_ATTACHMENT2; pub const DEPTH_ATTACHMENT: Attachment = gl::DEPTH_ATTACHMENT; -#[derive(Default)] pub struct Framebuffer(glow::Framebuffer); pub fn check_framebuffer_status() { @@ -855,6 +858,7 @@ pub fn check_gl_error() { } impl Framebuffer { + #[allow(clippy::new_without_default)] pub fn new() -> Framebuffer { Framebuffer(unsafe { glow_context() diff --git a/src/main.rs b/src/main.rs index d2c249f6..74dfb130 100644 --- a/src/main.rs +++ b/src/main.rs @@ -20,13 +20,32 @@ use copypasta::nop_clipboard; use copypasta::ClipboardContext; use copypasta::ClipboardProvider; +use glutin::config::Api; +use glutin::config::ConfigTemplateBuilder; +use glutin::context::ContextApi; +use glutin::context::ContextAttributesBuilder; +use glutin::context::GlContext; +use glutin::context::NotCurrentGlContext; +use glutin::display::GetGlDisplay; +use glutin::display::GlDisplay; +use glutin::surface::GlSurface; +use glutin::surface::SwapInterval; +use glutin_winit::DisplayBuilder; +use glutin_winit::GlWindow; #[cfg(target_os = "linux")] -use glutin::platform::unix::EventLoopWindowTargetExtUnix; use instant::{Duration, Instant}; use leafish_protocol::protocol::login::AccountType; use log::{debug, error, info, warn}; +use raw_window_handle::HasRawWindowHandle; use shared::Version; use std::fs; +use std::num::NonZeroU32; +use winit::keyboard::Key; +use winit::keyboard::ModifiersKeyState; +use winit::keyboard::NamedKey; +use winit::keyboard::SmolStr; +use winit::raw_window_handle::HasDisplayHandle; +use winit::raw_window_handle::RawDisplayHandle; extern crate leafish_shared as shared; use structopt::StructOpt; @@ -84,7 +103,7 @@ pub struct Game { renderer: Arc, screen_sys: Arc, resource_manager: Arc>, - clipboard_provider: Arc>>, + clipboard_provider: Mutex>, console: Arc>, vars: Rc, should_close: bool, @@ -213,6 +232,7 @@ struct Opt { // TODO: Fix pistons. fn main() { let opt = Opt::from_args(); + #[allow(clippy::arc_with_non_send_sync)] let con = Arc::new(Mutex::new(console::Console::new())); let proxy = console::ConsoleProxy::new(con.clone()); @@ -237,49 +257,82 @@ fn main() { let (res, mut resui) = resources::Manager::new(); let resource_manager = Arc::new(RwLock::new(res)); - let events_loop = winit::event_loop::EventLoop::new(); + let events_loop = winit::event_loop::EventLoop::new().unwrap(); let window_builder = winit::window::WindowBuilder::new() .with_title("Leafish") - .with_inner_size(winit::dpi::LogicalSize::new(854.0, 480.0)) - .with_maximized(true); // Why are we using this particular value here? - - let (context, shader_version, dpi_factor, glutin_window) = { - let glutin_window = glutin::ContextBuilder::new() - .with_stencil_buffer(0) - .with_depth_buffer(24) - .with_gl(glutin::GlRequest::GlThenGles { - opengl_version: (3, 2), - opengles_version: (3, 0), + .with_inner_size(winit::dpi::LogicalSize::new(854.0, 480.0)) // Why are we using this particular value here? + .with_maximized(true); + + let (context, shader_version, dpi_factor, window, surface, display) = { + let template = ConfigTemplateBuilder::new() + .with_stencil_size(0) + .with_depth_size(24) + .with_api(Api::GLES3.union(Api::OPENGL)); + let display_builder = DisplayBuilder::new().with_window_builder(Some(window_builder)); + + let (window, gl_config) = display_builder + .build(&events_loop, template, |mut configs| { + configs.next().unwrap() }) - .with_gl_profile(glutin::GlProfile::Core) - .with_vsync(vsync) - .build_windowed(window_builder, &events_loop) - .expect("Could not create glutin window."); - let dpi_factor = glutin_window.window().scale_factor(); - - let glutin_window = unsafe { - glutin_window - .make_current() - .expect("Could not set current context.") + .unwrap(); + + let raw_window_handle = window.as_ref().map(|window| window.raw_window_handle()); + let gl_display = gl_config.display(); + let context_attributes = ContextAttributesBuilder::new().build(raw_window_handle); + + let fallback_context_attributes = ContextAttributesBuilder::new() + .with_context_api(ContextApi::Gles(None)) + .build(raw_window_handle); + + let not_current_gl_context = unsafe { + gl_display + .create_context(&gl_config, &context_attributes) + .unwrap_or_else(|_| { + gl_display + .create_context(&gl_config, &fallback_context_attributes) + .expect("failed to create context") + }) }; - let context = unsafe { - glow::Context::from_loader_function(|s| glutin_window.get_proc_address(s) as *const _) + let shader_version = match not_current_gl_context.context_api() { + ContextApi::OpenGl(_) => "#version 150", // OpenGL 3.2 + ContextApi::Gles(_) => "#version 300 es", // OpenGL ES 3.0 (similar to WebGL 2) }; - let shader_version = match glutin_window.get_api() { - glutin::Api::OpenGl => "#version 150", // OpenGL 3.2 - glutin::Api::OpenGlEs => "#version 300 es", // OpenGL ES 3.0 (similar to WebGL 2) - glutin::Api::WebGl => { - panic!("unexpectedly received WebGl API with glutin, expected to use glow codepath") - } + let window = window.unwrap(); + + let attrs = window.build_surface_attributes(Default::default()); + let gl_surface = unsafe { + gl_config + .display() + .create_window_surface(&gl_config, &attrs) + .unwrap() }; - (context, shader_version, dpi_factor, glutin_window) + // Make it current. + let gl_context = not_current_gl_context.make_current(&gl_surface).unwrap(); + + if vsync { + // Try setting vsync. + if let Err(res) = gl_surface + .set_swap_interval(&gl_context, SwapInterval::Wait(NonZeroU32::new(1).unwrap())) + { + eprintln!("Error setting vsync: {res:?}"); + } + } + + ( + gl_context, + shader_version, + window.scale_factor(), + window, + gl_surface, + gl_display, + ) }; - gl::init(context); + gl::init(&display); info!("Shader version: {}", shader_version); let renderer = render::Renderer::new(resource_manager.clone(), shader_version); @@ -297,13 +350,12 @@ fn main() { if let Some((name, uuid, token)) = opt .name .clone() - .map(|name| { + .and_then(|name| { opt.uuid .clone() .map(|uuid| opt.token.clone().map(|token| (name, uuid, token))) }) .flatten() - .flatten() { println!("Got microsoft credentials, adding account..."); accounts.push(Account { @@ -326,15 +378,25 @@ fn main() { ); #[cfg(target_os = "linux")] - let clipboard: Box = match events_loop.wayland_display() { - Some(display) => { - debug!("Configured with wayland clipboard"); - // NOTE: Since this takes a pointer to the winit event loop, it MUST be dropped first. - unsafe { - Box::new(copypasta::wayland_clipboard::create_clipboards_from_external(display).1) + let clipboard: Box = match events_loop.display_handle() { + Ok(display) => { + match display.as_raw() { + RawDisplayHandle::Wayland(wayland) => { + debug!("Configured with wayland clipboard"); + // NOTE: Since this takes a pointer to the winit event loop, it MUST be dropped first. + unsafe { + Box::new( + copypasta::wayland_clipboard::create_clipboards_from_external( + wayland.display.as_ptr(), + ) + .1, + ) + } + } + _ => create_clipboard(), } } - None => create_clipboard(), + Err(_) => create_clipboard(), }; #[cfg(not(target_os = "linux"))] @@ -360,7 +422,7 @@ fn main() { is_logo_pressed: false, is_fullscreen: false, default_protocol_version, - clipboard_provider: Arc::new(RwLock::new(clipboard)), + clipboard_provider: Mutex::new(clipboard), current_account: active_account, }; game.renderer.camera.lock().pos = cgmath::Point3::new(0.5, 13.2, 0.5); @@ -381,47 +443,51 @@ fn main() { let game = Rc::clone(&game); let ui_container = Rc::clone(&ui_container); - events_loop.run(move |event, _event_loop, control_flow| { - let winit_window = glutin_window.window(); - - let mut game = game.borrow_mut(); - let mut ui_container = ui_container.borrow_mut(); - *control_flow = winit::event_loop::ControlFlow::Poll; - - if let winit::event::Event::WindowEvent { - event: winit::event::WindowEvent::Resized(physical_size), - .. - } = event - { - glutin_window.resize(physical_size); - } + events_loop + .run(move |event, event_loop| { + let mut game = game.borrow_mut(); + let mut ui_container = ui_container.borrow_mut(); + event_loop.set_control_flow(winit::event_loop::ControlFlow::Poll); + + if let winit::event::Event::WindowEvent { + event: winit::event::WindowEvent::Resized(physical_size), + .. + } = event + { + surface.resize( + &context, + NonZeroU32::new(physical_size.width).unwrap(), + NonZeroU32::new(physical_size.height).unwrap(), + ); + } - if !handle_window_event(winit_window, &mut game, &mut ui_container, event) { - return; - } + if !handle_window_event(&window, &mut game, &mut ui_container, event) { + return; + } - let start = Instant::now(); - tick_all( - winit_window, - &mut game, - &mut ui_container, - &mut last_frame, - &mut resui, - &mut last_resource_version, - &mut vsync, - ); - if DEBUG { - let dist = Instant::now().checked_duration_since(start); - debug!("Ticking took {}", dist.unwrap().as_millis()); - } - glutin_window - .swap_buffers() - .expect("Failed to swap GL buffers"); + let start = Instant::now(); + tick_all( + &window, + &mut game, + &mut ui_container, + &mut last_frame, + &mut resui, + &mut last_resource_version, + &mut vsync, + ); + if DEBUG { + let dist = Instant::now().checked_duration_since(start); + debug!("Ticking took {}", dist.unwrap().as_millis()); + } + surface + .swap_buffers(&context) + .expect("Failed to swap GL buffers"); - if game.should_close { - *control_flow = winit::event_loop::ControlFlow::Exit; - } - }); + if game.should_close { + event_loop.exit(); + } + }) + .unwrap(); } const DEBUG: bool = false; @@ -595,7 +661,7 @@ fn handle_window_event( ) -> bool { use winit::event::*; match event { - Event::MainEventsCleared => return true, + Event::AboutToWait => return true, Event::DeviceEvent { event: DeviceEvent::MouseMotion { delta: (xrel, yrel), @@ -673,26 +739,18 @@ fn handle_window_event( Event::WindowEvent { event, .. } => { match event { WindowEvent::ModifiersChanged(modifiers_state) => { - game.is_ctrl_pressed = modifiers_state.ctrl(); - game.is_logo_pressed = modifiers_state.logo(); + game.is_ctrl_pressed = modifiers_state.lcontrol_state() + == ModifiersKeyState::Pressed + || modifiers_state.rcontrol_state() == ModifiersKeyState::Pressed; + game.is_logo_pressed = modifiers_state.lsuper_state() + == ModifiersKeyState::Pressed + || modifiers_state.rsuper_state() == ModifiersKeyState::Pressed; } WindowEvent::CloseRequested => game.should_close = true, WindowEvent::ScaleFactorChanged { scale_factor, .. } => { game.dpi_factor = scale_factor; } - WindowEvent::ReceivedCharacter(codepoint) => { - if !game.focused && !game.is_ctrl_pressed && !game.is_logo_pressed { - ui_container.key_type(game, codepoint); - game.screen_sys.clone().receive_char(codepoint, game); - } - - #[cfg(target_os = "macos")] - if game.is_logo_pressed && codepoint == 'q' { - game.should_close = true; - } - } - WindowEvent::MouseInput { state, button, .. } => match (state, button) { (ElementState::Released, MouseButton::Left) => { let physical_size = window.inner_size(); @@ -756,39 +814,54 @@ fn handle_window_event( } } } - WindowEvent::KeyboardInput { input, .. } => { - match (input.state, input.virtual_keycode) { - (ElementState::Pressed, Some(VirtualKeyCode::Grave)) => { - game.console.lock().toggle(); - } - (ElementState::Pressed, Some(VirtualKeyCode::F11)) => { - if !game.is_fullscreen { - // TODO: support options for exclusive and simple fullscreen - // see https://docs.rs/glutin/0.22.0-alpha5/glutin/window/struct.Window.html#method.set_fullscreen - window.set_fullscreen(Some(winit::window::Fullscreen::Borderless( - window.current_monitor(), - ))); - } else { - window.set_fullscreen(None); + WindowEvent::KeyboardInput { event, .. } => { + const SEMICOLON: Key = Key::Character(SmolStr::new_inline(";")); + if event.state == ElementState::Pressed && event.logical_key == SEMICOLON { + game.console.lock().toggle(); + } else { + match (event.state, event.logical_key) { + (ElementState::Pressed, Key::Named(NamedKey::F11)) => { + if !game.is_fullscreen { + // TODO: support options for exclusive and simple fullscreen + // see https://docs.rs/glutin/0.22.0-alpha5/glutin/window/struct.Window.html#method.set_fullscreen + window.set_fullscreen(Some( + winit::window::Fullscreen::Borderless( + window.current_monitor(), + ), + )); + } else { + window.set_fullscreen(None); + } + + game.is_fullscreen = !game.is_fullscreen; } - - game.is_fullscreen = !game.is_fullscreen; - } - (ElementState::Pressed, Some(key)) => { - if !game.focused { - let ctrl_pressed = game.is_ctrl_pressed || game.is_logo_pressed; - ui_container.key_press(game, key, true, ctrl_pressed); + (ElementState::Pressed, key) => { + #[cfg(target_os = "macos")] + if game.is_logo_pressed && key.eq_ignore_case('q') { + game.should_close = true; + } + if !game.focused { + let ctrl_pressed = game.is_ctrl_pressed || game.is_logo_pressed; + ui_container.key_press(game, key.clone(), true, ctrl_pressed); + } + game.screen_sys.clone().press_key( + (key, event.physical_key), + true, + game, + ); } - game.screen_sys.clone().press_key(key, true, game); - } - (ElementState::Released, Some(key)) => { - if !game.focused { - let ctrl_pressed = game.is_ctrl_pressed; - ui_container.key_press(game, key, false, ctrl_pressed); + (ElementState::Released, key) => { + if !game.focused { + let ctrl_pressed = game.is_ctrl_pressed; + ui_container.key_press(game, key.clone(), false, ctrl_pressed); + } + game.screen_sys.clone().press_key( + (key, event.physical_key), + false, + game, + ); } - game.screen_sys.clone().press_key(key, false, game); } - (_, None) => (), } } _ => (), @@ -816,3 +889,25 @@ fn create_clipboard() -> Box { } } } + +pub trait KeyCmp { + fn eq_ignore_case(&self, other: char) -> bool; +} + +impl KeyCmp for Key { + fn eq_ignore_case(&self, other: char) -> bool { + match self { + Key::Character(content) => { + if content.as_str().len() != 1 { + return false; + } + let chr = content.as_str().chars().next().unwrap(); + if !other.is_alphabetic() { + return chr == other; + } + chr.to_ascii_lowercase() == other || chr.to_ascii_uppercase() == other + } + _ => false, + } + } +} diff --git a/src/model/mod.rs b/src/model/mod.rs index 5ae87572..d2303069 100644 --- a/src/model/mod.rs +++ b/src/model/mod.rs @@ -124,8 +124,8 @@ impl Factory { for rule in &model.multipart { let ok = Self::eval_rules(block, &rule.rules); if ok { - if res.is_some() { - res.as_mut().unwrap().join(rule.apply.choose_model(rng)); + if let Some(res) = &mut res { + res.join(rule.apply.choose_model(rng)); } else { res = Some(rule.apply.choose_model(rng).clone()); } diff --git a/src/render/hud.rs b/src/render/hud.rs index a7490ce0..b6f16efb 100644 --- a/src/render/hud.rs +++ b/src/render/hud.rs @@ -21,6 +21,7 @@ use log::debug; use parking_lot::RwLock; use rand::rngs::ThreadRng; use rand::Rng; +use winit::keyboard::{Key, NamedKey, PhysicalKey}; use crate::inventory::slot_mapping::SlotMapping; use crate::inventory::Item; @@ -35,7 +36,6 @@ use leafish_protocol::protocol::packet::play::serverbound::HeldItemChange; use leafish_protocol::types::GameMode; use std::sync::atomic::AtomicBool; -use glutin::event::VirtualKeyCode; use instant::Instant; use std::sync::atomic::Ordering as AtomicOrdering; @@ -492,17 +492,23 @@ impl Screen for Hud { } } - fn on_key_press(&mut self, key: VirtualKeyCode, down: bool, game: &mut Game) { - if key == VirtualKeyCode::Escape && !down && game.focused { + fn on_key_press(&mut self, key: (Key, PhysicalKey), down: bool, game: &mut Game) { + if key.0 == Key::Named(NamedKey::Escape) && !down && game.focused { game.screen_sys .add_screen(Box::new(screen::SettingsMenu::new(game.vars.clone(), true))); return; } - if let Some(action_key) = settings::Actionkey::get_by_keycode(key, &game.vars) { - game.server - .as_ref() - .unwrap() - .key_press(down, action_key, &mut game.focused.clone()); + match key.1 { + PhysicalKey::Code(code) => { + if let Some(action_key) = settings::Actionkey::get_by_keycode(code, &game.vars) { + game.server.as_ref().unwrap().key_press( + down, + action_key, + &mut game.focused.clone(), + ); + } + } + PhysicalKey::Unidentified(_) => {} } } diff --git a/src/render/inventory.rs b/src/render/inventory.rs index 08340c8e..9923747e 100644 --- a/src/render/inventory.rs +++ b/src/render/inventory.rs @@ -4,9 +4,9 @@ use crate::render::Renderer; use crate::screen::{Screen, ScreenSystem}; use crate::ui::{Container, ImageRef, TextBoxRef, TextRef, VAttach}; use crate::{ui, Game}; -use glutin::event::VirtualKeyCode; use parking_lot::RwLock; use std::sync::Arc; +use winit::keyboard::{Key, NamedKey, PhysicalKey}; #[derive(Clone)] pub struct InventoryWindow { @@ -97,8 +97,8 @@ impl Screen for InventoryWindow { ); } - fn on_key_press(&mut self, key: VirtualKeyCode, down: bool, game: &mut Game) { - if key == VirtualKeyCode::Escape && !down { + fn on_key_press(&mut self, key: (Key, PhysicalKey), down: bool, game: &mut Game) { + if key.0 == Key::Named(NamedKey::Escape) && !down { self.inventory_context .write() .try_close_inventory(game.screen_sys.clone()); diff --git a/src/screen/chat.rs b/src/screen/chat.rs index 5fc4353d..07d1581a 100644 --- a/src/screen/chat.rs +++ b/src/screen/chat.rs @@ -18,15 +18,15 @@ use crate::protocol::packet; use crate::render::hud::{Hud, START_TICKS}; use crate::render::{hud, Renderer}; use crate::screen::{Screen, ScreenSystem, ScreenType}; -use crate::ui; use crate::ui::{Container, FormattedRef, HAttach, ImageRef, TextBuilder, TextRef, VAttach}; use crate::Game; +use crate::{ui, KeyCmp}; use core::cmp; -use glutin::event::VirtualKeyCode; use leafish_protocol::format::Component; use parking_lot::RwLock; use shared::Version; use std::sync::atomic::{AtomicBool, Ordering}; +use winit::keyboard::{Key, NamedKey, PhysicalKey}; pub const MAX_MESSAGES: usize = 200; const MAX_MESSAGE_LENGTH_PRE_1_11: usize = 100; @@ -259,12 +259,12 @@ impl super::Screen for Chat { self.on_active(screen_sys, renderer, ui_container); } - fn on_key_press(&mut self, key: VirtualKeyCode, down: bool, game: &mut Game) { - if key == VirtualKeyCode::Escape && !down { + fn on_key_press(&mut self, key: (Key, PhysicalKey), down: bool, game: &mut Game) { + if key.0 == Key::Named(NamedKey::Escape) && !down { game.screen_sys.clone().pop_screen(); return; } - if key == VirtualKeyCode::Return && !down { + if key.0 == Key::Named(NamedKey::Enter) && !down { if !self.written.is_empty() { game.server.as_ref().unwrap().clone().write_packet( packet::play::serverbound::ChatMessage { @@ -275,8 +275,8 @@ impl super::Screen for Chat { game.screen_sys.clone().pop_screen(); return; } - if key == VirtualKeyCode::V && game.is_ctrl_pressed { - if let Ok(clipboard) = game.clipboard_provider.clone().write().get_contents() { + if key.0.eq_ignore_case('v') && game.is_ctrl_pressed { + if let Ok(clipboard) = game.clipboard_provider.lock().get_contents() { for c in clipboard.chars() { if self.written.len() >= if game @@ -298,42 +298,36 @@ impl super::Screen for Chat { } self.dirty_written = true; } + return; } - } - - fn on_char_receive(&mut self, received: char, game: &mut Game) { - if received != 13 as char - && received != 127 as char - && received != 167 as char - && received != '§' - && received <= 255 as char - { - if received == 8 as char { - // Handle backspace - if !self.written.is_empty() { - self.written.pop(); - self.dirty_written = true; - } - return; + if key.0 == Key::Named(NamedKey::Backspace) { + // Handle backspace + if !self.written.is_empty() { + self.written.pop(); + self.dirty_written = true; } - if self.written.len() - >= if game - .server - .as_ref() - .unwrap() - .clone() - .mapped_protocol_version - >= Version::V1_11 + return; + } + if let Some(str) = key.0.to_text() { + if str.len() != 1 { + panic!("weird input!"); + } + const ILLEGAL_CHARS: &[char] = + &[13 as char, 127 as char, 167 as char, '§', 255 as char]; + let curr = str.chars().next().unwrap(); + if !ILLEGAL_CHARS.iter().any(|illegal| curr == *illegal) { + if self.written.len() + >= if game.server.as_ref().unwrap().mapped_protocol_version >= Version::V1_11 { + MAX_MESSAGE_LENGTH_SINCE_1_11 + } else { + MAX_MESSAGE_LENGTH_PRE_1_11 + } { - MAX_MESSAGE_LENGTH_SINCE_1_11 - } else { - MAX_MESSAGE_LENGTH_PRE_1_11 + return; } - { - return; + self.written.push_str(str); + self.dirty_written = true; } - self.written.push(received); - self.dirty_written = true; } } diff --git a/src/screen/launcher.rs b/src/screen/launcher.rs index 2c41b8fd..c49462cf 100644 --- a/src/screen/launcher.rs +++ b/src/screen/launcher.rs @@ -80,6 +80,7 @@ impl Launcher { } impl super::Screen for Launcher { + #[allow(clippy::get_first)] fn on_active( &mut self, _screen_sys: &ScreenSystem, diff --git a/src/screen/login.rs b/src/screen/login.rs index da7bf221..2419be04 100644 --- a/src/screen/login.rs +++ b/src/screen/login.rs @@ -300,6 +300,7 @@ pub fn try_login( static DEFAULT_PW: String = String::new(); +#[allow(clippy::get_first)] fn try_login_account( refresh: bool, account: Account, diff --git a/src/screen/mod.rs b/src/screen/mod.rs index d46c0a40..328973b4 100644 --- a/src/screen/mod.rs +++ b/src/screen/mod.rs @@ -39,7 +39,9 @@ use parking_lot::{Mutex, RwLock}; use std::sync::atomic::{AtomicIsize, Ordering}; use std::sync::Arc; use winit::dpi::{PhysicalPosition, Position}; -use winit::event::VirtualKeyCode; +use winit::keyboard::Key; +use winit::keyboard::NamedKey; +use winit::keyboard::PhysicalKey; use winit::window::Window; pub trait Screen { @@ -93,14 +95,12 @@ pub trait Screen { ) { } // TODO: make non-optional! - fn on_key_press(&mut self, key: VirtualKeyCode, down: bool, game: &mut Game) { - if key == VirtualKeyCode::Escape && !down && self.is_closable() { + fn on_key_press(&mut self, key: (Key, PhysicalKey), down: bool, game: &mut Game) { + if key.0 == Key::Named(NamedKey::Escape) && !down && self.is_closable() { game.screen_sys.pop_screen(); } } - fn on_char_receive(&mut self, _received: char, _game: &mut Game) {} - fn is_closable(&self) -> bool { false } @@ -215,13 +215,7 @@ impl ScreenSystem { ScreenType::Other(String::new()) } - pub fn receive_char(&self, received: char, game: &mut Game) { - if let Some(screen) = self.screens.clone().read().last() { - screen.screen.clone().lock().on_char_receive(received, game); - } - } - - pub fn press_key(&self, key: VirtualKeyCode, down: bool, game: &mut Game) { + pub fn press_key(&self, key: (Key, PhysicalKey), down: bool, game: &mut Game) { if let Some(screen) = self.screens.clone().read().last() { screen.screen.clone().lock().on_key_press(key, down, game); } @@ -274,6 +268,7 @@ impl ScreenSystem { .skip(lowest as usize) { let idx = (self.screens.read().len() as isize - 1).max(0) as usize; + #[allow(clippy::arc_with_non_send_sync)] self.screens.write().push(ScreenInfo { screen: Arc::new(Mutex::new(screen.clone())), active: false, diff --git a/src/screen/server_list.rs b/src/screen/server_list.rs index ba84d0d5..81bbd11e 100644 --- a/src/screen/server_list.rs +++ b/src/screen/server_list.rs @@ -29,6 +29,8 @@ use crate::render::hud::{Hud, HudContext}; use crate::render::Renderer; use crate::screen::{Screen, ScreenSystem}; use crate::ui::Container; +use base64::engine::general_purpose::STANDARD; +use base64::Engine; use crossbeam_channel::unbounded; use crossbeam_channel::{Receiver, TryRecvError}; use instant::Duration; @@ -241,7 +243,6 @@ impl ServerList { .alignment(ui::VAttach::Middle, ui::HAttach::Center) .attach(&mut *btn); btn.add_text(txt); - let index = index; let sname = name.clone(); let saddr = address.clone(); btn.add_click_func(move |_, game| { @@ -275,7 +276,6 @@ impl ServerList { .alignment(ui::VAttach::Middle, ui::HAttach::Center) .attach(&mut *btn); btn.add_text(txt); - let index = index; let sname = name.clone(); let saddr = address.clone(); btn.add_click_func(move |_, game| { @@ -320,7 +320,7 @@ impl ServerList { let data_base64 = &icon["data:image/png;base64,".len()..]; let data_base64: String = data_base64.chars().filter(|c| !c.is_whitespace()).collect(); - let data = base64::decode(data_base64).unwrap(); + let data = STANDARD.decode(data_base64).unwrap(); Some(image::load_from_memory(&data).unwrap()) } else { None diff --git a/src/server/mod.rs b/src/server/mod.rs index 6086221f..144424f7 100644 --- a/src/server/mod.rs +++ b/src/server/mod.rs @@ -36,6 +36,8 @@ use crate::world; use crate::world::{CPos, LightData, LightUpdate}; use crate::{ecs, Game}; use atomic_float::AtomicF64; +use base64::engine::general_purpose::STANDARD; +use base64::Engine; use bevy_ecs::prelude::{Entity, Stage, SystemStage}; use cgmath::prelude::*; use cgmath::Vector3; @@ -2246,7 +2248,7 @@ impl Server { // authlib. We could download authlib on startup and extract // the key but this seems like overkill compared to just // whitelisting Mojang's texture servers instead. - let skin_blob_result = &base64::decode(&prop.value); + let skin_blob_result = &STANDARD.decode(&prop.value); let skin_blob = match skin_blob_result { Ok(val) => val, Err(err) => { diff --git a/src/settings.rs b/src/settings.rs index c16efcd1..ef2805fd 100644 --- a/src/settings.rs +++ b/src/settings.rs @@ -1,7 +1,8 @@ +use winit::keyboard::KeyCode; + use crate::console; use crate::console::CVar; use std::marker::PhantomData; -use winit::event::VirtualKeyCode; pub const R_MAX_FPS: console::CVar = console::CVar { ty: PhantomData, @@ -120,28 +121,34 @@ macro_rules! create_keybind { description: $description, mutable: true, serializable: true, - default: &|| VirtualKeyCode::$keycode as i64, + default: &|| KeyCode::$keycode as i64, } }; } pub const CL_KEYBIND_FORWARD: console::CVar = - create_keybind!(W, "cl_keybind_forward", "Keybinding for moving forward"); -pub const CL_KEYBIND_BACKWARD: console::CVar = - create_keybind!(S, "cl_keybind_backward", "Keybinding for moving backward"); + create_keybind!(KeyW, "cl_keybind_forward", "Keybinding for moving forward"); +pub const CL_KEYBIND_BACKWARD: console::CVar = create_keybind!( + KeyS, + "cl_keybind_backward", + "Keybinding for moving backward" +); pub const CL_KEYBIND_LEFT: console::CVar = - create_keybind!(A, "cl_keybind_left", "Keybinding for moving the left"); -pub const CL_KEYBIND_RIGHT: console::CVar = - create_keybind!(D, "cl_keybind_right", "Keybinding for moving to the right"); + create_keybind!(KeyA, "cl_keybind_left", "Keybinding for moving the left"); +pub const CL_KEYBIND_RIGHT: console::CVar = create_keybind!( + KeyD, + "cl_keybind_right", + "Keybinding for moving to the right" +); pub const CL_KEYBIND_OPEN_INV: console::CVar = create_keybind!( - E, + KeyE, "cl_keybind_open_inv", "Keybinding for opening the inventory" ); pub const CL_KEYBIND_SNEAK: console::CVar = - create_keybind!(LShift, "cl_keybind_sneak", "Keybinding for sneaking"); + create_keybind!(ShiftLeft, "cl_keybind_sneak", "Keybinding for sneaking"); pub const CL_KEYBIND_SPRINT: console::CVar = - create_keybind!(LControl, "cl_keybind_sprint", "Keybinding for sprinting"); + create_keybind!(ControlLeft, "cl_keybind_sprint", "Keybinding for sprinting"); pub const CL_KEYBIND_JUMP: console::CVar = create_keybind!(Space, "cl_keybind_jump", "Keybinding for jumping"); pub const CL_KEYBIND_TOGGLE_HUD: console::CVar = create_keybind!( @@ -155,7 +162,7 @@ pub const CL_KEYBIND_TOGGLE_DEBUG: console::CVar = create_keybind!( "Keybinding for toggling the debug info" ); pub const CL_KEYBIND_TOGGLE_CHAT: console::CVar = create_keybind!( - T, + KeyT, "cl_keybind_toggle_chat", "Keybinding for toggling the chat" ); @@ -233,7 +240,7 @@ impl Actionkey { &Self::VALUES } - pub fn get_by_keycode(keycode: VirtualKeyCode, vars: &console::Vars) -> Option { + pub fn get_by_keycode(keycode: KeyCode, vars: &console::Vars) -> Option { for action_key in Actionkey::values() { if keycode as i64 == *vars.get(action_key.get_cvar()) { return Some(*action_key); diff --git a/src/ui/mod.rs b/src/ui/mod.rs index 9e115085..07dc0852 100644 --- a/src/ui/mod.rs +++ b/src/ui/mod.rs @@ -16,10 +16,11 @@ pub mod logo; use crate::format; use crate::render; +use crate::KeyCmp; use std::cell::{RefCell, RefMut}; use std::rc::{Rc, Weak}; use std::sync::Arc; -use winit::event::VirtualKeyCode; +use winit::keyboard::{Key, NamedKey}; const SCALED_WIDTH: f64 = 854.0; const SCALED_HEIGHT: f64 = 480.0; @@ -185,7 +186,7 @@ macro_rules! define_elements { } } - fn key_press(&self, game: &mut crate::Game, key: VirtualKeyCode, down: bool, ctrl_pressed: bool) { + fn key_press(&self, game: &mut crate::Game, key: Key, down: bool, ctrl_pressed: bool) { match *self { $( Element::$name(ref inner) => { @@ -428,14 +429,8 @@ impl Container { focusables[next_focus].set_focused(true); } - pub fn key_press( - &mut self, - game: &mut crate::Game, - key: VirtualKeyCode, - down: bool, - ctrl_pressed: bool, - ) { - if key == VirtualKeyCode::Tab { + pub fn key_press(&mut self, game: &mut crate::Game, key: Key, down: bool, ctrl_pressed: bool) { + if key == Key::Named(NamedKey::Tab) { if !down { self.cycle_focus(); } @@ -443,7 +438,7 @@ impl Container { } for el in self.focusable_elements.iter().flat_map(|v| v.upgrade()) { if el.is_focused() { - el.key_press(game, key, down, ctrl_pressed); + el.key_press(game, key.clone(), down, ctrl_pressed); } } } @@ -511,14 +506,7 @@ trait UIElement { fn get_size(&self) -> (f64, f64); fn is_dirty(&self) -> bool; fn post_init(_: Rc>) {} - fn key_press( - &mut self, - _game: &mut crate::Game, - _key: VirtualKeyCode, - _down: bool, - _ctrl_pressed: bool, - ) { - } + fn key_press(&mut self, _game: &mut crate::Game, _key: Key, _down: bool, _ctrl_pressed: bool) {} fn key_type(&mut self, _game: &mut crate::Game, _c: char) {} fn tick(&mut self, renderer: Arc); } @@ -1617,30 +1605,19 @@ impl UIElement for TextBox { ); } - fn key_press( - &mut self, - game: &mut crate::Game, - key: VirtualKeyCode, - down: bool, - ctrl_pressed: bool, - ) { - match (key, down) { - (VirtualKeyCode::Return, false) => { - use std::mem; - let len = self.submit_funcs.len(); - let mut temp = mem::replace(&mut self.submit_funcs, Vec::with_capacity(len)); - for func in &temp { - (func)(self, game); - } - self.submit_funcs.append(&mut temp); + fn key_press(&mut self, game: &mut crate::Game, key: Key, down: bool, ctrl_pressed: bool) { + if key == Key::Named(NamedKey::Enter) && !down { + use std::mem; + let len = self.submit_funcs.len(); + let mut temp = mem::replace(&mut self.submit_funcs, Vec::with_capacity(len)); + for func in &temp { + (func)(self, game); } - (VirtualKeyCode::V, true) if ctrl_pressed => { - let mut clipboard = game.clipboard_provider.write(); - if let Ok(text) = clipboard.get_contents() { - self.input.push_str(&text) - } + self.submit_funcs.append(&mut temp); + } else if key.eq_ignore_case('v') && down && ctrl_pressed { + if let Ok(text) = game.clipboard_provider.lock().get_contents() { + self.input.push_str(&text) } - _ => {} } }