From 0113f0445720d618a371d882a9d7843339b3d195 Mon Sep 17 00:00:00 2001 From: mitchellhansen Date: Sat, 4 Jan 2020 20:28:54 -0800 Subject: [PATCH] init --- Cargo.lock | 442 +++++++++++++++++++---------------- Cargo.toml | 2 +- resources/bindings.ron | 6 + resources/display_config.ron | 4 +- resources/sprites/flappy.png | Bin 0 -> 29296 bytes resources/sprites/flappy.ron | 42 ++++ src/components.rs | 38 +++ src/main.rs | 30 ++- src/state.rs | 126 +++++++--- src/systems.rs | 62 +++++ 10 files changed, 513 insertions(+), 239 deletions(-) create mode 100644 resources/bindings.ron create mode 100644 resources/sprites/flappy.png create mode 100644 resources/sprites/flappy.ron create mode 100644 src/components.rs create mode 100644 src/systems.rs diff --git a/Cargo.lock b/Cargo.lock index f833e13..4690f45 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -63,23 +63,23 @@ dependencies = [ [[package]] name = "amethyst" -version = "0.13.0" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "amethyst_animation 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "amethyst_assets 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_animation 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_assets 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_audio 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_config 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_controls 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "amethyst_core 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "amethyst_derive 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_core 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_derive 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_error 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "amethyst_input 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "amethyst_locale 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "amethyst_network 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_input 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_locale 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_network 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_rendy 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "amethyst_tiles 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "amethyst_ui 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_tiles 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_ui 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_utils 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_window 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-channel 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", @@ -99,24 +99,24 @@ dependencies = [ name = "amethyst-starter-2d" version = "0.1.0" dependencies = [ - "amethyst 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst 0.13.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "amethyst_animation" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "amethyst_assets 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "amethyst_core 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "amethyst_derive 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_assets 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_core 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_derive 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_error 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_rendy 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "amethyst_ui 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_ui 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", "derivative 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "itertools 0.7.11 (registry+https://github.com/rust-lang/crates.io-index)", + "itertools 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "minterpolate 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)", @@ -124,11 +124,11 @@ dependencies = [ [[package]] name = "amethyst_assets" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "amethyst_core 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "amethyst_derive 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_core 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_derive 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_error 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "derivative 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -140,7 +140,7 @@ dependencies = [ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "objekt 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", "rayon 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "ron 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)", @@ -151,8 +151,8 @@ name = "amethyst_audio" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "amethyst_assets 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "amethyst_core 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_assets 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_core 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_error 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "cpal 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", "derive-new 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -177,11 +177,11 @@ name = "amethyst_controls" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "amethyst_assets 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "amethyst_core 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "amethyst_derive 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_assets 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_core 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_derive 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_error 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "amethyst_input 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_input 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", "derive-new 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)", @@ -190,7 +190,7 @@ dependencies = [ [[package]] name = "amethyst_core" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "alga 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -200,7 +200,7 @@ dependencies = [ "derivative 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "derive-new 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "getset 0.0.7 (registry+https://github.com/rust-lang/crates.io-index)", + "getset 0.0.8 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "nalgebra 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -212,14 +212,14 @@ dependencies = [ [[package]] name = "amethyst_derive" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "proc_macro_roids 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.42 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", + "proc_macro_roids 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -232,11 +232,11 @@ dependencies = [ [[package]] name = "amethyst_input" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "amethyst_config 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "amethyst_core 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_core 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_error 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_window 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "derivative 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -249,23 +249,23 @@ dependencies = [ [[package]] name = "amethyst_locale" -version = "0.7.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "amethyst_assets 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "amethyst_core 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_assets 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_core 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_error 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "fluent 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", + "fluent 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)", - "unic-langid 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "unic-langid 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "amethyst_network" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "amethyst_core 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_core 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_error 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-channel 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", @@ -273,7 +273,7 @@ dependencies = [ "laminar 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)", - "shred 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", + "shred 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)", "shrev 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -283,10 +283,10 @@ name = "amethyst_rendy" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "amethyst_assets 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_assets 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_config 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "amethyst_core 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "amethyst_derive 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_core 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_derive 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_error 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_window 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "approx 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -308,11 +308,11 @@ dependencies = [ [[package]] name = "amethyst_tiles" -version = "0.1.0" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "amethyst_assets 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "amethyst_core 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_assets 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_core 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_error 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_rendy 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_window 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -321,7 +321,7 @@ dependencies = [ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "glsl-layout 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hibitset 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", + "hibitset 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "rayon 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -331,15 +331,15 @@ dependencies = [ [[package]] name = "amethyst_ui" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "amethyst_assets 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_assets 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_audio 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "amethyst_core 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "amethyst_derive 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_core 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_derive 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_error 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "amethyst_input 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_input 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_rendy 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_window 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "clipboard 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -347,9 +347,9 @@ dependencies = [ "derive-new 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)", "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "font-kit 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "font-kit 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "glsl-layout 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "glyph_brush 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "glyph_brush 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "paste 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -367,10 +367,10 @@ name = "amethyst_utils" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "amethyst_assets 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_assets 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_controls 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "amethyst_core 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "amethyst_derive 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_core 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_derive 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_error 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_rendy 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_window 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -387,7 +387,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "amethyst_config 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "amethyst_core 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "amethyst_core 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", "amethyst_error 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)", @@ -450,6 +450,11 @@ dependencies = [ "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "arrayvec" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "ash" version = "0.29.0" @@ -474,7 +479,7 @@ dependencies = [ [[package]] name = "autocfg" -version = "0.1.5" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -510,7 +515,7 @@ name = "bincode" version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -887,6 +892,16 @@ dependencies = [ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "crossbeam-utils" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "ctor" version = "0.1.9" @@ -950,13 +965,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "dwrote" -version = "0.5.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1010,23 +1023,12 @@ dependencies = [ [[package]] name = "euclid" -version = "0.19.9" +version = "0.20.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "euclid_macros 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "euclid_macros" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.42 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "expat-sys" version = "2.1.6" @@ -1072,34 +1074,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "fluent" -version = "0.7.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "fluent-bundle 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", - "unic-langid 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "fluent-bundle 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "unic-langid 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "fluent-bundle" -version = "0.7.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "fluent-locale 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fluent-locale 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", "fluent-syntax 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "intl_pluralrules 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "intl_pluralrules 4.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "rental 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", - "unic-langid 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "unic-langid 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "fluent-locale" -version = "0.7.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "unic-langid 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "unic-langid 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1114,28 +1116,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "font-kit" -version = "0.1.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", - "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "cocoa 0.18.4 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", "core-graphics 0.17.3 (registry+https://github.com/rust-lang/crates.io-index)", "core-text 13.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", - "dwrote 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.19.9 (registry+https://github.com/rust-lang/crates.io-index)", - "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "dwrote 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.20.5 (registry+https://github.com/rust-lang/crates.io-index)", "float-ord 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "freetype 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "itertools 0.7.11 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "lyon_path 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "memmap 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "lyon_path 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)", + "memmap 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "servo-fontconfig 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1223,12 +1220,12 @@ dependencies = [ [[package]] name = "getset" -version = "0.0.7" +version = "0.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.42 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1337,38 +1334,33 @@ dependencies = [ [[package]] name = "glyph_brush" -version = "0.5.3" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "glyph_brush_layout 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "hashbrown 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glyph_brush_layout 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "ordered-float 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rusttype 0.7.7 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rusttype 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", "twox-hash 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "glyph_brush_layout" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "rusttype 0.7.7 (registry+https://github.com/rust-lang/crates.io-index)", - "xi-unicode 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rusttype 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", + "xi-unicode 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "hashbrown" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - [[package]] name = "hashbrown" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "ahash 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", - "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1385,7 +1377,6 @@ version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "atom 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "rayon 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1429,12 +1420,12 @@ dependencies = [ [[package]] name = "intl_pluralrules" -version = "2.0.0" +version = "4.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", "phf 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)", - "unic-langid 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "unic-langid 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1468,7 +1459,7 @@ dependencies = [ [[package]] name = "itertools" -version = "0.7.11" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1615,6 +1606,14 @@ dependencies = [ "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "lock_api" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "log" version = "0.3.9" @@ -1634,20 +1633,20 @@ dependencies = [ [[package]] name = "lyon_geom" -version = "0.12.7" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.19.9 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.20.5 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "lyon_path" -version = "0.12.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "lyon_geom 0.12.7 (registry+https://github.com/rust-lang/crates.io-index)", + "lyon_geom 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1697,15 +1696,6 @@ name = "memchr" version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -[[package]] -name = "memmap" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "memmap" version = "0.7.0" @@ -1885,7 +1875,7 @@ name = "num-complex" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1905,7 +1895,7 @@ name = "num-integer" version = "0.1.41" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1914,7 +1904,7 @@ name = "num-iter" version = "0.1.39" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1924,7 +1914,7 @@ name = "num-rational" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "num-bigint 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1943,7 +1933,7 @@ name = "num-traits" version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2069,6 +2059,16 @@ dependencies = [ "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "parking_lot" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "lock_api 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot_core 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "parking_lot_core" version = "0.3.1" @@ -2108,6 +2108,20 @@ dependencies = [ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "parking_lot_core" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "paste" version = "0.1.5" @@ -2237,12 +2251,12 @@ dependencies = [ [[package]] name = "proc_macro_roids" -version = "0.4.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.42 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2317,7 +2331,7 @@ name = "rand" version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2347,7 +2361,7 @@ name = "rand_chacha" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2433,7 +2447,7 @@ name = "rand_pcg" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2886,13 +2900,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "approx 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", + "ordered-float 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "stb_truetype 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rusttype" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "approx 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)", "ordered-float 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "stb_truetype 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", + "stb_truetype 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3009,18 +3034,6 @@ dependencies = [ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "shred" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", - "fxhash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "mopa 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rayon 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "shred" version = "0.9.3" @@ -3169,6 +3182,14 @@ dependencies = [ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "stb_truetype" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "stdweb" version = "0.1.3" @@ -3285,6 +3306,11 @@ dependencies = [ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "tinystr" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "tuple_utils" version = "0.3.0" @@ -3310,37 +3336,41 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "unic-langid" -version = "0.4.2" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "unic-langid-impl 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "unic-langid-macros 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "unic-langid-impl 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "unic-langid-macros 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "unic-langid-impl" -version = "0.4.0" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "tinystr 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", +] [[package]] name = "unic-langid-macros" -version = "0.3.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "proc-macro-hack 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)", - "unic-langid-impl 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "unic-langid-macros-impl 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tinystr 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "unic-langid-impl 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "unic-langid-macros-impl 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "unic-langid-macros-impl" -version = "0.3.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "proc-macro-hack 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.42 (registry+https://github.com/rust-lang/crates.io-index)", - "unic-langid-impl 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", + "unic-langid-impl 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3666,7 +3696,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "xi-unicode" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -3682,21 +3712,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum alga 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d708cb68c7106ed1844de68f50f0157a7788c2909a6926fad5a87546ef6a4ff8" "checksum alga_derive 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f448d7130355515534b7d3af3aa8524365de18b11bbd1deceb06a5956c435f0b" "checksum alsa-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b0edcbbf9ef68f15ae1b620f722180b82a98b6f0628d30baa6b8d2a5abc87d58" -"checksum amethyst 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "35696e553fda82c2c6c6c35d4575e35ff31908df737bde93d40f33bf2fe5d4c9" -"checksum amethyst_animation 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "91be72a4247dd2273398c39edb49cba9b02dc46a6f92352926480b077a68081f" -"checksum amethyst_assets 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ad24404cb3f321dfb95e171359235737400f222fd39e1a43b5518ac1d8e9184d" +"checksum amethyst 0.13.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c7be1d9073db4d81fb28f47159da708e2f78ba86975e757599f7e67ec373cf59" +"checksum amethyst_animation 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "988430c87a6d4e21edde5a0dd456752580f5e9c9fb38216a126f9bd2aef1f219" +"checksum amethyst_assets 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ba6fa2c1d353a250480c35074fb5f30c4c7ec269f027bb6df2cb9e41e9f46c01" "checksum amethyst_audio 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "90d29d25ed8e0ee992522ed898d2569fc4f576e77afa02306d08f8906d5b768a" "checksum amethyst_config 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "46047dfe009ea3de1b5c9d92c72a05579e4dec8e0b8f8304a1b66f0c7ff37db7" "checksum amethyst_controls 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1491575b9e70c533177e1f87d830a2f99480c4fa18e18f597dcde584c2989ed8" -"checksum amethyst_core 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "929af09f4c780bbb1df93b9fac2a6bf87b130d69030bf6d1443d307543f9b2b9" -"checksum amethyst_derive 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9b98ba4e6a291b0f4925f4320c4a887f5042187220dad764237e02437b38ec8e" +"checksum amethyst_core 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8e2070ef196d2712e8391e1a0f11bdfc0cd9c1cc10001dbf2a335c230e0d318b" +"checksum amethyst_derive 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6f89e05c90354e5c0fccdc81f8c6431c6d85a7cd40aba6b0b901bcb6b00ec466" "checksum amethyst_error 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "feecf76d81e065a3bcf5df00a62dc28a4eff07b62cf7d1fede0a4785f462d246" -"checksum amethyst_input 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5c442284c5049e10fc429fd6fe29a7a8fe0a07f808c647c786fe93fddbd01d86" -"checksum amethyst_locale 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8a7a400db8f9dacfadaf5a6c52a875fede7dfed715b958e39eb0c57526a20e41" -"checksum amethyst_network 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "107f8488ede20e5eeb165009f62cca5bfa50f65bd10f18ec7716fd18ca49c592" +"checksum amethyst_input 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "15f8fe3a666f020941ca29dfc690bc79d5281ce74f3b70a5bbc73229bfd5eb97" +"checksum amethyst_locale 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c6d96864f72d862d9ad7f9f652a88936d9ca0eced7053d02fce0f915067431a8" +"checksum amethyst_network 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "35f660e175fedfcc7beb5b8271778f0f7474c7fa3b1b11f9fd636c62ea0b26a8" "checksum amethyst_rendy 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3591d30ecb0cf5d65c53a676491c98665cefc3d14f4d8c839797604ba1329e44" -"checksum amethyst_tiles 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0121931cba5d3df81ae2ab78ffb17b422fa330eb3ba038f1744c7043116c0755" -"checksum amethyst_ui 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d9236b789d1e9a3a2750139e8bfadd703cb5d3c8c9cf7e63b832d0eed7ee5b52" +"checksum amethyst_tiles 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c3207ba370d2c43ce12948683781cd372406e274de6fc4f878804defefcb0fd1" +"checksum amethyst_ui 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "db47845eb2f60670890d1e15cc843e03bb40508da19a036043d159af96ab7573" "checksum amethyst_utils 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fba538cae28df0db2492cd3db96879defc0007990cd0fcaff31839e6fe2ea63f" "checksum amethyst_window 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e61febb19f43727e147eea71188119e7516711d6d25441b176d299f6c26cdb92" "checksum andrew 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9b7f09f89872c2b6b29e319377b1fbe91c6f5947df19a25596e121cf19a7b35e" @@ -3706,10 +3736,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum approx 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f0e60b75072ecd4168020818c0107f2857bb6c4e64252d8d3983f6263b40a5c3" "checksum argon2rs 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3f67b0b6a86dae6e67ff4ca2b6201396074996379fba2b92ff649126f37cb392" "checksum arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)" = "b8d73f9beda665eaa98ab9e4f7442bd4e7de6652587de55b2525e52e29c1b0ba" +"checksum arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8" "checksum ash 0.29.0 (registry+https://github.com/rust-lang/crates.io-index)" = "003d1fb2eb12eb06d4a03dbe02eea67a9fac910fa97932ab9e3a75b96a1ea5e5" "checksum atom 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3c86699c3f02778ec07158376991c8f783dd1f2f95c579ffaf0738dc984b2fe2" "checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90" -"checksum autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "22130e92352b948e7e82a49cdb0aa94f2211761117f29e052dd397c1ac33542b" +"checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2" "checksum backtrace 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)" = "b5164d292487f037ece34ec0de2fcede2faa162f085dd96d2385ab81b12765ba" "checksum backtrace-sys 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)" = "82a830b4ef2d1124a711c71d263c5abdc710ef8e907bd508c88be475cebc422b" "checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e" @@ -3758,6 +3789,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "fedcd6772e37f3da2a9af9bf12ebe046c0dfe657992377b4df982a2b54cd37a9" "checksum crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b" "checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6" +"checksum crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce446db02cdc3165b94ae73111e570793400d0794e46125cc4056c81cbb039f4" "checksum ctor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "3b4c17619643c1252b5f690084b82639dd7fac141c57c8e77a00e0148132092c" "checksum deflate 0.7.20 (registry+https://github.com/rust-lang/crates.io-index)" = "707b6a7b384888a70c8d2e8650b3e60170dfc6a67bb4aa67b6dfca57af4bedb4" "checksum derivative 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6073e9676dbebdddeabaeb63e3b7cefd23c86f5c41d381ee1237cc77b1079898" @@ -3765,26 +3797,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901" "checksum dlib 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "77e51249a9d823a4cb79e3eca6dcd756153e8ed0157b6c04775d04bf1b13b76a" "checksum downcast-rs 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f2b92dfd5c2f75260cbf750572f95d387e7ca0ba5e3fbe9e1a33f23025be020f" -"checksum dwrote 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "30a998e9ff70cd208ccdc4f864e998688bf61d7b897dccec8e17a884d17358bf" +"checksum dwrote 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0bd1369e02db5e9b842a9b67bce8a2fcc043beafb2ae8a799dd482d46ea1ff0d" "checksum edit-distance 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bbbaaaf38131deb9ca518a274a45bfdb8771f139517b073b16c2d3d32ae5037b" "checksum either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5527cfe0d098f36e3f8839852688e63c8fff1c90b2b405aef730615f9a7bcf7b" "checksum env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3ddf21e73e016298f5cb37d6ef8e8da8e39f91f9ec8b0df44b7deb16a9f8cd5b" "checksum env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "aafcde04e90a5226a6443b7aabdb016ba2f8307c847d524724bd9b346dd1a2d3" "checksum erased-serde 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "3beee4bc16478a1b26f2e80ad819a52d24745e292f521a63c16eea5f74b7eb60" "checksum err-derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3d8ff65eb6c2fc68e76557239d16f5698fd56603925b89856d3f0f7105fd4543" -"checksum euclid 0.19.9 (registry+https://github.com/rust-lang/crates.io-index)" = "596b99621b9477e7a5f94d2d8dd13a9c5c302ac358b822c67a42b6f1054450e1" -"checksum euclid_macros 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fdcb84c18ea5037a1c5a23039b4ff29403abce2e0d6b1daa11cf0bde2b30be15" +"checksum euclid 0.20.5 (registry+https://github.com/rust-lang/crates.io-index)" = "a8813df82772c5ef4c2e9cd4a986773c125ffeafdc08204c9d5c2f06e0abdc17" "checksum expat-sys 2.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "658f19728920138342f68408b7cf7644d90d4784353d8ebc32e7e8663dbe45fa" "checksum failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "795bd83d3abeb9220f257e597aa0080a508b27533824adf336529648f6abf7e2" "checksum failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea1063915fd7ef4309e222a5a07cf9c319fb9c7836b1f89b85458672dbb127e1" "checksum fern 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)" = "29d26fa0f4d433d1956746e66ec10d6bf4d6c8b93cd39965cceea7f7cc78c7dd" "checksum float-ord 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7bad48618fdb549078c333a7a8528acb57af271d0433bdecd523eb620628364e" -"checksum fluent 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "031b063c27fe3c84b1b6d71cf051489ed6a7c8a27af38f6a1e2496a6099ea907" -"checksum fluent-bundle 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a174fca36ad5c5010b6b0e95b7b5ce2c8245cafc764e6bf4b49e471dc0d5fe77" -"checksum fluent-locale 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "dbb3083f0b2ff3fdb50d1534a5665732eed47a31527886030ea39a35d3e497be" +"checksum fluent 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8d560a76b2b0384dfa064a2f99946e5fc83af2165b975a63e8ebe03dfabf89f0" +"checksum fluent-bundle 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ae5c8a0179a4ab2150b3357b4ee4cb21006d1ad99f5b5563225756b193d14fdc" +"checksum fluent-locale 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "50f626739113990f6ee64eff9b9e92621688dfd8a5d1b6eab94741bb5eddbc96" "checksum fluent-syntax 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cd33f0ec4141fae9f6d6183c30504275b8a4c843b02517d17098593244ad4617" "checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" -"checksum font-kit 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5be0133b580e2920076afd5bd4b81dc172d10e5653bd1c516476718d52347859" +"checksum font-kit 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "17b7ff8d2a0a660875d01689807925a45c5843bf90a1ef97ec52ef86ab0cafba" "checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" "checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" "checksum freetype 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "11926b2b410b469d0e9399eca4cbbe237a9ef02176c485803b29216307e8e028" @@ -3796,7 +3827,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec" "checksum genmesh 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "093d52460513e54346e440eadad05a799378654001d7c3a384c3d1e59b5f1e9f" "checksum getrandom 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "cd8e190892c840661957ba9f32dacfb3eb405e657f9f9f60485605f0bb37d6f8" -"checksum getset 0.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "19fbde0fad0c1c1f9474694b1f5c9ba22b09f2f74f74e6d2bd19c43f6656e2cb" +"checksum getset 0.0.8 (registry+https://github.com/rust-lang/crates.io-index)" = "117a5b13aecd4e10161bb3feb22dda898e8552836c2391d8e4645d5e703ab866" "checksum gfx-backend-empty 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "aa324c358dda5cf4b06063421e4a6d8d83ca8a139b01bf3582b3adf4bb1104b4" "checksum gfx-backend-metal 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "db5b351c63128e2ef91feae518ace45815bdd146603ad17a4596c17fd19acd5f" "checksum gfx-backend-vulkan 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b3c3947889fe783aa17c4ca184f18d1142e61a4aaa292715ada4b8bf75a6a6e1" @@ -3806,9 +3837,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb" "checksum glsl-layout 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "14f478c3f21bac9b4ebd8514d568fa65c07d96d3c56e60dbd770511c51c80bef" "checksum glsl-layout-derive 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "35f88692bbf55a4d3c8907b46364ab5ab13984c58aae6f6c9d89760b95c739de" -"checksum glyph_brush 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "9cb83c7711eb335fed6a825b8b50a2ad3418bbfcb2b3bd4394c6e68346fb660d" -"checksum glyph_brush_layout 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "02ef0106c046a31550589e2213f3ae22b25f3b57fb3b6d937416353079837380" -"checksum hashbrown 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e1de41fb8dba9714efd92241565cdff73f78508c95697dd56787d3cba27e2353" +"checksum glyph_brush 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6ec4a0787fffc6692ec1ccef9fe09a8e02df1b7fc8fadd5af96662dc979473f9" +"checksum glyph_brush_layout 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "62b6d460a62dc8a2d3402689b02824ca03d40ec6f1673b9d2016d1f30ce5cb62" "checksum hashbrown 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2bcea5b597dd98e6d1f1ec171744cc5dee1a30d1c23c5b98e3cf9d4fbdf8a526" "checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" "checksum hibitset 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "6527bc88f32e0d3926c7572874b2bf17a19b36978aacd0aacf75f7d27a5992d0" @@ -3816,11 +3846,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum hound 3.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8a164bb2ceaeff4f42542bdb847c41517c78a60f5649671b2a07312b6e117549" "checksum image 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)" = "99198e595d012efccf12abf4abc08da2d97be0b0355a2b08d101347527476ba4" "checksum inflate 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "1cdb29978cc5797bd8dcc8e5bf7de604891df2a8dc576973d71a281e916db2ff" -"checksum intl_pluralrules 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8f4cbf667b8cb0fec29160019036a35851da8fb8731de904734da66fd5087174" +"checksum intl_pluralrules 4.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "914dfd30afec12b332108e91a892988be4a91ce907b29c59c01348b73f06edce" "checksum inventory 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "21df85981fe094480bc2267723d3dc0fd1ae0d1f136affc659b7398be615d922" "checksum inventory-impl 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8a877ae8bce77402d5e9ed870730939e097aad827b2a932b361958fa9d6e75aa" "checksum iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dbe6e417e7d0975db6512b90796e8ce223145ac4e33c377e4a42882a0e88bb08" -"checksum itertools 0.7.11 (registry+https://github.com/rust-lang/crates.io-index)" = "0d47946d458e94a1b7bcabbf6521ea7c037062c81f534615abcad76e84d4970d" +"checksum itertools 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f56a2d0bc861f9165be4eb3442afd3c236d8a98afd426f65d92324ae1091a484" "checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f" "checksum jpeg-decoder 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "c8b7d43206b34b3f94ea9445174bda196e772049b9bddbc620c9d29b2d20110d" "checksum js-sys 0.3.25 (registry+https://github.com/rust-lang/crates.io-index)" = "da3ea71161651a4cd97d999b2da139109c537b15ab33abc8ae4ead38deac8a03" @@ -3838,10 +3868,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ae91b68aebc4ddb91978b11a1b02ddd8602a05ec19002801c5666000e05e0f83" "checksum lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c" "checksum lock_api 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ed946d4529956a20f2d63ebe1b69996d5a2137c91913fe3ebbeff957f5bca7ff" +"checksum lock_api 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e57b3997725d2b60dbec1297f6c2e2957cc383db1cebd6be812163f969c7d586" "checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" "checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7" -"checksum lyon_geom 0.12.7 (registry+https://github.com/rust-lang/crates.io-index)" = "bdb9bf1f1d43be9a9cc2343a7a096dc113cc25337a13e8f99721b01d1d548b60" -"checksum lyon_path 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e9dc8e0746b7cca11960b602f7fe037bb067746a01eab4aa502fed1494544843" +"checksum lyon_geom 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ca04310c9807612a311506106000b6eccb2e27bca9bfb594ce80fb8a31231f9d" +"checksum lyon_path 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0bcb57ac24a5428539e2c7c0592766d5933c937d703f430990c669c00de96862" "checksum lzw 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7d947cbb889ed21c2a84be6ffbaebf5b4e0f4340638cba0444907e38b56be084" "checksum mach 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "86dd2487cdfea56def77b88438a2c915fb45113c5319bfe7e14306ca4cd0b0e1" "checksum malloc_buf 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" @@ -3849,7 +3880,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum matrixmultiply 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dcfed72d871629daa12b25af198f110e8095d7650f5f4c61c5bac28364604f9b" "checksum memchr 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "148fab2e51b4f1cfc66da2a7c32981d1d3c083a803978268bb11fe4b86925e7a" "checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e" -"checksum memmap 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e2ffa2c986de11a9df78620c01eeaaf27d94d3ff02bf81bfcca953102dd0c6ff" "checksum memmap 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6585fd95e7bb50d6cc31e20d4cf9afb4e2ba16c5846fc76793f11218da9c475b" "checksum memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ce6075db033bbbb7ee5a0bbd3a3186bbae616f57fb001c485c7ff77955f8177f" "checksum metal 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)" = "508aa26b306fdc5b927b200f9d16d9eb668c3d4034f0354242bf5be15f0bb431" @@ -3888,9 +3918,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f0802bff09003b291ba756dc7e79313e51cc31667e94afbe847def490424cde5" "checksum parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ab41b4aed082705d1056416ae4468b6ea99d52599ecf3169b00088d43113e337" "checksum parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fa7767817701cce701d5585b9c4db3cdd02086398322c1d7e8bf5094a96a2ce7" +"checksum parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" "checksum parking_lot_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ad7f7e6ebdc79edff6fdcb87a55b620174f7a989e3eb31b65231f4af57f00b8c" "checksum parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94c8c7923936b28d546dfd14d4472eaf34c99b14e1c973a32b3e6d4eb04298c9" "checksum parking_lot_core 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cb88cb1cb3790baa6776844f968fea3be44956cf184fa1be5a03341f5491278c" +"checksum parking_lot_core 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b" "checksum paste 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "1f4a4a1c555c6505821f9d58b8779d0f630a6b7e4e1be24ba718610acf01fa79" "checksum paste-impl 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "26e796e623b8b257215f27e6c80a5478856cae305f5b59810ff9acdaa34570e6" "checksum peeking_take_while 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" @@ -3907,7 +3939,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum proc-macro2 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "1b06e2f335f48d24442b35a19df506a835fb3547bc3c06ef27340da9acf5cae7" "checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" "checksum proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "afdc77cc74ec70ed262262942ebb7dac3d479e9e5cfa2da1841c0806f6cdabcc" -"checksum proc_macro_roids 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "269db0cab15808b7ec3c485efbd4409318da49cb40f0fedd956e0ed149935abb" +"checksum proc_macro_roids 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1dac7aead70ffe57c13470bcee836b513958a3ea774a0b383171f8a7a0a09d7d" "checksum quickcheck 0.8.5 (registry+https://github.com/rust-lang/crates.io-index)" = "9c35d9c36a562f37eca96e79f66d5fd56eefbc22560dacc4a864cabd2d277456" "checksum quote 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1eca14c727ad12702eb4b6bfb5a232287dcf8385cb8ca83a3eeaf6519c44c408" "checksum quote 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9949cfe66888ffe1d53e6ec9d9f3b70714083854be20fd5e271b232a017401e8" @@ -3965,6 +3997,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" "checksum rustc_version_runtime 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6de8ecd7fad7731f306f69b6e10ec5a3178c61e464dcc06979427aa4cc891145" "checksum rusttype 0.7.7 (registry+https://github.com/rust-lang/crates.io-index)" = "654103d61a05074b268a107cf6581ce120f0fc0115f2610ed9dfea363bb81139" +"checksum rusttype 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "14a911032fb5791ccbeec9f28fdcb9bf0983b81f227bafdfd227c658d0731c8a" "checksum ryu 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c92464b447c0ee8c4fb3824ecc8383b81717b9f1e74ba2e72540aef7b9f82997" "checksum same-file 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "585e8ddcedc187886a30fa705c47985c3fa88d06624095856b36ca0b82ff4421" "checksum scoped_threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8" @@ -3980,7 +4013,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum servo-fontconfig-sys 4.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "b46d201addcfbd25c1798ad1281d98c40743824e0b0f1e611bd3d5d0d31a7b8d" "checksum servo-freetype-sys 4.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "2c4ccb6d0d32d277d3ef7dea86203d8210945eb7a45fba89dd445b3595dd0dfc" "checksum shared_library 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "5a9e7e0f2bfae24d8a5b5a66c5b257a83c7412304311512a0c054cd5e619da11" -"checksum shred 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6ea122e6133568144fcfb5888737d4ac776ebc959f989dd65b907136ac22bfed" "checksum shred 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d15d46c92f8c0aed110a132f3c68a8cdd390048f51fa547c89dc571ba1e01191" "checksum shred-derive 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c245c03fd923292ae18e01eadf65606fdc995c175433104ef3eee956db7c2d7" "checksum shrev 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b5752e017e03af9d735b4b069f53b7a7fd90fefafa04d8bd0c25581b0bff437f" @@ -3997,6 +4029,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum stackvector 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "1c4725650978235083241fab0fdc8e694c3de37821524e7534a1a9061d1068af" "checksum static_assertions 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b4f8de36da215253eb5f24020bfaa0646613b48bf7ebe36cdfa37c3b3b33b241" "checksum stb_truetype 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "69b7df505db8e81d54ff8be4693421e5b543e08214bd8d99eb761fcb4d5668ba" +"checksum stb_truetype 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f77b6b07e862c66a9f3e62a07588fee67cd90a9135a2b942409f195507b4fb51" "checksum stdweb 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ef5430c8e36b713e13b48a9f709cc21e046723fe44ce34587b73a830203b533e" "checksum storage-map 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "cb94f167ccba0941876c8e722e888be8b4c05511ffdacc8cfcd4c647adfd424d" "checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" @@ -4010,14 +4043,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum thread_profiler 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "71b370904e74ab0a4264c6618d728a701c98bd4cd665eb4b4cc63d2c38034a0d" "checksum tiff 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1e4834f28a0330cb9f3f2c87d2649dca723cb33802e2bdcf18da32759fbec7ce" "checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f" +"checksum tinystr 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4bac79c4b51eda1b090b1edebfb667821bbb51f713855164dc7cec2cb8ac2ba3" "checksum tuple_utils 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "44834418e2c5b16f47bedf35c28e148db099187dd5feee6367fb2525863af4f1" "checksum twox-hash 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e7834480552ffc48e1930ceddd701f47d2234319d80b7bcbbe2fe7202933c101" "checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169" "checksum ucd-util 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "fa9b3b49edd3468c0e6565d85783f51af95212b6fa3986a5500954f00b460874" -"checksum unic-langid 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "33288471bc3e172fa79b2961474221b7d093b4f049e0408d65c898a6984a8497" -"checksum unic-langid-impl 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0f30ec13e6bc207e9db3cb07d50b43ceb5659a996d019d226e6b0bcfab48b0c3" -"checksum unic-langid-macros 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "197eef46da6708b77f05bde40a2a10e5792676ef1012c4a1ca9d023a7fac4411" -"checksum unic-langid-macros-impl 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "abb939907a0153c889d20f3ccc8eb38b54e21c018a0194a9a539114c0996322e" +"checksum unic-langid 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7f209d65ab52de48d87c1845576d2d44f2b36553b8daa4c7f7a7383781f5750c" +"checksum unic-langid-impl 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b22a3f781a9cb3588f751337fa7989472923973d546020d91da8e5d1cd5544" +"checksum unic-langid-macros 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e856895dc86bc3a3a341cde3bcc04114bfd37a2e104c61a4a14c520df004851f" +"checksum unic-langid-macros-impl 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a9b80c946a565797c2cc44414b29d54e19103ff9fd51a3dc3aed7523deb3fc68" "checksum unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "141339a08b982d942be2ca06ff8b076563cbe223d1befd5450716790d44e2426" "checksum unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1967f4cdfc355b37fd76d2a954fb2ed3871034eb4f26d60537d88795cfc332a9" "checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526" @@ -4056,5 +4090,5 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum x11-dl 2.18.3 (registry+https://github.com/rust-lang/crates.io-index)" = "940586acb859ea05c53971ac231685799a7ec1dee66ac0bccc0e6ad96e06b4e3" "checksum xcb 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5e917a3f24142e9ff8be2414e36c649d47d6cc2ba81f16201cdef96e533e02de" "checksum xdg 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d089681aa106a86fade1b0128fb5daf07d5867a509ab036d99988dec80429a57" -"checksum xi-unicode 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "12ea8eda4b1eb72f02d148402e23832d56a33f55d8c1b2d5bcdde91d79d47cb1" +"checksum xi-unicode 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7395cdb9d0a6219fa0ea77d08c946adf9c1984c72fcd443ace30365f3daadef7" "checksum xml-rs 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "541b12c998c5b56aa2b4e6f18f03664eef9a4fd0a246a55594efae6cc2d964b5" diff --git a/Cargo.toml b/Cargo.toml index e77f70b..f9fa387 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,7 +5,7 @@ authors = ["Hilmar Wiegand "] edition = "2018" [dependencies] -amethyst = "0.13.0" +amethyst = "0.13.2" log = { version = "0.4.8", features = ["serde"] } [features] diff --git a/resources/bindings.ron b/resources/bindings.ron new file mode 100644 index 0000000..414c217 --- /dev/null +++ b/resources/bindings.ron @@ -0,0 +1,6 @@ +( + axes: {}, + actions: { + "flap": [[Key(Space)]], + }, +) diff --git a/resources/display_config.ron b/resources/display_config.ron index 2b16d7b..3f50ce8 100644 --- a/resources/display_config.ron +++ b/resources/display_config.ron @@ -1,4 +1,4 @@ ( - title: "amethyst-cli-starter-2d", - dimensions: Some((800, 600)), + title: "test", + dimensions: Some((432, 768)), ) diff --git a/resources/sprites/flappy.png b/resources/sprites/flappy.png new file mode 100644 index 0000000000000000000000000000000000000000..71ab80bf1f0bd94724951ff2bf6f6cedbf3eae0e GIT binary patch literal 29296 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 literal 0 HcmV?d00001 diff --git a/resources/sprites/flappy.ron b/resources/sprites/flappy.ron new file mode 100644 index 0000000..0d38431 --- /dev/null +++ b/resources/sprites/flappy.ron @@ -0,0 +1,42 @@ +( + texture_width: 512, + texture_height: 512, + sprites: [ + ( // Daytime background + x: 0, + y: 0, + width: 144, + height: 256, + ), + ( // Nighttime background + x: 146, + y: 0, + width: 144, + height: 256, + ), + ( // Down Pipe + x: 56, + y: 323, + width: 26, + height: 160, + ), + ( // Up Pipe + x: 84, + y: 323, + width: 26, + height: 160, + ), + ( // Ground + x: 292, + y: 0, + width: 168, + height: 56, + ), + ( // Floppy + x: 3, + y: 490, + width: 17, + height: 13, + ) + ] +) \ No newline at end of file diff --git a/src/components.rs b/src/components.rs new file mode 100644 index 0000000..4094a0b --- /dev/null +++ b/src/components.rs @@ -0,0 +1,38 @@ +use amethyst::{ + core::transform::TransformBundle, + core::transform::Transform, + prelude::*, + renderer::{ + plugins::{RenderFlat2D, RenderToWindow}, + types::DefaultBackend, + RenderingBundle, + }, + utils::application_root_dir, + core::SystemDesc, + derive::SystemDesc, + ecs::prelude::{Component, DenseVecStorage, Entity}, + ecs::prelude::{Join, ReadStorage, System, SystemData, WriteStorage}, +}; + + +// Falling object component to bucket us into something the system can manipulate +#[derive(Clone)] +pub struct TiledScroller { + pub speed: f32, + pub width: f32, + pub height: f32, + pub position: f32, +} +impl Component for TiledScroller { + type Storage = DenseVecStorage; +} + +// Falling object component to bucket us into something the system can manipulate +pub struct Birb { + pub vertical_speed: f32, + pub starting_height: f32, + pub position: f32, +} +impl Component for Birb { + type Storage = DenseVecStorage; +} diff --git a/src/main.rs b/src/main.rs index 8db1b7e..d8d130b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,5 +1,10 @@ +mod components; +mod systems; +mod state; use amethyst::{ + input::{InputBundle, StringBindings}, core::transform::TransformBundle, + core::transform::Transform, prelude::*, renderer::{ plugins::{RenderFlat2D, RenderToWindow}, @@ -7,20 +12,38 @@ use amethyst::{ RenderingBundle, }, utils::application_root_dir, + core::SystemDesc, + derive::SystemDesc, + ecs::prelude::{Component, DenseVecStorage, Entity}, + ecs::prelude::{Join, ReadStorage, System, SystemData, WriteStorage}, }; -mod state; +use crate::components::*; +use crate::systems::*; +use std::path::PathBuf; +use std::str::FromStr; fn main() -> amethyst::Result<()> { - amethyst::start_logger(Default::default()); - let app_root = application_root_dir()?; + //amethyst::start_logger(Default::default()); + // Gets the root directory of the application + let mut app_root = PathBuf::from_str("/home/mrh/source/amethyst-starter-2d/")?; + + // join on the resources path, and the config. let resources = app_root.join("resources"); let display_config = resources.join("display_config.ron"); + let binding_path = resources.join("bindings.ron"); + + let input_bundle = InputBundle::::new() + .with_bindings_from_file(binding_path)?; + // let game_data = GameDataBuilder::default() .with_bundle(TransformBundle::new())? + .with_bundle(input_bundle)? + .with(ScrollScrollables, "scroll", &[]) + .with(BirbGravity{ fired: false }, "gravity", &["input_system"]) .with_bundle( RenderingBundle::::new() .with_plugin( @@ -30,6 +53,7 @@ fn main() -> amethyst::Result<()> { .with_plugin(RenderFlat2D::default()), )?; + // Creates the app with the startup state and bound game data let mut game = Application::new(resources, state::MyState, game_data)?; game.run(); diff --git a/src/state.rs b/src/state.rs index 37e15c2..7bed6aa 100644 --- a/src/state.rs +++ b/src/state.rs @@ -1,17 +1,22 @@ use amethyst::{ assets::{AssetStorage, Loader}, core::transform::Transform, + core::math::Vector3, input::{get_key, is_close_requested, is_key_down, VirtualKeyCode}, prelude::*, renderer::{Camera, ImageFormat, SpriteRender, SpriteSheet, SpriteSheetFormat, Texture}, window::ScreenDimensions, + ecs::prelude::{Component, DenseVecStorage, Entity}, }; use log::info; +use crate::components::*; +use std::collections::HashMap; pub struct MyState; impl SimpleState for MyState { + // On start will run when this state is initialized. For more // state lifecycle hooks, see: // https://book.amethyst.rs/stable/concepts/state.html#life-cycle @@ -23,7 +28,9 @@ impl SimpleState for MyState { // pass the world mutably to the following functions. let dimensions = (*world.read_resource::()).clone(); + // Place the camera + /// function sets size of camera window init_camera(world, &dimensions); // Load our sprites and display them @@ -36,6 +43,7 @@ impl SimpleState for MyState { mut _data: StateData<'_, GameData<'_, '_>>, event: StateEvent, ) -> SimpleTrans { + if let StateEvent::Window(event) = &event { // Check if the window should be closed if is_close_requested(&event) || is_key_down(&event, VirtualKeyCode::Escape) { @@ -44,7 +52,7 @@ impl SimpleState for MyState { // Listen to any key events if let Some(event) = get_key(&event) { - info!("handling key event: {:?}", event); + // info!("handling key event: {:?}", event); } // If you're looking for a more sophisticated event handling solution, @@ -55,6 +63,10 @@ impl SimpleState for MyState { // Keep going Trans::None } + + fn update(&mut self, data: &mut StateData<'_, GameData<'_, '_>>) -> SimpleTrans { + Trans::None + } } fn init_camera(world: &mut World, dimensions: &ScreenDimensions) { @@ -70,7 +82,7 @@ fn init_camera(world: &mut World, dimensions: &ScreenDimensions) { .build(); } -fn load_sprites(world: &mut World) -> Vec { +fn load_sprites(world: &mut World) -> HashMap { // Load the texture for our sprites. We'll later need to // add a handle to this texture to our `SpriteRender`s, so // we need to keep a reference to it. @@ -78,7 +90,7 @@ fn load_sprites(world: &mut World) -> Vec { let loader = world.read_resource::(); let texture_storage = world.read_resource::>(); loader.load( - "sprites/logo.png", + "sprites/flappy.png", ImageFormat::default(), (), &texture_storage, @@ -91,40 +103,96 @@ fn load_sprites(world: &mut World) -> Vec { let loader = world.read_resource::(); let sheet_storage = world.read_resource::>(); loader.load( - "sprites/logo.ron", + "sprites/flappy.ron", SpriteSheetFormat(texture_handle), (), &sheet_storage, ) }; - // Create our sprite renders. Each will have a handle to the texture - // that it renders from. The handle is safe to clone, since it just - // references the asset. - (0..3) - .map(|i| SpriteRender { + let sprite_map = vec![ + (0, "day-background".to_string()), + (1, "night-background".to_string()), + (2, "down-pipe".to_string()), + (3, "up-pipe".to_string()), + (4, "ground".to_string()), + (5, "floppy".to_string()), + ]; + + sprite_map.iter() + .map(|i| (i.1.clone(), SpriteRender { sprite_sheet: sheet_handle.clone(), - sprite_number: i, - }) + sprite_number: i.0, + })) .collect() } -fn init_sprites(world: &mut World, sprites: &[SpriteRender], dimensions: &ScreenDimensions) { - for (i, sprite) in sprites.iter().enumerate() { - // Center our sprites around the center of the window - let x = (i as f32 - 1.) * 100. + dimensions.width() * 0.5; - let y = (i as f32 - 1.) * 100. + dimensions.height() * 0.5; - let mut transform = Transform::default(); - transform.set_translation_xyz(x, y, 0.); - - // Create an entity for each sprite and attach the `SpriteRender` as - // well as the transform. If you want to add behaviour to your sprites, - // you'll want to add a custom `Component` that will identify them, and a - // `System` that will iterate over them. See https://book.amethyst.rs/stable/concepts/system.html - world - .create_entity() - .with(sprite.clone()) - .with(transform) - .build(); - } +fn init_sprites(world: &mut World, sprites: &HashMap, dimensions: &ScreenDimensions) { + + let background_sprite = sprites.get("day-background").unwrap(); + + + let background_object = TiledScroller { + speed: -75.0, + position: 1.0, + width: 144.0 * 3.0, + height: 256.0 * 3.0, + }; + + let mut transform = Transform::default(); + transform.set_scale(Vector3::new(3.0, 3.0, 3.0)); + transform.set_translation_xyz(background_object.width/2.0, background_object.height/2.0, 0.0); + + + world + .create_entity() + .with(background_sprite.clone()) // Sprite Render + .with(background_object.clone()) + .with(transform.clone()) + .build(); + + transform.set_translation_xyz(3.0*144.0/2.0*3.0, 3.0*256.0/2.0, 0.0); + + world + .create_entity() + .with(background_sprite.clone()) // Sprite Render + .with(TiledScroller { + speed: -75.0, + position: 2.0, + width: 0.0, + height: 0.0 + }) + .with(transform.clone()) + .build(); + + let ground_sprite = sprites.get("ground").unwrap(); + transform.set_translation_xyz(3.0*168.0/2.0*3.0, 3.0*56.0/2.0, 0.1); + + world + .create_entity() + .with(ground_sprite.clone()) // Sprite Render + .with(TiledScroller { + speed: -100.0, + position: 2.0, + width: 0.0, + height: 0.0, + }) + .with(transform.clone()) + .build(); + + let birb_sprite = sprites.get("floppy").unwrap(); + transform.set_translation_xyz(dimensions.width()/2.0, dimensions.height()/2.0, 0.2); + + + world + .create_entity() + .with(birb_sprite.clone()) // Sprite Render + .with(Birb { + vertical_speed: 0.0, + position: 0.0, + starting_height: 0.0 + }) + .with(transform) + .build(); + } diff --git a/src/systems.rs b/src/systems.rs new file mode 100644 index 0000000..d3796e9 --- /dev/null +++ b/src/systems.rs @@ -0,0 +1,62 @@ +use amethyst::{ + core::SystemDesc, + core::timing::Time, + core::transform::{Transform, TransformBundle}, + derive::SystemDesc, + ecs::prelude::{}, + ecs::prelude::{ + Component, DenseVecStorage, Entity, Join, Read, + ReadStorage, System, SystemData, WriteStorage + }, + input::{InputHandler, StringBindings}, +}; + +use log::info; +use crate::components::*; + +pub struct ScrollScrollables; + +// This system iterates all the objects with transform (and falling object) component +impl<'a> System<'a> for ScrollScrollables { + type SystemData = ( + WriteStorage<'a, Transform>, + WriteStorage<'a, TiledScroller>, + Read<'a, Time>, + ); + + fn run(&mut self, (mut transforms, mut scrolling, time): Self::SystemData) { + for (mut transform, mut object) in (&mut transforms, &mut scrolling).join() { + + // I need to tile it by it's width + transform.prepend_translation_x(object.speed * time.delta_seconds()); + if transform.translation().x+144.0*1.5 < 0.0 { + transform.set_translation_x(144.0*3.0/2.0*3.0); + } + } + } +} + +pub struct BirbGravity { + pub fired: bool, +} + +// This system iterates all the objects with transform (and falling object) component +impl<'a> System<'a> for BirbGravity { + type SystemData = ( + WriteStorage<'a, Transform>, + WriteStorage<'a, Birb>, + Read<'a, Time>, + Read<'a, InputHandler>, + ); + + fn run(&mut self, (mut transforms, mut scrolling, time, input): Self::SystemData) { + for (mut transform, mut object) in (&mut transforms, &mut scrolling).join() { + + if input.action_is_down("flap").expect("No action") { + object.vertical_speed = 500.0; + } + object.vertical_speed -= 1000.0 * time.delta_seconds(); + transform.prepend_translation_y(object.vertical_speed * time.delta_seconds()); + } + } +} \ No newline at end of file