From 1219079c95303c3f6c09852ad603f3594aae1710 Mon Sep 17 00:00:00 2001 From: Elijah Voigt Date: Wed, 22 Nov 2023 14:45:21 -0800 Subject: [PATCH] Most of the update for Bevy 0.12 Stuck on a weird Animation error... --- Cargo.lock | 913 +++++++++++++++++++++++++++++++++-------------- Cargo.toml | 20 +- src/audio.rs | 44 ++- src/credits.rs | 44 ++- src/debug.rs | 47 +-- src/display2d.rs | 2 +- src/display3d.rs | 11 +- src/game.rs | 4 +- src/loading.rs | 54 ++- src/main.rs | 9 +- src/menu.rs | 2 +- 11 files changed, 789 insertions(+), 361 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e08736e..219f206 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -20,24 +20,24 @@ checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" [[package]] name = "accesskit" -version = "0.11.2" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76eb1adf08c5bcaa8490b9851fd53cca27fa9880076f178ea9d29f05196728a8" +checksum = "ca8410747ed85a17c4a1e9ed3f5a74d3e7bdcc876cf9a18ff40ae21d645997b2" [[package]] name = "accesskit_consumer" -version = "0.15.2" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04bb4d9e4772fe0d47df57d0d5dbe5d85dd05e2f37ae1ddb6b105e76be58fb00" +checksum = "8c17cca53c09fbd7288667b22a201274b9becaa27f0b91bf52a526db95de45e6" dependencies = [ "accesskit", ] [[package]] name = "accesskit_macos" -version = "0.9.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "134d0acf6acb667c89d3332999b1a5df4edbc8d6113910f392ebb73f2b03bb56" +checksum = "cd3b6ae1eabbfbced10e840fd3fce8a93ae84f174b3e4ba892ab7bcb42e477a7" dependencies = [ "accesskit", "accesskit_consumer", @@ -47,23 +47,23 @@ dependencies = [ [[package]] name = "accesskit_windows" -version = "0.14.3" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9eac0a7f2d7cd7a93b938af401d3d8e8b7094217989a7c25c55a953023436e31" +checksum = "afcae27ec0974fc7c3b0b318783be89fd1b2e66dd702179fe600166a38ff4a0b" dependencies = [ "accesskit", "accesskit_consumer", - "arrayvec", "once_cell", "paste", + "static_assertions", "windows 0.48.0", ] [[package]] name = "accesskit_winit" -version = "0.14.4" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "825d23acee1bd6d25cbaa3ca6ed6e73faf24122a774ec33d52c5c86c6ab423c0" +checksum = "88e39fcec2e10971e188730b7a76bab60647dacc973d4591855ebebcadfaa738" dependencies = [ "accesskit", "accesskit_macos", @@ -190,6 +190,12 @@ dependencies = [ "num-traits", ] +[[package]] +name = "arrayref" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" + [[package]] name = "arrayvec" version = "0.7.4" @@ -205,6 +211,16 @@ dependencies = [ "libloading 0.7.4", ] +[[package]] +name = "async-broadcast" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b" +dependencies = [ + "event-listener 2.5.3", + "futures-core", +] + [[package]] name = "async-channel" version = "1.9.0" @@ -212,31 +228,67 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" dependencies = [ "concurrent-queue", - "event-listener", + "event-listener 2.5.3", "futures-core", ] +[[package]] +name = "async-channel" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d37875bd9915b7d67c2f117ea2c30a0989874d0b2cb694fe25403c85763c0c9e" +dependencies = [ + "concurrent-queue", + "event-listener 3.1.0", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + [[package]] name = "async-executor" version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4b0c4a4f319e45986f347ee47fef8bf5e81c9abc3f6f58dc2391439f30df65f0" dependencies = [ - "async-lock", + "async-lock 2.8.0", "async-task", "concurrent-queue", "fastrand 2.0.1", - "futures-lite", + "futures-lite 1.13.0", "slab", ] +[[package]] +name = "async-fs" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06" +dependencies = [ + "async-lock 2.8.0", + "autocfg", + "blocking", + "futures-lite 1.13.0", +] + [[package]] name = "async-lock" version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" dependencies = [ - "event-listener", + "event-listener 2.5.3", +] + +[[package]] +name = "async-lock" +version = "3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "655b9c7fe787d3b25cc0f804a1a8401790f0c5bc395beb5a64dc77d8de079105" +dependencies = [ + "event-listener 3.1.0", + "event-listener-strategy", + "pin-project-lite", ] [[package]] @@ -245,6 +297,12 @@ version = "4.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4eb2cdb97421e01129ccb49169d8279ed21e829929144f4a22a6e54ac549ca1" +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + [[package]] name = "autocfg" version = "1.1.0" @@ -280,42 +338,42 @@ checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" [[package]] name = "bevy" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91c6d3ec4f89e85294dc97334c5b271ddc301fdf67ac9bb994fe44d9273e6ed7" +checksum = "329e344f835f5a9a4c46a6d1d57371f726aa2c482d1bd669b2b9c4eb1ee91fd7" dependencies = [ "bevy_internal", ] [[package]] name = "bevy_a11y" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "132c9e35a77c5395951f6d25fa2c52ee92296353426df4f961e60f3ff47e2e42" +checksum = "271b812e5734f5056a400f7d64592dd82d6c0e6179389c2f066f433ab8bc7692" dependencies = [ "accesskit", - "bevy_app", - "bevy_derive", - "bevy_ecs", + "bevy_app 0.12.0", + "bevy_derive 0.12.0", + "bevy_ecs 0.12.0", ] [[package]] name = "bevy_animation" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f44eae3f1c35a87e38ad146f72317f19ce7616dad8bbdfb88ee752c1282d28c5" +checksum = "ab94187a1253433e14f175293d8a86ec1c2822fda2a17807908f11ec21f45f00" dependencies = [ - "bevy_app", + "bevy_app 0.12.0", "bevy_asset", "bevy_core", - "bevy_ecs", + "bevy_ecs 0.12.0", "bevy_hierarchy", "bevy_math", - "bevy_reflect", + "bevy_reflect 0.12.0", "bevy_render", "bevy_time", "bevy_transform", - "bevy_utils", + "bevy_utils 0.12.0", ] [[package]] @@ -324,38 +382,58 @@ version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f557a7d59e1e16892d7544fc37316506ee598cb5310ef0365125a30783c11531" dependencies = [ - "bevy_derive", - "bevy_ecs", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", + "bevy_derive 0.11.3", + "bevy_ecs 0.11.3", + "bevy_reflect 0.11.3", + "bevy_tasks 0.11.3", + "bevy_utils 0.11.3", "downcast-rs", "wasm-bindgen", "web-sys", ] [[package]] -name = "bevy_asset" -version = "0.11.3" +name = "bevy_app" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9714af523da4cdf58c42a317e5ed40349708ad954a18533991fd64c8ae0a6f68" +checksum = "172d532ea812e5954fa814dae003c207f2a0b20c6e50431787c94a7159677ece" dependencies = [ - "anyhow", - "async-channel", - "bevy_app", - "bevy_diagnostic", - "bevy_ecs", - "bevy_log", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", + "bevy_derive 0.12.0", + "bevy_ecs 0.12.0", + "bevy_reflect 0.12.0", + "bevy_tasks 0.12.0", + "bevy_utils 0.12.0", + "downcast-rs", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "bevy_asset" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccb2b67984088b23e223cfe9ec1befd89a110665a679acb06839bc4334ed37d6" +dependencies = [ + "async-broadcast", + "async-fs", + "async-lock 2.8.0", + "bevy_app 0.12.0", + "bevy_asset_macros", + "bevy_ecs 0.12.0", + "bevy_log 0.12.0", + "bevy_reflect 0.12.0", + "bevy_tasks 0.12.0", + "bevy_utils 0.12.0", "bevy_winit", + "blake3", "crossbeam-channel", "downcast-rs", - "fastrand 1.9.0", + "futures-io", + "futures-lite 1.13.0", "js-sys", - "notify", + "notify-debouncer-full", "parking_lot", + "ron", "serde", "thiserror", "wasm-bindgen", @@ -363,57 +441,68 @@ dependencies = [ "web-sys", ] +[[package]] +name = "bevy_asset_macros" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b3245193e90fc8abcf1059a467cb224501dcda083d114c67c10ac66b7171e3a" +dependencies = [ + "bevy_macro_utils 0.12.0", + "proc-macro2", + "quote", + "syn 2.0.39", +] + [[package]] name = "bevy_audio" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4de308bd63a2f7a0b77ffeb7cf00cc185ec01393c5db2091fe03964f97152749" +checksum = "478de80ff25cb7decbcb22797774d1597e8c32914e81431c67d64faadc08f84a" dependencies = [ - "anyhow", - "bevy_app", + "bevy_app 0.12.0", "bevy_asset", - "bevy_derive", - "bevy_ecs", + "bevy_derive 0.12.0", + "bevy_ecs 0.12.0", "bevy_math", - "bevy_reflect", + "bevy_reflect 0.12.0", "bevy_transform", - "bevy_utils", + "bevy_utils 0.12.0", "oboe", - "parking_lot", "rodio", ] [[package]] name = "bevy_core" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d5272321be5fcf5ce2fb16023bc825bb10dfcb71611117296537181ce950f48" +checksum = "025e6800b73048092a55c3611e9327ad4c4c17b60517ec1c0086bb40b4b19ea8" dependencies = [ - "bevy_app", - "bevy_ecs", + "bevy_app 0.12.0", + "bevy_ecs 0.12.0", "bevy_math", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", + "bevy_reflect 0.12.0", + "bevy_tasks 0.12.0", + "bevy_utils 0.12.0", "bytemuck", ] [[package]] name = "bevy_core_pipeline" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67382fa9c96ce4f4e5833ed7cedd9886844a8f3284b4a717bd4ac738dcdea0c3" +checksum = "2e4b08a2d53ba62d9ec1fca3f7f4e0f556e9f59e1c8e63a4b7c2a18c0701152c" dependencies = [ - "bevy_app", + "bevy_app 0.12.0", "bevy_asset", "bevy_core", - "bevy_derive", - "bevy_ecs", + "bevy_derive 0.12.0", + "bevy_ecs 0.12.0", + "bevy_log 0.12.0", "bevy_math", - "bevy_reflect", + "bevy_reflect 0.12.0", "bevy_render", "bevy_transform", - "bevy_utils", + "bevy_utils 0.12.0", "bitflags 2.4.1", "radsort", "serde", @@ -425,23 +514,34 @@ version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a44e4e2784a81430199e4157e02903a987a32127c773985506f020e7d501b62e" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.11.3", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "bevy_derive" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24bf40259be12a1a24d9fd536f5ff18d31eeb5665b77e2732899783be6edc5d6" +dependencies = [ + "bevy_macro_utils 0.12.0", "quote", "syn 2.0.39", ] [[package]] name = "bevy_diagnostic" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6babb230dc383c98fdfc9603e3a7a2a49e1e2879dbe8291059ef37dca897932e" +checksum = "41b5a99a9fb6cd7d1eb1714fad193944a0317f0887a15cccb8309c8d37951132" dependencies = [ - "bevy_app", + "bevy_app 0.12.0", "bevy_core", - "bevy_ecs", - "bevy_log", + "bevy_ecs 0.12.0", + "bevy_log 0.12.0", "bevy_time", - "bevy_utils", + "bevy_utils 0.12.0", "sysinfo", ] @@ -451,14 +551,35 @@ version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "266144b36df7e834d5198049e037ecdf2a2310a76ce39ed937d1b0a6a2c4e8c6" dependencies = [ - "async-channel", - "bevy_ecs_macros", - "bevy_ptr", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", + "async-channel 1.9.0", + "bevy_ecs_macros 0.11.3", + "bevy_ptr 0.11.3", + "bevy_reflect 0.11.3", + "bevy_tasks 0.11.3", + "bevy_utils 0.11.3", + "downcast-rs", + "event-listener 2.5.3", + "fixedbitset", + "rustc-hash", + "serde", + "thiserror", + "thread_local", +] + +[[package]] +name = "bevy_ecs" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae11a1f467c372b50e9d4b55e78370f5420c9db7416200cc441cc84f08174dd3" +dependencies = [ + "async-channel 1.9.0", + "bevy_ecs_macros 0.12.0", + "bevy_ptr 0.12.0", + "bevy_reflect 0.12.0", + "bevy_tasks 0.12.0", + "bevy_utils 0.12.0", "downcast-rs", - "event-listener", + "event-listener 2.5.3", "fixedbitset", "rustc-hash", "serde", @@ -472,7 +593,19 @@ version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7157a9c3be038d5008ee3f114feb6cf6b39c1d3d32ee21a7cacb8f81fccdfa80" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.11.3", + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "bevy_ecs_macros" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f642c2b67c4d0daf8edf15074f6351457eb487a34b3de1290c760d8f3ac9ec16" +dependencies = [ + "bevy_macro_utils 0.12.0", "proc-macro2", "quote", "syn 2.0.39", @@ -480,19 +613,18 @@ dependencies = [ [[package]] name = "bevy_encase_derive" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0ac0f55ad6bca1be7b0f35bbd5fc95ed3d31e4e9db158fee8e5327f59006001" +checksum = "65b9fb5a62c4e3ab70caaa839470d35fa932001b1b34b08bc7f7f1909bd2b3a7" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.12.0", "encase_derive_impl", ] [[package]] name = "bevy_fmod" version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e6508acdf8569c561f46f7aae93ac08da3f7df99181c54080317dd46e7b5e6e" +source = "git+https://github.com/Salzian/bevy_fmod.git?branch=update-0.12#c3580671cb662ad12ad225320b554b3085463653" dependencies = [ "anyhow", "bevy", @@ -502,64 +634,63 @@ dependencies = [ [[package]] name = "bevy_gilrs" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65f4d79c55829f8016014593a42453f61a564ffb06ef79460d25696ccdfac67b" +checksum = "ad31cc2c84315e0759d793d6c5bcb7d8789bbc16359c98d1b766e708c1bbae49" dependencies = [ - "bevy_app", - "bevy_ecs", + "bevy_app 0.12.0", + "bevy_ecs 0.12.0", "bevy_input", - "bevy_log", + "bevy_log 0.12.0", "bevy_time", - "bevy_utils", + "bevy_utils 0.12.0", "gilrs", "thiserror", ] [[package]] name = "bevy_gizmos" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e286a3e7276431963f4aa29165ea5429fa7dbbc6d5c5ba0c531e7dd44ecc88a2" +checksum = "87d1cc978b91f416b23eb16f00e69f95c3a04582021827d8082e92d4725cc510" dependencies = [ - "bevy_app", + "bevy_app 0.12.0", "bevy_asset", "bevy_core", "bevy_core_pipeline", - "bevy_ecs", + "bevy_ecs 0.12.0", "bevy_math", "bevy_pbr", - "bevy_reflect", + "bevy_reflect 0.12.0", "bevy_render", "bevy_sprite", "bevy_transform", - "bevy_utils", + "bevy_utils 0.12.0", ] [[package]] name = "bevy_gltf" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f07494a733dca032e71a20f4b1f423de765da49cbff34406ae6cd813f9b50c41" +checksum = "6f933745c0c86e2c07948def581259b466f99708328657054e956275430ccfd7" dependencies = [ - "anyhow", "base64 0.13.1", "bevy_animation", - "bevy_app", + "bevy_app 0.12.0", "bevy_asset", "bevy_core", "bevy_core_pipeline", - "bevy_ecs", + "bevy_ecs 0.12.0", "bevy_hierarchy", - "bevy_log", + "bevy_log 0.12.0", "bevy_math", "bevy_pbr", - "bevy_reflect", + "bevy_reflect 0.12.0", "bevy_render", "bevy_scene", - "bevy_tasks", + "bevy_tasks 0.12.0", "bevy_transform", - "bevy_utils", + "bevy_utils 0.12.0", "gltf", "percent-encoding", "serde", @@ -569,68 +700,68 @@ dependencies = [ [[package]] name = "bevy_hierarchy" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "103f8f58416ac6799b8c7f0b418f1fac9eba44fa924df3b0e16b09256b897e3d" +checksum = "64fa240011fce8ee23f9b46e5a26a628a31d7860d6d2e4e0e361bb3ea6d5a703" dependencies = [ - "bevy_app", + "bevy_app 0.12.0", "bevy_core", - "bevy_ecs", - "bevy_log", - "bevy_reflect", - "bevy_utils", + "bevy_ecs 0.12.0", + "bevy_log 0.12.0", + "bevy_reflect 0.12.0", + "bevy_utils 0.12.0", "smallvec", ] [[package]] name = "bevy_input" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffbd935401101ac8003f3c3aea70788c65ad03f7a32716a10608bedda7a648bc" +checksum = "9e86e241b3a10b79f65a69205552546723b855d3d4c1bd8261637c076144d32f" dependencies = [ - "bevy_app", - "bevy_ecs", + "bevy_app 0.12.0", + "bevy_ecs 0.12.0", "bevy_math", - "bevy_reflect", - "bevy_utils", + "bevy_reflect 0.12.0", + "bevy_utils 0.12.0", "thiserror", ] [[package]] name = "bevy_internal" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0e35a9b2bd29aa784b3cc416bcbf2a298f69f00ca51fd042ea39d9af7fad37e" +checksum = "55124e486814c4d3632d5cfad9c4f4e46d052c028593ec46fef5bfbfb0f840b1" dependencies = [ "bevy_a11y", "bevy_animation", - "bevy_app", + "bevy_app 0.12.0", "bevy_asset", "bevy_audio", "bevy_core", "bevy_core_pipeline", - "bevy_derive", + "bevy_derive 0.12.0", "bevy_diagnostic", - "bevy_ecs", + "bevy_ecs 0.12.0", "bevy_gilrs", "bevy_gizmos", "bevy_gltf", "bevy_hierarchy", "bevy_input", - "bevy_log", + "bevy_log 0.12.0", "bevy_math", "bevy_pbr", - "bevy_ptr", - "bevy_reflect", + "bevy_ptr 0.12.0", + "bevy_reflect 0.12.0", "bevy_render", "bevy_scene", "bevy_sprite", - "bevy_tasks", + "bevy_tasks 0.12.0", "bevy_text", "bevy_time", "bevy_transform", "bevy_ui", - "bevy_utils", + "bevy_utils 0.12.0", "bevy_window", "bevy_winit", ] @@ -642,9 +773,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07dcc615ff4f617b06c3f9522fca3c55d56f9644db293318f8ab68fcdea5d4fe" dependencies = [ "android_log-sys", - "bevy_app", - "bevy_ecs", - "bevy_utils", + "bevy_app 0.11.3", + "bevy_ecs 0.11.3", + "bevy_utils 0.11.3", + "console_error_panic_hook", + "tracing-log", + "tracing-subscriber", + "tracing-wasm", +] + +[[package]] +name = "bevy_log" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "011417debf7868b45932bb97fc0d5bfdeaf9304e324aa94840e2f1e6deeed69d" +dependencies = [ + "android_log-sys", + "bevy_app 0.12.0", + "bevy_ecs 0.12.0", + "bevy_utils 0.12.0", "console_error_panic_hook", "tracing-log", "tracing-subscriber", @@ -663,11 +810,24 @@ dependencies = [ "toml_edit 0.19.15", ] +[[package]] +name = "bevy_macro_utils" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf6fba87c6d069fcbcd8a48625ca8ab4392ad40d2b260863ce7d641a0f42986d" +dependencies = [ + "proc-macro2", + "quote", + "rustc-hash", + "syn 2.0.39", + "toml_edit 0.20.7", +] + [[package]] name = "bevy_math" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78286a81fead796dc4b45ab14f4f02fe29a94423d3587bcfef872b2a8e0a474b" +checksum = "752764558a1f429c20704c3b836a019fa308961c43fdfef4f08e339d456c96be" dependencies = [ "glam", "serde", @@ -675,9 +835,9 @@ dependencies = [ [[package]] name = "bevy_mikktspace" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cfc2a21ea47970a9b1f0f4735af3256a8f204815bd756110051d10f9d909497" +checksum = "b596c41a56f2268ec7cde560edc588bc7b5886e4b49c8b27c4dcc9f7c743424c" dependencies = [ "glam", ] @@ -689,9 +849,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce5940b047c5efb58b70ae44b2434b874788f79244267236de532e0fe95bf5ea" dependencies = [ "anyhow", - "bevy_log", + "bevy_log 0.11.3", "bevy_mod_sysfail_macros", - "bevy_utils", + "bevy_utils 0.11.3", ] [[package]] @@ -708,25 +868,28 @@ dependencies = [ [[package]] name = "bevy_pbr" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63ca796a619e61cd43a0a3b11fde54644f7f0732a1fba1eef5d406248c6eba85" +checksum = "eeb6a35a78d355cc21c10f277dcd171eca65e30a90e76eb89f4dacf606621fe1" dependencies = [ - "bevy_app", + "bevy_app 0.12.0", "bevy_asset", "bevy_core_pipeline", - "bevy_derive", - "bevy_ecs", + "bevy_derive 0.12.0", + "bevy_ecs 0.12.0", "bevy_math", - "bevy_reflect", + "bevy_reflect 0.12.0", "bevy_render", "bevy_transform", - "bevy_utils", + "bevy_utils 0.12.0", "bevy_window", "bitflags 2.4.1", "bytemuck", + "fixedbitset", "naga_oil", "radsort", + "smallvec", + "thread_local", ] [[package]] @@ -735,22 +898,43 @@ version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72c7586401a46f7d8e436028225c1df5288f2e0082d066b247a82466fea155c6" +[[package]] +name = "bevy_ptr" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "308a02679f6ce21ef71de20fae6d6a2016c07baa21d8e8d0558e6b7851e8adf2" + [[package]] name = "bevy_reflect" version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0778197a1eb3e095a71417c74b7152ede02975cdc95b5ea4ddc5251ed00a2eb5" dependencies = [ - "bevy_math", - "bevy_ptr", - "bevy_reflect_derive", - "bevy_utils", + "bevy_ptr 0.11.3", + "bevy_reflect_derive 0.11.3", + "bevy_utils 0.11.3", "downcast-rs", "erased-serde", - "glam", "once_cell", "parking_lot", "serde", + "thiserror", +] + +[[package]] +name = "bevy_reflect" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdd56914a8ad57621d7a1a099f7e6b1f7482c9c76cedc9c3d4c175a203939c5d" +dependencies = [ + "bevy_math", + "bevy_ptr 0.12.0", + "bevy_reflect_derive 0.12.0", + "bevy_utils 0.12.0", + "downcast-rs", + "erased-serde", + "glam", + "serde", "smallvec", "smol_str", "thiserror", @@ -762,7 +946,7 @@ version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "342a4b2d09db22c48607d23ad59a056aff1ee004549050a51d490d375ba29528" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.11.3", "bit-set", "proc-macro2", "quote", @@ -770,45 +954,55 @@ dependencies = [ "uuid", ] +[[package]] +name = "bevy_reflect_derive" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25f627907c40ac552f798423447fc331fc1ddacd94c5f7a2a70942eb06bc8447" +dependencies = [ + "bevy_macro_utils 0.12.0", + "proc-macro2", + "quote", + "syn 2.0.39", + "uuid", +] + [[package]] name = "bevy_render" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39df4824b760928c27afc7b00fb649c7a63c9d76661ab014ff5c86537ee906cb" +checksum = "90d777f4c51bd58e9e40777c6cb8dde0778df7e2c5298b3f9e3455bd12a9856c" dependencies = [ - "anyhow", - "async-channel", - "bevy_app", + "async-channel 1.9.0", + "bevy_app 0.12.0", "bevy_asset", "bevy_core", - "bevy_derive", - "bevy_ecs", + "bevy_derive 0.12.0", + "bevy_ecs 0.12.0", "bevy_encase_derive", "bevy_hierarchy", - "bevy_log", + "bevy_log 0.12.0", "bevy_math", "bevy_mikktspace", - "bevy_reflect", + "bevy_reflect 0.12.0", "bevy_render_macros", - "bevy_tasks", + "bevy_tasks 0.12.0", "bevy_time", "bevy_transform", - "bevy_utils", + "bevy_utils 0.12.0", "bevy_window", "bitflags 2.4.1", "bytemuck", "codespan-reporting", "downcast-rs", "encase", - "futures-lite", + "futures-lite 1.13.0", "hexasphere", "image", "js-sys", "ktx2", "naga", "naga_oil", - "parking_lot", - "regex", "ruzstd", "serde", "smallvec", @@ -817,16 +1011,15 @@ dependencies = [ "wasm-bindgen", "web-sys", "wgpu", - "wgpu-hal", ] [[package]] name = "bevy_render_macros" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bd08c740aac73363e32fb45af869b10cec65bcb76fe3e6cd0f8f7eebf4c36c9" +checksum = "35b00c3d0abff94a729460fc9aa95c2ceac71b49b3041166bb5ba3098e9657e7" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.12.0", "proc-macro2", "quote", "syn 2.0.39", @@ -834,20 +1027,19 @@ dependencies = [ [[package]] name = "bevy_scene" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd47e1263506153bef3a8be97fe2d856f206d315668c4f97510ca6cc181d9681" +checksum = "ba6294396a6375f0b14341d8003408c10aa040e3f833ac8bd49677170ec55d73" dependencies = [ - "anyhow", - "bevy_app", + "bevy_app 0.12.0", "bevy_asset", - "bevy_derive", - "bevy_ecs", + "bevy_derive 0.12.0", + "bevy_ecs 0.12.0", "bevy_hierarchy", - "bevy_reflect", + "bevy_reflect 0.12.0", "bevy_render", "bevy_transform", - "bevy_utils", + "bevy_utils 0.12.0", "ron", "serde", "thiserror", @@ -856,25 +1048,26 @@ dependencies = [ [[package]] name = "bevy_sprite" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a8ca824fad75c6ef74cfbbba0a4ce3ccc435fa23d6bf3f003f260548813397" +checksum = "b4f7d1f88a6e5497fdafd95c20984a1d1b5517bc39d51600b4988cd60c51837a" dependencies = [ - "bevy_app", + "bevy_app 0.12.0", "bevy_asset", "bevy_core_pipeline", - "bevy_derive", - "bevy_ecs", - "bevy_log", + "bevy_derive 0.12.0", + "bevy_ecs 0.12.0", + "bevy_log 0.12.0", "bevy_math", - "bevy_reflect", + "bevy_reflect 0.12.0", "bevy_render", "bevy_transform", - "bevy_utils", + "bevy_utils 0.12.0", "bitflags 2.4.1", "bytemuck", "fixedbitset", "guillotiere", + "radsort", "rectangle-pack", "thiserror", ] @@ -885,31 +1078,44 @@ version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c73bbb847c83990d3927005090df52f8ac49332e1643d2ad9aac3cd2974e66bf" dependencies = [ - "async-channel", + "async-channel 1.9.0", "async-executor", "async-task", "concurrent-queue", - "futures-lite", + "futures-lite 1.13.0", + "wasm-bindgen-futures", +] + +[[package]] +name = "bevy_tasks" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a45be906618192515bc613e46546150089adbb4a82178dc462045acd1e89e92" +dependencies = [ + "async-channel 1.9.0", + "async-executor", + "async-task", + "concurrent-queue", + "futures-lite 1.13.0", "wasm-bindgen-futures", ] [[package]] name = "bevy_text" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "692288ab7b0a9f8b38058964c52789fc6bcb63703b23de51cce90ec41bfca355" +checksum = "c136af700af4f87c94f68d6e019528c371bf09ebf4a8ff7468bb3c73806b34f5" dependencies = [ "ab_glyph", - "anyhow", - "bevy_app", + "bevy_app 0.12.0", "bevy_asset", - "bevy_ecs", + "bevy_ecs 0.12.0", "bevy_math", - "bevy_reflect", + "bevy_reflect 0.12.0", "bevy_render", "bevy_sprite", "bevy_transform", - "bevy_utils", + "bevy_utils 0.12.0", "bevy_window", "glyph_brush_layout", "serde", @@ -918,53 +1124,54 @@ dependencies = [ [[package]] name = "bevy_time" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d58d6dbae9c8225d8c0e0f04d2c5dbb71d22adc01ecd5ab3cebc364139e4a6d" +checksum = "b29709cadf22d318a0b7c79f763e9c5ac414292bd0e850066fa935959021b276" dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_reflect", - "bevy_utils", + "bevy_app 0.12.0", + "bevy_ecs 0.12.0", + "bevy_reflect 0.12.0", + "bevy_utils 0.12.0", "crossbeam-channel", "thiserror", ] [[package]] name = "bevy_transform" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b9b0ac0149a57cd846cb357a35fc99286f9848e53d4481954608ac9552ed2d4" +checksum = "70262c51e915b6224129206d23823364e650cf5eb5f4b6ce3ee379f608c180d2" dependencies = [ - "bevy_app", - "bevy_ecs", + "bevy_app 0.12.0", + "bevy_ecs 0.12.0", "bevy_hierarchy", "bevy_math", - "bevy_reflect", + "bevy_reflect 0.12.0", + "thiserror", ] [[package]] name = "bevy_ui" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59b6d295a755e5b79e869a09e087029d72974562a521ec7ccfba7141fa948a32" +checksum = "cd5ecbf2dceaab118769dd870e34d780bfde556af561fd10d8d613b0f237297e" dependencies = [ "bevy_a11y", - "bevy_app", + "bevy_app 0.12.0", "bevy_asset", "bevy_core_pipeline", - "bevy_derive", - "bevy_ecs", + "bevy_derive 0.12.0", + "bevy_ecs 0.12.0", "bevy_hierarchy", "bevy_input", - "bevy_log", + "bevy_log 0.12.0", "bevy_math", - "bevy_reflect", + "bevy_reflect 0.12.0", "bevy_render", "bevy_sprite", "bevy_text", "bevy_transform", - "bevy_utils", + "bevy_utils 0.12.0", "bevy_window", "bytemuck", "serde", @@ -980,7 +1187,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d9484e32434ea84dc548cff246ce0c6f756c1336f5ea03f24ac120a48595c7" dependencies = [ "ahash", - "bevy_utils_proc_macros", + "bevy_utils_proc_macros 0.11.3", "getrandom", "hashbrown 0.14.2", "instant", @@ -990,6 +1197,24 @@ dependencies = [ "uuid", ] +[[package]] +name = "bevy_utils" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8e75d4a34ef0b15dffd1ee9079ef1f0f5139527e192b9d5708b3e158777c753" +dependencies = [ + "ahash", + "bevy_utils_proc_macros 0.12.0", + "getrandom", + "hashbrown 0.14.2", + "instant", + "nonmax", + "petgraph", + "thiserror", + "tracing", + "uuid", +] + [[package]] name = "bevy_utils_proc_macros" version = "0.11.3" @@ -1001,38 +1226,50 @@ dependencies = [ "syn 2.0.39", ] +[[package]] +name = "bevy_utils_proc_macros" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7dfd3735a61a1b681ed1e176afe4eae731bbb03e51ad871e9eb39e76a2d170e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + [[package]] name = "bevy_window" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd584c0da7c4ada6557b09f57f30fb7cff21ccedc641473fc391574b4c9b7944" +checksum = "e60d1830b3fbd7db5bfea7ac9fcd0f5e1d1af88c91ab469e697ab176d8b3140b" dependencies = [ - "bevy_app", - "bevy_ecs", + "bevy_a11y", + "bevy_app 0.12.0", + "bevy_ecs 0.12.0", "bevy_input", "bevy_math", - "bevy_reflect", - "bevy_utils", + "bevy_reflect 0.12.0", + "bevy_utils 0.12.0", "raw-window-handle", ] [[package]] name = "bevy_winit" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfdc044abdb95790c20053e6326760f0a2985f0dcd78613d397bf35f16039d53" +checksum = "7f8294e78c6a1f9c34d36501a377c5d20bf0fa23a0958187bb270187741448ba" dependencies = [ "accesskit_winit", "approx", "bevy_a11y", - "bevy_app", - "bevy_derive", - "bevy_ecs", + "bevy_app 0.12.0", + "bevy_derive 0.12.0", + "bevy_ecs 0.12.0", "bevy_hierarchy", "bevy_input", "bevy_math", - "bevy_tasks", - "bevy_utils", + "bevy_tasks 0.12.0", + "bevy_utils 0.12.0", "bevy_window", "crossbeam-channel", "raw-window-handle", @@ -1091,6 +1328,19 @@ dependencies = [ "serde", ] +[[package]] +name = "blake3" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0231f06152bf547e9c2b5194f247cd97aacf6dcd8b15d8e5ec0663f64580da87" +dependencies = [ + "arrayref", + "arrayvec", + "cc", + "cfg-if", + "constant_time_eq", +] + [[package]] name = "block" version = "0.1.6" @@ -1116,6 +1366,22 @@ dependencies = [ "objc2-encode", ] +[[package]] +name = "blocking" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118" +dependencies = [ + "async-channel 2.1.0", + "async-lock 3.1.1", + "async-task", + "fastrand 2.0.1", + "futures-io", + "futures-lite 2.0.1", + "piper", + "tracing", +] + [[package]] name = "bumpalo" version = "3.14.0" @@ -1265,6 +1531,12 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "87ca1caa64ef4ed453e68bb3db612e51cf1b2f5b871337f0fcab1c8f87cc3dff" +[[package]] +name = "constant_time_eq" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" + [[package]] name = "constgebra" version = "0.1.3" @@ -1299,7 +1571,7 @@ dependencies = [ "bitflags 1.3.2", "core-foundation", "core-graphics-types", - "foreign-types", + "foreign-types 0.3.2", "libc", ] @@ -1389,12 +1661,12 @@ dependencies = [ [[package]] name = "d3d12" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8f0de2f5a8e7bd4a9eec0e3c781992a4ce1724f68aec7d7a3715344de8b39da" +checksum = "e16e44ab292b1dddfdaf7be62cfd8877df52f2f3fde5858d95bab606be259f20" dependencies = [ - "bitflags 1.3.2", - "libloading 0.7.4", + "bitflags 2.4.1", + "libloading 0.8.1", "winapi", ] @@ -1519,6 +1791,27 @@ version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" +[[package]] +name = "event-listener" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d96b852f1345da36d551b9473fa1e2b1eb5c5195585c6c018118bc92a8d91160" +dependencies = [ + "event-listener 3.1.0", + "pin-project-lite", +] + [[package]] name = "fastrand" version = "1.9.0" @@ -1543,6 +1836,15 @@ dependencies = [ "simd-adler32", ] +[[package]] +name = "file-id" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6584280525fb2059cba3db2c04abf947a1a29a45ddae89f3870f8281704fafc9" +dependencies = [ + "windows-sys 0.48.0", +] + [[package]] name = "filetime" version = "0.2.22" @@ -1583,7 +1885,28 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" dependencies = [ - "foreign-types-shared", + "foreign-types-shared 0.1.1", +] + +[[package]] +name = "foreign-types" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" +dependencies = [ + "foreign-types-macros", + "foreign-types-shared 0.3.1", +] + +[[package]] +name = "foreign-types-macros" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", ] [[package]] @@ -1592,6 +1915,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" +[[package]] +name = "foreign-types-shared" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" + [[package]] name = "fsevent-sys" version = "4.1.0" @@ -1628,6 +1957,16 @@ dependencies = [ "waker-fn", ] +[[package]] +name = "futures-lite" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3831c2651acb5177cbd83943f3d9c8912c5ad03c76afcc0e9511ba568ec5ebb" +dependencies = [ + "futures-core", + "pin-project-lite", +] + [[package]] name = "getrandom" version = "0.2.10" @@ -1756,21 +2095,21 @@ dependencies = [ [[package]] name = "gpu-alloc" -version = "0.5.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22beaafc29b38204457ea030f6fb7a84c9e4dd1b86e311ba0542533453d87f62" +checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.1", "gpu-alloc-types", ] [[package]] name = "gpu-alloc-types" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54804d0d6bc9d7f26db4eaec1ad10def69b599315f487d32c334a80d1efe67a5" +checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.1", ] [[package]] @@ -2203,16 +2542,17 @@ checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" [[package]] name = "metal" -version = "0.24.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de11355d1f6781482d027a3b4d4de7825dcedb197bf573e0596d00008402d060" +checksum = "623b5e6cefd76e58f774bd3cc0c6f5c7615c58c03a97815245a25c3c9bdee318" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.1", "block", "core-graphics-types", - "foreign-types", + "foreign-types 0.5.0", "log", "objc", + "paste", ] [[package]] @@ -2245,12 +2585,12 @@ dependencies = [ [[package]] name = "naga" -version = "0.12.3" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbcc2e0513220fd2b598e6068608d4462db20322c0e77e47f6f488dfcfc279cb" +checksum = "c1ceaaa4eedaece7e4ec08c55c640ba03dbb73fb812a6570a59bcf1930d0f70e" dependencies = [ "bit-set", - "bitflags 1.3.2", + "bitflags 2.4.1", "codespan-reporting", "hexf-parse", "indexmap 1.9.3", @@ -2266,9 +2606,9 @@ dependencies = [ [[package]] name = "naga_oil" -version = "0.8.2" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8be942a5c21c58b9b0bf4d9b99db3634ddb7a916f8e1d1d0b71820cc4150e56b" +checksum = "4ac54c77b3529887f9668d3dd81e955e58f252b31a333f836e3548c06460b958" dependencies = [ "bit-set", "codespan-reporting", @@ -2277,7 +2617,7 @@ dependencies = [ "naga", "once_cell", "regex", - "regex-syntax 0.6.29", + "regex-syntax 0.7.5", "rustc-hash", "thiserror", "tracing", @@ -2345,6 +2685,12 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "nonmax" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "610a5acd306ec67f907abe5567859a3c693fb9886eb1f012ab8f2a47bef3db51" + [[package]] name = "notify" version = "6.1.1" @@ -2364,6 +2710,20 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "notify-debouncer-full" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49f5dab59c348b9b50cf7f261960a20e389feb2713636399cd9082cd4b536154" +dependencies = [ + "crossbeam-channel", + "file-id", + "log", + "notify", + "parking_lot", + "walkdir", +] + [[package]] name = "ntapi" version = "0.4.1" @@ -2645,6 +3005,17 @@ version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" +[[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.27" @@ -2787,6 +3158,12 @@ version = "0.6.29" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" +[[package]] +name = "regex-syntax" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" + [[package]] name = "regex-syntax" version = "0.8.2" @@ -3144,6 +3521,17 @@ dependencies = [ "winnow", ] +[[package]] +name = "toml_edit" +version = "0.20.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" +dependencies = [ + "indexmap 2.1.0", + "toml_datetime", + "winnow", +] + [[package]] name = "toml_edit" version = "0.21.0" @@ -3402,9 +3790,9 @@ dependencies = [ [[package]] name = "wgpu" -version = "0.16.3" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "480c965c9306872eb6255fa55e4b4953be55a8b64d57e61d7ff840d3dcc051cd" +checksum = "752e44d3998ef35f71830dd1ad3da513e628e2e4d4aedb0ab580f850827a0b41" dependencies = [ "arrayvec", "cfg-if", @@ -3426,9 +3814,9 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "0.16.1" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f478237b4bf0d5b70a39898a66fa67ca3a007d79f2520485b8b0c3dfc46f8c2" +checksum = "0f8a44dd301a30ceeed3c27d8c0090433d3da04d7b2a4042738095a424d12ae7" dependencies = [ "arrayvec", "bit-vec", @@ -3449,9 +3837,9 @@ dependencies = [ [[package]] name = "wgpu-hal" -version = "0.16.2" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ecb3258078e936deee14fd4e0febe1cfe9bbb5ffef165cb60218d2ee5eb4448" +checksum = "9a80bf0e3c77399bb52850cb0830af9bad073d5cfcb9dd8253bef8125c42db17" dependencies = [ "android_system_properties", "arrayvec", @@ -3461,7 +3849,6 @@ dependencies = [ "block", "core-graphics-types", "d3d12", - "foreign-types", "glow", "gpu-alloc", "gpu-allocator", @@ -3491,9 +3878,9 @@ dependencies = [ [[package]] name = "wgpu-types" -version = "0.16.1" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0c153280bb108c2979eb5c7391cb18c56642dd3c072e55f52065e13e2a1252a" +checksum = "ee64d7398d0c2f9ca48922c902ef69c42d000c759f3db41e355f4a570b052b67" dependencies = [ "bitflags 2.4.1", "js-sys", diff --git a/Cargo.toml b/Cargo.toml index 4a33e31..c00939c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,11 +4,21 @@ version = "0.1.0" edition = "2021" build = "build.rs" -[dependencies] -bevy_fmod = { version = "0.3", features = ["live-update"] } -bevy = { version = "0.11", features = ["jpeg", "hdr"] } -serde = "1" -toml = { version = "0.8", features = ["parse"] } +[dependencies.bevy] +features = ["jpeg", "hdr", "file_watcher"] +version = "0.12" + +[dependencies.bevy_fmod] +features = ["live-update"] +git = "https://github.com/Salzian/bevy_fmod.git" +branch = "update-0.12" + +[dependencies.serde] +version = "1" + +[dependencies.toml] +version = "0.8" +features = ["parse"] [profile.dev] opt-level = 3 diff --git a/src/audio.rs b/src/audio.rs index c04fca9..ce122a7 100644 --- a/src/audio.rs +++ b/src/audio.rs @@ -3,14 +3,16 @@ /// use crate::prelude::*; use bevy::{ - asset::{AssetLoader, LoadContext, LoadedAsset}, + asset::{io::Reader, AssetLoader, AsyncReadExt, LoadContext}, prelude::*, reflect::{TypePath, TypeUuid}, + utils::thiserror, utils::BoxedFuture, }; use bevy_fmod::prelude::AudioSource; use bevy_fmod::prelude::*; use serde::Deserialize; +use thiserror::Error; pub(crate) struct AudioPlugin; @@ -28,8 +30,8 @@ impl Plugin for AudioPlugin { "./assets/audio/Martian Chess Audio/Build/Desktop/SFX.bank", ], }); - app.add_asset::() - .init_asset_loader::(); + app.register_asset_loader(AudioSettingsLoader) + .init_asset::(); app.add_systems(OnEnter(GameState::Menu), play_background); app.add_systems( @@ -85,7 +87,7 @@ fn audio_trigger( .expect("Load audio tweakfile"); debug!("Audio tweaks: {:?}", tweak); let state = display_state.get(); - events.iter().for_each(|event| { + events.read().for_each(|event| { let aud = match event { AudioEvent::MainMusic | AudioEvent::StopMainMusic => tweak.music.main.clone(), AudioEvent::MenuSelect => tweak.menu.select.clone(), @@ -136,9 +138,9 @@ fn audio_trigger( }); } -#[derive(Debug, Deserialize, TypeUuid, TypePath)] +#[derive(Debug, Deserialize, TypeUuid, TypePath, Asset)] #[uuid = "5c7a67ee-56a9-4fe9-9e91-1a709fbc3cf0"] -pub(crate) struct AudioSettings { +pub struct AudioSettings { #[serde(default)] display2d: PlaySettings, #[serde(default)] @@ -173,20 +175,36 @@ struct PlaySettings { invalid: String, } +#[derive(Debug, Error)] +pub enum AudioSettingsLoadError { + #[error("Could not read audio setting: {0}")] + LoadError(#[from] std::io::Error), + #[error("Could not load audio setting: {0}")] + ReadError(#[from] std::str::Utf8Error), + #[error("Could not parse audio settings: {0}")] + ParseError(#[from] toml::de::Error), +} + #[derive(Default)] pub struct AudioSettingsLoader; impl AssetLoader for AudioSettingsLoader { + type Asset = AudioSettings; + type Settings = (); + type Error = AudioSettingsLoadError; + fn load<'a>( &'a self, - bytes: &'a [u8], - load_context: &'a mut LoadContext, - ) -> BoxedFuture<'a, Result<(), bevy::asset::Error>> { + reader: &'a mut Reader, + _settings: &'a Self::Settings, + _load_context: &'a mut LoadContext, + ) -> BoxedFuture<'a, Result> { Box::pin(async move { - let s = std::str::from_utf8(bytes)?; - let custom_asset = toml::from_str::(s)?; - load_context.set_default_asset(LoadedAsset::new(custom_asset)); - Ok(()) + let mut bytes = Vec::new(); + reader.read_to_end(&mut bytes).await?; + let s = std::str::from_utf8(bytes.as_slice())?; + let custom_asset: AudioSettings = toml::from_str(s)?; + Ok(custom_asset) }) } diff --git a/src/credits.rs b/src/credits.rs index 147618b..094bc1d 100644 --- a/src/credits.rs +++ b/src/credits.rs @@ -1,10 +1,12 @@ use std::str::Utf8Error; use bevy::{ - asset::{AssetLoader, LoadContext, LoadedAsset}, + asset::{io::Reader, AssetLoader, AsyncReadExt, LoadContext}, reflect::{TypePath, TypeUuid}, + utils::thiserror, utils::BoxedFuture, }; +use thiserror::Error; use crate::prelude::*; @@ -12,8 +14,8 @@ pub(crate) struct CreditsPlugin; impl Plugin for CreditsPlugin { fn build(&self, app: &mut App) { - app.add_asset::() - .init_asset_loader::() + app.register_asset_loader(CreditsTextLoader) + .init_asset::() .add_systems(Startup, init_credits_ui) .add_systems( Update, @@ -27,25 +29,39 @@ impl Plugin for CreditsPlugin { } } -#[derive(Debug, TypeUuid, TypePath)] +#[derive(Debug, TypeUuid, TypePath, Asset)] #[uuid = "43df4a09-b5f0-4619-9223-8cf67dc9e844"] pub struct CreditsText { sections: Vec, } +#[derive(Debug, Error)] +enum CreditsTextLoadError { + #[error("Could not read audio setting: {0}")] + LoadError(#[from] std::io::Error), + #[error("Could not load audio setting: {0}")] + ReadError(#[from] std::str::Utf8Error), +} + #[derive(Default)] struct CreditsTextLoader; impl AssetLoader for CreditsTextLoader { + type Asset = CreditsText; + type Settings = (); + type Error = CreditsTextLoadError; + fn load<'a>( &'a self, - bytes: &'a [u8], - load_context: &'a mut LoadContext, - ) -> BoxedFuture<'a, Result<(), bevy::asset::Error>> { + reader: &'a mut Reader, + _settings: &'a Self::Settings, + _load_context: &'a mut LoadContext, + ) -> BoxedFuture<'a, Result> { Box::pin(async move { - let custom_asset = parse_credits(bytes)?; - load_context.set_default_asset(LoadedAsset::new(custom_asset)); - Ok(()) + let mut bytes = Vec::new(); + reader.read_to_end(&mut bytes).await?; + let custom_asset = parse_credits(bytes.as_slice())?; + Ok(custom_asset) }) } @@ -111,11 +127,13 @@ fn update_credits( credits_texts: Res>, mut query: Query<(&mut Text, &Handle)>, ) { - reader.iter().for_each(|event| match event { - AssetEvent::Created { handle } | AssetEvent::Modified { handle } => { + reader.read().for_each(|event| match event { + AssetEvent::Added { id } + | AssetEvent::Modified { id } + | AssetEvent::LoadedWithDependencies { id } => { query .iter_mut() - .filter(|(_, this_handle)| handle.clone() == (*this_handle).clone()) + .filter(|(_, this_handle)| Handle::Weak(id.clone()) == (*this_handle).clone()) .for_each(|(mut text, this_handle)| { if let Some(credits_text) = credits_texts.get(this_handle) { text.sections = credits_text.sections.clone(); diff --git a/src/debug.rs b/src/debug.rs index e55fd83..77bec1c 100644 --- a/src/debug.rs +++ b/src/debug.rs @@ -1,9 +1,5 @@ use bevy::{ - asset::diagnostic::AssetCountDiagnosticsPlugin, - diagnostic::{ - DiagnosticsStore, EntityCountDiagnosticsPlugin, FrameTimeDiagnosticsPlugin, - SystemInformationDiagnosticsPlugin, - }, + diagnostic::DiagnosticsStore, input::{keyboard::KeyboardInput, ButtonState}, utils::{hashbrown::hash_map::Iter, HashMap}, }; @@ -14,26 +10,17 @@ pub(crate) struct DebugPlugin; impl Plugin for DebugPlugin { fn build(&self, app: &mut App) { - app.add_plugins(( - FrameTimeDiagnosticsPlugin, - EntityCountDiagnosticsPlugin::default(), - AssetCountDiagnosticsPlugin::::default(), - AssetCountDiagnosticsPlugin::::default(), - AssetCountDiagnosticsPlugin::::default(), - AssetCountDiagnosticsPlugin::::default(), - SystemInformationDiagnosticsPlugin::default(), - )) - .init_resource::() - .add_systems(Startup, init_debug_ui) - .add_systems( - Update, - ( - toggle_debug_mode.run_if(on_event::()), - display_diagnostics.run_if(resource_exists::()), - toggle_debug_ui.run_if(resource_changed_or_removed::()), - camera_info.run_if(resource_exists::()), - ), - ); + app.init_resource::() + .add_systems(Startup, init_debug_ui) + .add_systems( + Update, + ( + toggle_debug_mode.run_if(on_event::()), + display_diagnostics.run_if(resource_exists::()), + toggle_debug_ui.run_if(resource_changed_or_removed::()), + camera_info.run_if(resource_exists::()), + ), + ); } } @@ -67,7 +54,7 @@ fn toggle_debug_mode( mut commands: Commands, ) { events - .iter() + .read() .filter( |KeyboardInput { state, key_code, .. @@ -132,11 +119,9 @@ fn display_diagnostics( }); } -fn camera_info( - mut debug_infos: ResMut, - cameras: Query<(&Camera, &Name)>, -) { - let camera_names = cameras.iter() +fn camera_info(mut debug_infos: ResMut, cameras: Query<(&Camera, &Name)>) { + let camera_names = cameras + .iter() .filter(|(c, _)| c.is_active) .map(|(_, n)| n.as_str()) .collect::>() diff --git a/src/display2d.rs b/src/display2d.rs index 323692a..3ec0e01 100644 --- a/src/display2d.rs +++ b/src/display2d.rs @@ -131,7 +131,7 @@ fn update_background( mut events: EventReader, ) { events - .iter() + .read() .for_each(|&WindowResized { width, height, .. }| { sprites.iter_mut().for_each(|mut sprite| { sprite.custom_size = Some(Vec2 { diff --git a/src/display3d.rs b/src/display3d.rs index c8d2e68..b2638cb 100644 --- a/src/display3d.rs +++ b/src/display3d.rs @@ -3,6 +3,7 @@ use crate::{ prelude::*, }; use bevy::{ + animation::RepeatAnimation, core_pipeline::{tonemapping::DebandDither, Skybox}, input::mouse::{MouseButtonInput, MouseMotion, MouseScrollUnit, MouseWheel}, render::{ @@ -318,7 +319,7 @@ fn move_camera( mut events: EventReader, mut camera: Query<&mut Transform, (With, With)>, ) { - events.iter().for_each(|MouseMotion { delta }| { + events.read().for_each(|MouseMotion { delta }| { if buttons.pressed(MouseButton::Left) { camera.iter_mut().for_each(|mut t| { t.rotate_around(Vec3::ZERO, Quat::from_rotation_y(delta.x / 256.0)); @@ -333,7 +334,7 @@ fn mouse_zoom( mut events: EventReader, mut camera: Query<&mut Transform, (With, With)>, ) { - events.iter().for_each(|MouseWheel { unit, y, .. }| { + events.read().for_each(|MouseWheel { unit, y, .. }| { camera.iter_mut().for_each(|mut t| { match unit { MouseScrollUnit::Line => { @@ -480,7 +481,7 @@ fn select( mut selections: EventWriter, ) { events - .iter() + .read() .filter(|ev| ev.state == ButtonState::Pressed) .for_each(|_| { windows.iter().for_each(|window| { @@ -586,7 +587,7 @@ fn put_down( children: Query<&Children>, mut players: Query<&mut AnimationPlayer>, ) { - events.iter().for_each(|entity| { + events.read().for_each(|entity| { if let Ok(_piece) = query.get_mut(entity) { let gltf = gltfs.get(&assets_map.models).expect("Load GLTF content"); children.iter_descendants(entity).for_each(|child| { @@ -598,7 +599,7 @@ fn put_down( animation.expect("PutDown Animation").clone(), Duration::from_secs_f32(0.75), ) - .stop_repeating(); + .set_repeat(RepeatAnimation::Never); } }) } diff --git a/src/game.rs b/src/game.rs index da3d1da..97976d8 100644 --- a/src/game.rs +++ b/src/game.rs @@ -423,7 +423,7 @@ pub(crate) fn update_board( mut commands: Commands, mut played: Local, ) { - events.iter().for_each(|Move { from, to, .. }| { + events.read().for_each(|Move { from, to, .. }| { pieces.iter_mut().for_each(|(entity, mut index)| { if *index == *from { match to { @@ -481,7 +481,7 @@ fn handle_selection( mut done: Local, // Tracks if moves/audio submitted already even if multiple pieces (2d/3d) are moved. mut latest: Local, // Tracks the last one worked on ) { - selections.iter().for_each(|Selection(index)| { + selections.read().for_each(|Selection(index)| { // Skip indexes already processed if *index != *latest { // Set the latest index to the current index diff --git a/src/loading.rs b/src/loading.rs index 10d9eb4..c30f594 100644 --- a/src/loading.rs +++ b/src/loading.rs @@ -1,3 +1,5 @@ +use bevy::asset::{DependencyLoadState, RecursiveDependencyLoadState}; + use crate::prelude::*; pub(crate) struct LoadingPlugin; @@ -57,20 +59,13 @@ fn loading( tweakfile: Res>, mut next_state: ResMut>, ) { - let s_ids = sprites - .ids() - .filter(|&id| matches!(id, HandleId::AssetPathId(_))) - .collect::>(); + let s_ids = sprites.ids().collect::>>(); - let g_ids = gltfs - .ids() - .filter(|&id| matches!(id, HandleId::AssetPathId(_))) - .collect::>(); + let g_ids = gltfs.ids().collect::>>(); let a_ids = tweakfile .ids() - .filter(|&id| matches!(id, HandleId::AssetPathId(_))) - .collect::>(); + .collect::>>(); debug!( "Sprite len: {:?} | GLTF len: {:?} | Audio Tweakfile: {:?}", @@ -80,15 +75,36 @@ fn loading( ); if s_ids.len() > 0 && g_ids.len() > 0 { - let s_ready = s_ids - .iter() - .all(|&id| server.get_load_state(id) == LoadState::Loaded); - let g_ready = g_ids - .iter() - .all(|&id| server.get_load_state(id) == LoadState::Loaded); - let a_ready = a_ids - .iter() - .all(|&id| server.get_load_state(id) == LoadState::Loaded); + let s_ready = s_ids.iter().all(|&id| { + let load_state = server.get_load_states(id); + load_state + == Some(( + LoadState::Loaded, + DependencyLoadState::Loaded, + RecursiveDependencyLoadState::Loaded, + )) + || load_state == None + }); + let g_ready = g_ids.iter().all(|&id| { + let load_state = server.get_load_states(id); + load_state + == Some(( + LoadState::Loaded, + DependencyLoadState::Loaded, + RecursiveDependencyLoadState::Loaded, + )) + || load_state == None + }); + let a_ready = a_ids.iter().all(|&id| { + let load_state = server.get_load_states(id); + load_state + == Some(( + LoadState::Loaded, + DependencyLoadState::Loaded, + RecursiveDependencyLoadState::Loaded, + )) + || load_state == None + }); if s_ready && g_ready && a_ready { next_state.set(GameState::Menu) } diff --git a/src/main.rs b/src/main.rs index bc594e1..5d21eac 100644 --- a/src/main.rs +++ b/src/main.rs @@ -15,10 +15,7 @@ mod ui; use std::time::Duration; -use bevy::{ - asset::{ChangeWatcher, HandleId}, - input::ButtonState, -}; +use bevy::input::ButtonState; use crate::prelude::*; @@ -55,10 +52,6 @@ fn main() { ..default() }), ..default() - }) - .set(AssetPlugin { - watch_for_changes: ChangeWatcher::with_delay(Duration::from_millis(200)), - ..default() }), ); app.add_plugins(credits::CreditsPlugin); diff --git a/src/menu.rs b/src/menu.rs index eb429c6..59f89dd 100644 --- a/src/menu.rs +++ b/src/menu.rs @@ -187,7 +187,7 @@ pub(crate) fn exit_to_menu( mut next_state: ResMut>, ) { events - .iter() + .read() .filter( |KeyboardInput { key_code, state, ..