[INFO] cloning repository https://github.com/DukeTresnor/jumper
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/DukeTresnor/jumper" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDukeTresnor%2Fjumper", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDukeTresnor%2Fjumper'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e6f4bfcd43d6bec94695d5f700a145041fe7fb25
[INFO] checking DukeTresnor/jumper against try#b98202ad067d72e45cec8be3d5c15d86ef0fd086 for pr-155193
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDukeTresnor%2Fjumper" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/DukeTresnor/jumper
[INFO] finished tweaking git repo https://github.com/DukeTresnor/jumper
[INFO] tweaked toml for git repo https://github.com/DukeTresnor/jumper written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/DukeTresnor/jumper on toolchain b98202ad067d72e45cec8be3d5c15d86ef0fd086
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b98202ad067d72e45cec8be3d5c15d86ef0fd086" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/DukeTresnor/jumper already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b98202ad067d72e45cec8be3d5c15d86ef0fd086" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b98202ad067d72e45cec8be3d5c15d86ef0fd086" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] da7ce1508894c0ca0bc2e7ebebb3080b4b7ad65b566e782a4d77d04c0c1a71a9
[INFO] running `Command { std: "docker" "start" "-a" "da7ce1508894c0ca0bc2e7ebebb3080b4b7ad65b566e782a4d77d04c0c1a71a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "da7ce1508894c0ca0bc2e7ebebb3080b4b7ad65b566e782a4d77d04c0c1a71a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "da7ce1508894c0ca0bc2e7ebebb3080b4b7ad65b566e782a4d77d04c0c1a71a9", kill_on_drop: false }`
[INFO] [stdout] da7ce1508894c0ca0bc2e7ebebb3080b4b7ad65b566e782a4d77d04c0c1a71a9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b98202ad067d72e45cec8be3d5c15d86ef0fd086" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 07f19e8d59e01ead1af7df8f9e64b9e142e780837fe53e1caab51c8a38b06a42
[INFO] running `Command { std: "docker" "start" "-a" "07f19e8d59e01ead1af7df8f9e64b9e142e780837fe53e1caab51c8a38b06a42", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.75
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling serde v1.0.194
[INFO] [stderr]    Compiling libc v0.2.151
[INFO] [stderr]     Checking once_cell v1.19.0
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]     Checking pin-project-lite v0.2.13
[INFO] [stderr]    Compiling crossbeam-utils v0.8.18
[INFO] [stderr]    Compiling thiserror v1.0.56
[INFO] [stderr]     Checking zerocopy v0.7.32
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]    Compiling hashbrown v0.14.3
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]     Checking allocator-api2 v0.2.16
[INFO] [stderr]    Compiling toml_datetime v0.6.5
[INFO] [stderr]    Compiling winnow v0.5.32
[INFO] [stderr]     Checking parking v2.2.0
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]     Checking memchr v2.7.1
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]     Checking log v0.4.20
[INFO] [stderr]     Checking fastrand v2.0.1
[INFO] [stderr]     Checking event-listener v2.5.3
[INFO] [stderr]     Checking futures-io v0.3.30
[INFO] [stderr]     Checking futures-lite v2.1.0
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]     Checking async-task v4.6.0
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]     Checking waker-fn v1.1.1
[INFO] [stderr]     Checking fastrand v1.9.0
[INFO] [stderr]     Checking thread_local v1.1.7
[INFO] [stderr]     Checking smol_str v0.2.0
[INFO] [stderr]     Checking bevy_ptr v0.12.1
[INFO] [stderr]     Checking downcast-rs v1.2.0
[INFO] [stderr]     Checking aho-corasick v1.1.2
[INFO] [stderr]     Checking regex-syntax v0.8.2
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling indexmap v2.1.0
[INFO] [stderr]     Checking futures-lite v1.13.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.9
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling pkg-config v0.3.28
[INFO] [stderr]     Checking tracing-log v0.1.4
[INFO] [stderr]     Checking concurrent-queue v2.4.0
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]     Checking raw-window-handle v0.5.2
[INFO] [stderr]    Compiling syn v2.0.47
[INFO] [stderr]     Checking event-listener v4.0.2
[INFO] [stderr]     Checking async-channel v1.9.0
[INFO] [stderr]    Compiling ahash v0.8.7
[INFO] [stderr]     Checking arrayvec v0.7.4
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking event-listener-strategy v0.4.0
[INFO] [stderr]     Checking termcolor v1.4.0
[INFO] [stderr]     Checking unicode-xid v0.2.4
[INFO] [stderr]     Checking unicode-width v0.1.11
[INFO] [stderr]     Checking pp-rs v0.2.1
[INFO] [stderr]     Checking async-lock v3.2.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.10
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]    Compiling getrandom v0.2.11
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling uuid v1.6.1
[INFO] [stderr]    Compiling lock_api v0.4.11
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling toml_edit v0.20.7
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]     Checking libloading v0.7.4
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]    Compiling ash v0.37.3+1.3.251
[INFO] [stderr]    Compiling khronos-egl v4.1.0
[INFO] [stderr]     Checking piper v0.2.1
[INFO] [stderr]     Checking async-executor v1.8.0
[INFO] [stderr]    Compiling async-fs v1.6.0
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]     Checking async-channel v2.1.1
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]     Checking accesskit v0.12.2
[INFO] [stderr]     Checking miniz_oxide v0.7.1
[INFO] [stderr]     Checking bevy_tasks v0.12.1
[INFO] [stderr]     Checking spirv v0.2.0+1.5.4
[INFO] [stderr]     Checking async-lock v2.8.0
[INFO] [stderr]     Checking libloading v0.8.1
[INFO] [stderr]     Checking constant_time_eq v0.3.0
[INFO] [stderr]     Checking regex-automata v0.4.3
[INFO] [stderr]     Checking profiling v1.0.13
[INFO] [stderr]     Checking glow v0.12.3
[INFO] [stderr]     Checking arrayref v0.3.7
[INFO] [stderr]     Checking renderdoc-sys v1.0.0
[INFO] [stderr]     Checking base64 v0.21.5
[INFO] [stderr]    Compiling thiserror-core v1.0.50
[INFO] [stderr]     Checking fdeflate v0.3.3
[INFO] [stderr]     Checking flate2 v1.0.28
[INFO] [stderr]     Checking async-broadcast v0.5.1
[INFO] [stderr]     Checking constgebra v0.1.3
[INFO] [stderr]     Checking twox-hash v1.6.3
[INFO] [stderr]     Checking const_panic v0.2.8
[INFO] [stderr]     Checking regex-syntax v0.7.5
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking data-encoding v2.5.0
[INFO] [stderr]     Checking radsort v0.1.0
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]    Compiling xml-rs v0.8.19
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling libudev-sys v0.1.4
[INFO] [stderr]     Checking euclid v0.22.9
[INFO] [stderr]     Checking png v0.17.10
[INFO] [stderr]     Checking ttf-parser v0.20.0
[INFO] [stderr]    Compiling serde_json v1.0.110
[INFO] [stderr]    Compiling cfg_aliases v0.1.1
[INFO] [stderr]     Checking svg_fmt v0.4.1
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]    Compiling slotmap v1.0.7
[INFO] [stderr]    Compiling cpal v0.15.2
[INFO] [stderr]     Checking ryu v1.0.16
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.8
[INFO] [stderr]    Compiling inflections v1.1.1
[INFO] [stderr]     Checking itoa v1.0.10
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]     Checking alsa v0.7.1
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]     Checking inotify v0.10.2
[INFO] [stderr]     Checking mio v0.8.10
[INFO] [stderr]     Checking guillotiere v0.6.2
[INFO] [stderr]     Checking ogg v0.8.0
[INFO] [stderr]     Checking regex v1.10.2
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]    Compiling gilrs v0.10.4
[INFO] [stderr]     Checking dasp_sample v0.11.0
[INFO] [stderr]     Checking xi-unicode v0.3.0
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking grid v0.10.0
[INFO] [stderr]     Checking sysinfo v0.29.11
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking lewton v0.10.2
[INFO] [stderr]     Checking base64 v0.13.1
[INFO] [stderr]    Compiling paste v1.0.14
[INFO] [stderr]    Compiling matrixmultiply v0.3.8
[INFO] [stderr]     Checking taffy v0.3.18
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking num-complex v0.4.4
[INFO] [stderr]    Compiling bevy_macro_utils v0.12.1
[INFO] [stderr]    Compiling encase_derive_impl v0.6.1
[INFO] [stderr]     Checking owned_ttf_parser v0.20.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.17
[INFO] [stderr]     Checking ab_glyph v0.2.23
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking spin_sleep v1.1.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking glyph_brush_layout v0.2.3
[INFO] [stderr]    Compiling blake3 v1.5.0
[INFO] [stderr]    Compiling winit v0.28.7
[INFO] [stderr]     Checking accesskit_winit v0.15.0
[INFO] [stderr]    Compiling serde_derive v1.0.194
[INFO] [stderr]    Compiling bytemuck_derive v1.5.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.56
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling bevy_utils_proc_macros v0.12.1
[INFO] [stderr]    Compiling bevy_reflect_derive v0.12.1
[INFO] [stderr]    Compiling bevy_ecs_macros v0.12.1
[INFO] [stderr]    Compiling bevy_derive v0.12.1
[INFO] [stderr]    Compiling thiserror-core-impl v1.0.50
[INFO] [stderr]    Compiling bevy_asset_macros v0.12.1
[INFO] [stderr]    Compiling encase_derive v0.6.1
[INFO] [stderr]    Compiling bevy_encase_derive v0.12.1
[INFO] [stderr]    Compiling bevy_render_macros v0.12.1
[INFO] [stderr]    Compiling gltf-derive v1.4.0
[INFO] [stderr]    Compiling nalgebra-macros v0.2.1
[INFO] [stderr]     Checking ruzstd v0.4.0
[INFO] [stderr]     Checking bytemuck v1.14.0
[INFO] [stderr]     Checking image v0.24.7
[INFO] [stderr]     Checking safe_arch v0.7.1
[INFO] [stderr]     Checking wide v0.7.13
[INFO] [stderr]     Checking simba v0.8.1
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking blocking v1.5.1
[INFO] [stderr]     Checking smallvec v1.11.2
[INFO] [stderr]     Checking glam v0.24.2
[INFO] [stderr]     Checking bitflags v2.4.1
[INFO] [stderr]     Checking erased-serde v0.3.31
[INFO] [stderr]     Checking gpu-descriptor-types v0.1.2
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]     Checking naga v0.13.0
[INFO] [stderr]     Checking wgpu-types v0.17.0
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking nix v0.27.1
[INFO] [stderr]     Checking tracing-subscriber v0.3.18
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking gilrs-core v0.5.10
[INFO] [stderr]     Checking gpu-descriptor v0.2.4
[INFO] [stderr]     Checking rodio v0.17.3
[INFO] [stderr]     Checking gltf-json v1.4.0
[INFO] [stderr]     Checking petgraph v0.6.4
[INFO] [stderr]     Checking nalgebra v0.32.3
[INFO] [stderr]     Checking bevy_math v0.12.1
[INFO] [stderr]     Checking hexasphere v9.1.0
[INFO] [stderr]     Checking bevy_mikktspace v0.12.1
[INFO] [stderr]     Checking encase v0.6.1
[INFO] [stderr]     Checking gltf v1.4.0
[INFO] [stderr]     Checking bevy_utils v0.12.1
[INFO] [stderr]     Checking bevy_reflect v0.12.1
[INFO] [stderr]     Checking wgpu-hal v0.17.2
[INFO] [stderr]     Checking naga_oil v0.10.1
[INFO] [stderr]     Checking bevy_ecs v0.12.1
[INFO] [stderr]     Checking wgpu-core v0.17.1
[INFO] [stderr]     Checking wgpu v0.17.2
[INFO] [stderr]     Checking bevy_app v0.12.1
[INFO] [stderr]     Checking bevy_log v0.12.1
[INFO] [stderr]     Checking bevy_core v0.12.1
[INFO] [stderr]     Checking bevy_input v0.12.1
[INFO] [stderr]     Checking bevy_a11y v0.12.1
[INFO] [stderr]     Checking bevy_time v0.12.1
[INFO] [stderr]     Checking bevy_asset v0.12.1
[INFO] [stderr]     Checking bevy_hierarchy v0.12.1
[INFO] [stderr]     Checking bevy_diagnostic v0.12.1
[INFO] [stderr]     Checking bevy_transform v0.12.1
[INFO] [stderr]     Checking bevy_window v0.12.1
[INFO] [stderr]     Checking bevy_gilrs v0.12.1
[INFO] [stderr]     Checking bevy_winit v0.12.1
[INFO] [stderr]     Checking bevy_render v0.12.1
[INFO] [stderr]     Checking bevy_audio v0.12.1
[INFO] [stderr]     Checking bevy_core_pipeline v0.12.1
[INFO] [stderr]     Checking bevy_scene v0.12.1
[INFO] [stderr]     Checking bevy_animation v0.12.1
[INFO] [stderr]     Checking bevy_sprite v0.12.1
[INFO] [stderr]     Checking bevy_pbr v0.12.1
[INFO] [stderr]     Checking bevy_text v0.12.1
[INFO] [stderr]     Checking bevy_ui v0.12.1
[INFO] [stderr]     Checking bevy_gizmos v0.12.1
[INFO] [stderr]     Checking bevy_gltf v0.12.1
[INFO] [stderr]     Checking bevy_internal v0.12.1
[INFO] [stderr]     Checking bevy v0.12.1
[INFO] [stderr]     Checking bevy_framepace v0.14.1
[INFO] [stderr]     Checking jumper v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::main_menu::styles`
[INFO] [stdout]  --> src/main_menu/systems/layout.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::main_menu::styles;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy::prelude::*`
[INFO] [stdout]  --> src/game/debugger_systems/debugger_layout.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use bevy::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy::render::camera`
[INFO] [stdout]  --> src/game/systems.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use bevy::render::camera;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nalgebra::geometry::Translation`
[INFO] [stdout]   --> src/game/systems.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use nalgebra::geometry::Translation;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game::OVERALL_FRAME_RATE`
[INFO] [stdout]   --> src/game/systems.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::game::OVERALL_FRAME_RATE;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `default`
[INFO] [stdout]  --> src/game/resources.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{collections::HashMap, default};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `utils::HashMap`
[INFO] [stdout]  --> src/game/player/components.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use bevy::{prelude::*, utils::HashMap};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `systems::*`
[INFO] [stdout]   --> src/game/enemy/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use systems::*;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::AppState`
[INFO] [stdout]   --> src/game/enemy/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::AppState;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game::SimulationState`
[INFO] [stdout]   --> src/game/enemy/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::game::SimulationState;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::main_menu::styles`
[INFO] [stdout]  --> src/main_menu/systems/layout.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::main_menu::styles;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy::prelude::*`
[INFO] [stdout]  --> src/game/debugger_systems/debugger_layout.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use bevy::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy::render::camera`
[INFO] [stdout]  --> src/game/systems.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use bevy::render::camera;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nalgebra::geometry::Translation`
[INFO] [stdout]   --> src/game/systems.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use nalgebra::geometry::Translation;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game::OVERALL_FRAME_RATE`
[INFO] [stdout]   --> src/game/systems.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::game::OVERALL_FRAME_RATE;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `default`
[INFO] [stdout]  --> src/game/resources.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{collections::HashMap, default};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `utils::HashMap`
[INFO] [stdout]  --> src/game/player/components.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use bevy::{prelude::*, utils::HashMap};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `systems::*`
[INFO] [stdout]   --> src/game/enemy/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use systems::*;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::AppState`
[INFO] [stdout]   --> src/game/enemy/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::AppState;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game::SimulationState`
[INFO] [stdout]   --> src/game/enemy/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::game::SimulationState;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `bevy::ecs::event::EventReader::<'w, 's, E>::iter`: use `.read()` instead.
[INFO] [stdout]     --> src/game/player/systems.rs:2021:53
[INFO] [stdout]      |
[INFO] [stdout] 2021 |         for keyboard_event in keyboard_event_reader.iter() {
[INFO] [stdout]      |                                                     ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `bevy::ecs::event::EventReader::<'w, 's, E>::iter`: use `.read()` instead.
[INFO] [stdout]     --> src/game/player/systems.rs:2021:53
[INFO] [stdout]      |
[INFO] [stdout] 2021 |         for keyboard_event in keyboard_event_reader.iter() {
[INFO] [stdout]      |                                                     ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main_menu/systems/interactions.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut text = text_query.get_mut(children[0]).unwrap();
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `main_menu_entity`
[INFO] [stdout]   --> src/main_menu/systems/layout.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let main_menu_entity = build_main_menu(&mut commands, &asset_server);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_main_menu_entity`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]   --> src/game/debugger_systems/debugger_interactions.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     time: Res<Time>,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dummy_duration`
[INFO] [stdout]    --> src/game/systems.rs:209:9
[INFO] [stdout]     |
[INFO] [stdout] 209 |     let dummy_duration: Duration = Duration::from_secs_f64(dummy_delta);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dummy_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_number`
[INFO] [stdout]    --> src/game/systems.rs:211:58
[INFO] [stdout]     |
[INFO] [stdout] 211 |     for (animation_indices, mut timer, mut sprite_sheet, player_number) in animation_query.iter_mut() {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_width`
[INFO] [stdout]    --> src/game/systems.rs:253:9
[INFO] [stdout]     |
[INFO] [stdout] 253 |     let window_width = window.width();
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `light_crouching_hurt_offset`
[INFO] [stdout]    --> src/game/player/systems.rs:137:9
[INFO] [stdout]     |
[INFO] [stdout] 137 |     let light_crouching_hurt_offset = MARISA_LIGHT_CROUCHING_HURT_OFFSET;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_crouching_hurt_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `light_crouching_hurt_size`
[INFO] [stdout]    --> src/game/player/systems.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let light_crouching_hurt_size = MARISA_LIGHT_CROUCHING_HURT_SIZE;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_crouching_hurt_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `light_crouching_hurt_duration`
[INFO] [stdout]    --> src/game/player/systems.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |     let light_crouching_hurt_duration = MARISA_LIGHT_CROUCHING_HURT_DURATION;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_crouching_hurt_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `light_crouching_hurt_startup`
[INFO] [stdout]    --> src/game/player/systems.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |     let light_crouching_hurt_startup = MARISA_LIGHT_CROUCHING_HURT_STARTUP;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_crouching_hurt_startup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `light_crouching_hurt_active`
[INFO] [stdout]    --> src/game/player/systems.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |     let light_crouching_hurt_active = MARISA_LIGHT_CROUCHING_HURT_ACTIVE;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_crouching_hurt_active`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `light_crouching_hurt_cooldown`
[INFO] [stdout]    --> src/game/player/systems.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |     let light_crouching_hurt_cooldown = MARISA_LIGHT_CROUCHING_HURT_COOLDOWN;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_crouching_hurt_cooldown`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `light_crouching_hit_offset`
[INFO] [stdout]    --> src/game/player/systems.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |     let light_crouching_hit_offset = MARISA_LIGHT_CROUCHING_HIT_OFFSET;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_crouching_hit_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `light_crouching_hit_size`
[INFO] [stdout]    --> src/game/player/systems.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |     let light_crouching_hit_size = MARISA_LIGHT_CROUCHING_HIT_SIZE;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_crouching_hit_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `light_crouching_hit_startup`
[INFO] [stdout]    --> src/game/player/systems.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 |     let light_crouching_hit_startup = MARISA_LIGHT_CROUCHING_HIT_STARTUP;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_crouching_hit_startup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `light_crouching_hit_active`
[INFO] [stdout]    --> src/game/player/systems.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let light_crouching_hit_active = MARISA_LIGHT_CROUCHING_HIT_ACTIVE;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_crouching_hit_active`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `light_crouching_hit_cooldown`
[INFO] [stdout]    --> src/game/player/systems.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let light_crouching_hit_cooldown = MARISA_LIGHT_CROUCHING_HIT_COOLDOWN;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_crouching_hit_cooldown`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/game/player/systems.rs:735:72
[INFO] [stdout]     |
[INFO] [stdout] 735 |     for (mut animation_indeces, mut texture_atlas_sprite_sprite_sheet, mut movement_state, sprite_sheet_indeces, player_input) in p...
[INFO] [stdout]     |                                                                        ----^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                        |
[INFO] [stdout]     |                                                                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `movement_state`
[INFO] [stdout]    --> src/game/player/systems.rs:735:72
[INFO] [stdout]     |
[INFO] [stdout] 735 | ...e_sprite_sheet, mut movement_state, sprite_sheet_indeces, player_input) in player_query.iter_mut() {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_movement_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/game/player/systems.rs:839:21
[INFO] [stdout]     |
[INFO] [stdout] 839 |     for (transform, mut jump_velocity, action_state_vector) in player_query.iter_mut() {
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keyboard_input`
[INFO] [stdout]    --> src/game/player/systems.rs:833:5
[INFO] [stdout]     |
[INFO] [stdout] 833 |     keyboard_input: Res<Input<KeyCode>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_keyboard_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transform`
[INFO] [stdout]    --> src/game/player/systems.rs:839:10
[INFO] [stdout]     |
[INFO] [stdout] 839 |     for (transform, mut jump_velocity, action_state_vector) in player_query.iter_mut() {
[INFO] [stdout]     |          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `jump_velocity`
[INFO] [stdout]    --> src/game/player/systems.rs:839:21
[INFO] [stdout]     |
[INFO] [stdout] 839 |     for (transform, mut jump_velocity, action_state_vector) in player_query.iter_mut() {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_jump_velocity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `direction_jump_time_difference`
[INFO] [stdout]    --> src/game/player/systems.rs:842:14
[INFO] [stdout]     |
[INFO] [stdout] 842 |         let (direction_jump_time_difference, (recent_key_first, recent_key_second)) = if action_state_vector.action_vector.len() >=...
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_direction_jump_time_difference`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `recent_key_first`
[INFO] [stdout]    --> src/game/player/systems.rs:842:47
[INFO] [stdout]     |
[INFO] [stdout] 842 | ...me_difference, (recent_key_first, recent_key_second)) = if action_state_vector.action_vector.len() >= 2 {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_recent_key_first`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `recent_key_second`
[INFO] [stdout]    --> src/game/player/systems.rs:842:65
[INFO] [stdout]     |
[INFO] [stdout] 842 | ...ent_key_first, recent_key_second)) = if action_state_vector.action_vector.len() >= 2 {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_recent_key_second`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/game/player/systems.rs:911:5
[INFO] [stdout]     |
[INFO] [stdout] 911 |     mut commands: Commands, // <-- used for spawning projectiles I think? Also used for spawning hitboxes
[INFO] [stdout]     |     ----^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/game/player/systems.rs:914:5
[INFO] [stdout]     |
[INFO] [stdout] 914 |     mut keyboard_event_reader: EventReader<KeyboardInput>,
[INFO] [stdout]     |     ----^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `commands`
[INFO] [stdout]    --> src/game/player/systems.rs:911:5
[INFO] [stdout]     |
[INFO] [stdout] 911 |     mut commands: Commands, // <-- used for spawning projectiles I think? Also used for spawning hitboxes
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_commands`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keyboard_input`
[INFO] [stdout]    --> src/game/player/systems.rs:913:5
[INFO] [stdout]     |
[INFO] [stdout] 913 |     keyboard_input: Res<Input<KeyCode>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_keyboard_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keyboard_event_reader`
[INFO] [stdout]    --> src/game/player/systems.rs:914:5
[INFO] [stdout]     |
[INFO] [stdout] 914 |     mut keyboard_event_reader: EventReader<KeyboardInput>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_keyboard_event_reader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `asset_server`
[INFO] [stdout]    --> src/game/player/systems.rs:917:5
[INFO] [stdout]     |
[INFO] [stdout] 917 |     asset_server: Res<AssetServer>,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_asset_server`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]    --> src/game/player/systems.rs:918:5
[INFO] [stdout]     |
[INFO] [stdout] 918 |     time: Res<Time>,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ending_index` is assigned to, but never used
[INFO] [stdout]    --> src/game/player/systems.rs:963:17
[INFO] [stdout]     |
[INFO] [stdout] 963 |             let mut ending_index = if player_input.light && player_input.unique {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_ending_index` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ending_index` is assigned to, but never used
[INFO] [stdout]     --> src/game/player/systems.rs:1391:17
[INFO] [stdout]      |
[INFO] [stdout] 1391 |             let mut ending_index = if player_input.light {
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_ending_index` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:976:13
[INFO] [stdout]      |
[INFO] [stdout]  976 | / ...   ending_index = if player_input.light && player_input.unique &&
[INFO] [stdout]  977 | | ...       ( (player_input.left && !texture_atlas_sprite_sprite_sheet.flip_x) || (player_input.right && texture_atlas_sprite_spri...
[INFO] [stdout]  978 | | ...   //
[INFO] [stdout]  979 | | ...       println!("Doing back throw");
[INFO] [stdout] ...    |
[INFO] [stdout]  986 | | ...       animation_indeces.last
[INFO] [stdout]  987 | | ...   };
[INFO] [stdout]      | |_______^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout]  990 | / ...   ending_index = if player_input.medium && player_input.heavy {
[INFO] [stdout]  991 | | ...       //
[INFO] [stdout]  992 | | ...       println!("Doing universal overhead");
[INFO] [stdout]  993 | | ...       attack_state.is_attacking = true;
[INFO] [stdout] ...    |
[INFO] [stdout]  999 | | ...       animation_indeces.last
[INFO] [stdout] 1000 | | ...   };      
[INFO] [stdout]      | |_______- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:990:13
[INFO] [stdout]      |
[INFO] [stdout]  990 | /             ending_index = if player_input.medium && player_input.heavy {
[INFO] [stdout]  991 | |                 //
[INFO] [stdout]  992 | |                 println!("Doing universal overhead");
[INFO] [stdout]  993 | |                 attack_state.is_attacking = true;
[INFO] [stdout] ...    |
[INFO] [stdout]  999 | |                 animation_indeces.last
[INFO] [stdout] 1000 | |             };      
[INFO] [stdout]      | |_____________^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1003 | /             ending_index = if player_input.light {
[INFO] [stdout] 1004 | |                 
[INFO] [stdout] 1005 | |                 println!("Doing Light Attack");
[INFO] [stdout] 1006 | |                 attack_state.is_attacking = true;
[INFO] [stdout] ...    |
[INFO] [stdout] 1013 | |                 animation_indeces.last
[INFO] [stdout] 1014 | |             };
[INFO] [stdout]      | |_____________- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1003:13
[INFO] [stdout]      |
[INFO] [stdout] 1003 | /             ending_index = if player_input.light {
[INFO] [stdout] 1004 | |                 
[INFO] [stdout] 1005 | |                 println!("Doing Light Attack");
[INFO] [stdout] 1006 | |                 attack_state.is_attacking = true;
[INFO] [stdout] ...    |
[INFO] [stdout] 1013 | |                 animation_indeces.last
[INFO] [stdout] 1014 | |             };
[INFO] [stdout]      | |_____________^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1018 | /             ending_index = if player_input.light && player_input.down {
[INFO] [stdout] 1019 | |                 println!("Doing Crouching Light Attack");
[INFO] [stdout] 1020 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1021 | |                 animation_indeces.first = sprite_sheet_indeces.light_crouching_first;
[INFO] [stdout] ...    |
[INFO] [stdout] 1027 | |                 animation_indeces.last
[INFO] [stdout] 1028 | |             };
[INFO] [stdout]      | |_____________- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1018:13
[INFO] [stdout]      |
[INFO] [stdout] 1018 | / ...   ending_index = if player_input.light && player_input.down {
[INFO] [stdout] 1019 | | ...       println!("Doing Crouching Light Attack");
[INFO] [stdout] 1020 | | ...       attack_state.is_attacking = true;
[INFO] [stdout] 1021 | | ...       animation_indeces.first = sprite_sheet_indeces.light_crouching_first;
[INFO] [stdout] ...    |
[INFO] [stdout] 1027 | | ...       animation_indeces.last
[INFO] [stdout] 1028 | | ...   };
[INFO] [stdout]      | |_______^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1032 | / ...   ending_index = if player_input.light &&
[INFO] [stdout] 1033 | | ...       ( (player_input.right && !texture_atlas_sprite_sprite_sheet.flip_x) || (player_input.left && texture_atlas_sprite_spri...
[INFO] [stdout] 1034 | | ...       println!("Doing Forward Light Attack");
[INFO] [stdout] 1035 | | ...       attack_state.is_attacking = true;
[INFO] [stdout] ...    |
[INFO] [stdout] 1042 | | ...       animation_indeces.last
[INFO] [stdout] 1043 | | ...   };
[INFO] [stdout]      | |_______- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1032:13
[INFO] [stdout]      |
[INFO] [stdout] 1032 | / ...   ending_index = if player_input.light &&
[INFO] [stdout] 1033 | | ...       ( (player_input.right && !texture_atlas_sprite_sprite_sheet.flip_x) || (player_input.left && texture_atlas_sprite_spri...
[INFO] [stdout] 1034 | | ...       println!("Doing Forward Light Attack");
[INFO] [stdout] 1035 | | ...       attack_state.is_attacking = true;
[INFO] [stdout] ...    |
[INFO] [stdout] 1042 | | ...       animation_indeces.last
[INFO] [stdout] 1043 | | ...   };
[INFO] [stdout]      | |_______^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1063 | / ...   ending_index = if player_input.medium {
[INFO] [stdout] 1064 | | ...       //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1065 | | ...       attack_state.is_attacking = true;
[INFO] [stdout] 1066 | | ...       println!("Doing Medium Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1074 | | ...       animation_indeces.last
[INFO] [stdout] 1075 | | ...   };
[INFO] [stdout]      | |_______- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1063:13
[INFO] [stdout]      |
[INFO] [stdout] 1063 | /             ending_index = if player_input.medium {
[INFO] [stdout] 1064 | |                 //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1065 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1066 | |                 println!("Doing Medium Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1074 | |                 animation_indeces.last
[INFO] [stdout] 1075 | |             };
[INFO] [stdout]      | |_____________^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1078 | /             ending_index = if player_input.medium && player_input.down {
[INFO] [stdout] 1079 | |                 println!("Doing Crouching Medium Attack");
[INFO] [stdout] 1080 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1081 | |                 animation_indeces.first = sprite_sheet_indeces.medium_crouching_first;
[INFO] [stdout] ...    |
[INFO] [stdout] 1087 | |                 animation_indeces.last
[INFO] [stdout] 1088 | |             };
[INFO] [stdout]      | |_____________- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1078:13
[INFO] [stdout]      |
[INFO] [stdout] 1078 | /             ending_index = if player_input.medium && player_input.down {
[INFO] [stdout] 1079 | |                 println!("Doing Crouching Medium Attack");
[INFO] [stdout] 1080 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1081 | |                 animation_indeces.first = sprite_sheet_indeces.medium_crouching_first;
[INFO] [stdout] ...    |
[INFO] [stdout] 1087 | |                 animation_indeces.last
[INFO] [stdout] 1088 | |             };
[INFO] [stdout]      | |_____________^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1123 | /             ending_index = if player_input.heavy {
[INFO] [stdout] 1124 | |                 //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1125 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1126 | |                 println!("Doing Heavy Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1133 | |                 animation_indeces.last
[INFO] [stdout] 1134 | |             };
[INFO] [stdout]      | |_____________- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1123:13
[INFO] [stdout]      |
[INFO] [stdout] 1123 | /             ending_index = if player_input.heavy {
[INFO] [stdout] 1124 | |                 //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1125 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1126 | |                 println!("Doing Heavy Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1133 | |                 animation_indeces.last
[INFO] [stdout] 1134 | |             };
[INFO] [stdout]      | |_____________^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1138 | /             ending_index = if player_input.heavy && player_input.down {
[INFO] [stdout] 1139 | |                 println!("Doing Crouching Heavy Attack");
[INFO] [stdout] 1140 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1141 | |                 animation_indeces.first = sprite_sheet_indeces.heavy_crouching_first;
[INFO] [stdout] ...    |
[INFO] [stdout] 1147 | |                 animation_indeces.last
[INFO] [stdout] 1148 | |             };
[INFO] [stdout]      | |_____________- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1138:13
[INFO] [stdout]      |
[INFO] [stdout] 1138 | /             ending_index = if player_input.heavy && player_input.down {
[INFO] [stdout] 1139 | |                 println!("Doing Crouching Heavy Attack");
[INFO] [stdout] 1140 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1141 | |                 animation_indeces.first = sprite_sheet_indeces.heavy_crouching_first;
[INFO] [stdout] ...    |
[INFO] [stdout] 1147 | |                 animation_indeces.last
[INFO] [stdout] 1148 | |             };
[INFO] [stdout]      | |_____________^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1183 | /             ending_index = if player_input.unique {
[INFO] [stdout] 1184 | |                 //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1185 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1186 | |                 println!("Doing Unique Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1193 | |                 animation_indeces.last
[INFO] [stdout] 1194 | |             };
[INFO] [stdout]      | |_____________- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1183:13
[INFO] [stdout]      |
[INFO] [stdout] 1183 | /             ending_index = if player_input.unique {
[INFO] [stdout] 1184 | |                 //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1185 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1186 | |                 println!("Doing Unique Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1193 | |                 animation_indeces.last
[INFO] [stdout] 1194 | |             };
[INFO] [stdout]      | |_____________^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1198 | /             ending_index = if player_input.unique && player_input.down {
[INFO] [stdout] 1199 | |                 println!("Doing Crouching Unique Attack");
[INFO] [stdout] 1200 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1201 | |                 animation_indeces.first = sprite_sheet_indeces.unique_crouching_first;
[INFO] [stdout] ...    |
[INFO] [stdout] 1207 | |                 animation_indeces.last
[INFO] [stdout] 1208 | |             };
[INFO] [stdout]      | |_____________- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1198:13
[INFO] [stdout]      |
[INFO] [stdout] 1198 | / ...   ending_index = if player_input.unique && player_input.down {
[INFO] [stdout] 1199 | | ...       println!("Doing Crouching Unique Attack");
[INFO] [stdout] 1200 | | ...       attack_state.is_attacking = true;
[INFO] [stdout] 1201 | | ...       animation_indeces.first = sprite_sheet_indeces.unique_crouching_first;
[INFO] [stdout] ...    |
[INFO] [stdout] 1207 | | ...       animation_indeces.last
[INFO] [stdout] 1208 | | ...   };
[INFO] [stdout]      | |_______^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1211 | / ...   ending_index = if player_input.unique &&
[INFO] [stdout] 1212 | | ...       ( (player_input.right && !texture_atlas_sprite_sprite_sheet.flip_x) || (player_input.left && texture_atlas_sprite_spri...
[INFO] [stdout] 1213 | | ...       println!("Doing Forward Unique Attack");
[INFO] [stdout] 1214 | | ...       attack_state.is_attacking = true;
[INFO] [stdout] ...    |
[INFO] [stdout] 1221 | | ...       animation_indeces.last
[INFO] [stdout] 1222 | | ...   };    
[INFO] [stdout]      | |_______- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1211:13
[INFO] [stdout]      |
[INFO] [stdout] 1211 | / ...   ending_index = if player_input.unique &&
[INFO] [stdout] 1212 | | ...       ( (player_input.right && !texture_atlas_sprite_sprite_sheet.flip_x) || (player_input.left && texture_atlas_sprite_spri...
[INFO] [stdout] 1213 | | ...       println!("Doing Forward Unique Attack");
[INFO] [stdout] 1214 | | ...       attack_state.is_attacking = true;
[INFO] [stdout] ...    |
[INFO] [stdout] 1221 | | ...       animation_indeces.last
[INFO] [stdout] 1222 | | ...   };    
[INFO] [stdout]      | |_______^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1241 | / ...   ending_index = if player_input.special {
[INFO] [stdout] 1242 | | ...       //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1243 | | ...       attack_state.is_attacking = true;
[INFO] [stdout] 1244 | | ...       println!("Doing Special Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1251 | | ...       animation_indeces.last
[INFO] [stdout] 1252 | | ...   };
[INFO] [stdout]      | |_______- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1241:13
[INFO] [stdout]      |
[INFO] [stdout] 1241 | /             ending_index = if player_input.special {
[INFO] [stdout] 1242 | |                 //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1243 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1244 | |                 println!("Doing Special Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1251 | |                 animation_indeces.last
[INFO] [stdout] 1252 | |             };
[INFO] [stdout]      | |_____________^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1256 | /             ending_index = if player_input.special && player_input.down {
[INFO] [stdout] 1257 | |                 println!("Doing Crouching Special Attack");
[INFO] [stdout] 1258 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1259 | |                 animation_indeces.first = sprite_sheet_indeces.special_crouching_first;
[INFO] [stdout] ...    |
[INFO] [stdout] 1265 | |                 animation_indeces.last
[INFO] [stdout] 1266 | |             };
[INFO] [stdout]      | |_____________- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1256:13
[INFO] [stdout]      |
[INFO] [stdout] 1256 | / ...   ending_index = if player_input.special && player_input.down {
[INFO] [stdout] 1257 | | ...       println!("Doing Crouching Special Attack");
[INFO] [stdout] 1258 | | ...       attack_state.is_attacking = true;
[INFO] [stdout] 1259 | | ...       animation_indeces.first = sprite_sheet_indeces.special_crouching_first;
[INFO] [stdout] ...    |
[INFO] [stdout] 1265 | | ...       animation_indeces.last
[INFO] [stdout] 1266 | | ...   };
[INFO] [stdout]      | |_______^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1269 | / ...   ending_index = if player_input.special &&
[INFO] [stdout] 1270 | | ...       ( (player_input.right && !texture_atlas_sprite_sprite_sheet.flip_x) || (player_input.left && texture_atlas_sprite_spri...
[INFO] [stdout] 1271 | | ...       println!("Doing Forward Special Attack");
[INFO] [stdout] 1272 | | ...       attack_state.is_attacking = true;
[INFO] [stdout] ...    |
[INFO] [stdout] 1279 | | ...       animation_indeces.last
[INFO] [stdout] 1280 | | ...   };    
[INFO] [stdout]      | |_______- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1269:13
[INFO] [stdout]      |
[INFO] [stdout] 1269 | / ...   ending_index = if player_input.special &&
[INFO] [stdout] 1270 | | ...       ( (player_input.right && !texture_atlas_sprite_sprite_sheet.flip_x) || (player_input.left && texture_atlas_sprite_spri...
[INFO] [stdout] 1271 | | ...       println!("Doing Forward Special Attack");
[INFO] [stdout] 1272 | | ...       attack_state.is_attacking = true;
[INFO] [stdout] ...    |
[INFO] [stdout] 1279 | | ...       animation_indeces.last
[INFO] [stdout] 1280 | | ...   };    
[INFO] [stdout]      | |_______^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1283 | / ...   ending_index = if player_input.special &&
[INFO] [stdout] 1284 | | ...       ( (player_input.left && !texture_atlas_sprite_sprite_sheet.flip_x) || (player_input.right && texture_atlas_sprite_spri...
[INFO] [stdout] 1285 | | ...       //
[INFO] [stdout] 1286 | | ...       println!("Doing Back Special Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1293 | | ...       animation_indeces.last
[INFO] [stdout] 1294 | | ...   };
[INFO] [stdout]      | |_______- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1283:13
[INFO] [stdout]      |
[INFO] [stdout] 1283 | / ...   ending_index = if player_input.special &&
[INFO] [stdout] 1284 | | ...       ( (player_input.left && !texture_atlas_sprite_sprite_sheet.flip_x) || (player_input.right && texture_atlas_sprite_spri...
[INFO] [stdout] 1285 | | ...       //
[INFO] [stdout] 1286 | | ...       println!("Doing Back Special Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1293 | | ...       animation_indeces.last
[INFO] [stdout] 1294 | | ...   };
[INFO] [stdout]      | |_______^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1306 | / ...   ending_index = if player_input.light 
[INFO] [stdout] 1307 | | ...       && second_first_difference <= SPECIAL_MOVE_BUFFER_TIME 
[INFO] [stdout] 1308 | | ...       && third_second_difference <= SPECIAL_MOVE_BUFFER_TIME
[INFO] [stdout] 1309 | | ...       && recent_key_first == KeyCode::S                                               // Fix this part later -- I'm not sure...
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | | ...           animation_indeces.last
[INFO] [stdout] 1324 | | ...       };
[INFO] [stdout]      | |___________- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1306:13
[INFO] [stdout]      |
[INFO] [stdout] 1306 | / ...   ending_index = if player_input.light 
[INFO] [stdout] 1307 | | ...       && second_first_difference <= SPECIAL_MOVE_BUFFER_TIME 
[INFO] [stdout] 1308 | | ...       && third_second_difference <= SPECIAL_MOVE_BUFFER_TIME
[INFO] [stdout] 1309 | | ...       && recent_key_first == KeyCode::S                                               // Fix this part later -- I'm not sure...
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | | ...           animation_indeces.last
[INFO] [stdout] 1324 | | ...       };
[INFO] [stdout]      | |___________^ this value is reassigned later and never used
[INFO] [stdout] 1325 |   ...
[INFO] [stdout] 1326 | / ...   ending_index = if player_input.medium
[INFO] [stdout] 1327 | | ...       && second_first_difference <= SPECIAL_MOVE_BUFFER_TIME
[INFO] [stdout] 1328 | | ...       && third_second_difference <= SPECIAL_MOVE_BUFFER_TIME 
[INFO] [stdout] 1329 | | ...       && recent_key_first == KeyCode::S
[INFO] [stdout] ...    |
[INFO] [stdout] 1343 | | ...           animation_indeces.last
[INFO] [stdout] 1344 | | ...       };
[INFO] [stdout]      | |___________- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1326:13
[INFO] [stdout]      |
[INFO] [stdout] 1326 | /             ending_index = if player_input.medium
[INFO] [stdout] 1327 | |                 && second_first_difference <= SPECIAL_MOVE_BUFFER_TIME
[INFO] [stdout] 1328 | |                 && third_second_difference <= SPECIAL_MOVE_BUFFER_TIME 
[INFO] [stdout] 1329 | |                 && recent_key_first == KeyCode::S
[INFO] [stdout] ...    |
[INFO] [stdout] 1343 | |                     animation_indeces.last
[INFO] [stdout] 1344 | |                 };
[INFO] [stdout]      | |_________________^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1347 | /             ending_index = if player_input.heavy
[INFO] [stdout] 1348 | |                 && second_first_difference <= SPECIAL_MOVE_BUFFER_TIME 
[INFO] [stdout] 1349 | |                 && third_second_difference <= SPECIAL_MOVE_BUFFER_TIME 
[INFO] [stdout] 1350 | |                 && recent_key_first == KeyCode::S
[INFO] [stdout] ...    |
[INFO] [stdout] 1364 | |                     animation_indeces.last
[INFO] [stdout] 1365 | |                 };
[INFO] [stdout]      | |_________________- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1347:13
[INFO] [stdout]      |
[INFO] [stdout] 1347 | /             ending_index = if player_input.heavy
[INFO] [stdout] 1348 | |                 && second_first_difference <= SPECIAL_MOVE_BUFFER_TIME 
[INFO] [stdout] 1349 | |                 && third_second_difference <= SPECIAL_MOVE_BUFFER_TIME 
[INFO] [stdout] 1350 | |                 && recent_key_first == KeyCode::S
[INFO] [stdout] ...    |
[INFO] [stdout] 1364 | |                     animation_indeces.last
[INFO] [stdout] 1365 | |                 };
[INFO] [stdout]      | |_________________^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1406:13
[INFO] [stdout]      |
[INFO] [stdout] 1406 | /             ending_index = if player_input.medium {
[INFO] [stdout] 1407 | |                 //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1408 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1409 | |                 println!("Doing Jumping Medium Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1417 | |                 animation_indeces.last
[INFO] [stdout] 1418 | |             };
[INFO] [stdout]      | |_____________^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1421 | /             ending_index = if player_input.heavy {
[INFO] [stdout] 1422 | |                 //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1423 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1424 | |                 println!("Doing Jumping Heavy Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1431 | |                 animation_indeces.last
[INFO] [stdout] 1432 | |             };
[INFO] [stdout]      | |_____________- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1421:13
[INFO] [stdout]      |
[INFO] [stdout] 1421 | /             ending_index = if player_input.heavy {
[INFO] [stdout] 1422 | |                 //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1423 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1424 | |                 println!("Doing Jumping Heavy Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1431 | |                 animation_indeces.last
[INFO] [stdout] 1432 | |             };
[INFO] [stdout]      | |_____________^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1435 | /             ending_index = if player_input.unique {
[INFO] [stdout] 1436 | |                 //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1437 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1438 | |                 println!("Doing Jumping Unique Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1445 | |                 animation_indeces.last
[INFO] [stdout] 1446 | |             };
[INFO] [stdout]      | |_____________- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1435:13
[INFO] [stdout]      |
[INFO] [stdout] 1435 | /             ending_index = if player_input.unique {
[INFO] [stdout] 1436 | |                 //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1437 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1438 | |                 println!("Doing Jumping Unique Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1445 | |                 animation_indeces.last
[INFO] [stdout] 1446 | |             };
[INFO] [stdout]      | |_____________^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1449 | /             ending_index = if player_input.special {
[INFO] [stdout] 1450 | |                 //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1451 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1452 | |                 println!("Doing Jumping Special Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1459 | |                 animation_indeces.last
[INFO] [stdout] 1460 | |             };
[INFO] [stdout]      | |_____________- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1449:13
[INFO] [stdout]      |
[INFO] [stdout] 1449 | /             ending_index = if player_input.special {
[INFO] [stdout] 1450 | |                 //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1451 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1452 | |                 println!("Doing Jumping Special Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1459 | |                 animation_indeces.last
[INFO] [stdout] 1460 | |             };
[INFO] [stdout]      | |_____________^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main_menu/systems/interactions.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut text = text_query.get_mut(children[0]).unwrap();
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `main_menu_entity`
[INFO] [stdout]   --> src/main_menu/systems/layout.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let main_menu_entity = build_main_menu(&mut commands, &asset_server);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_main_menu_entity`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attack_state_one`
[INFO] [stdout]     --> src/game/player/systems.rs:1595:30
[INFO] [stdout]      |
[INFO] [stdout] 1595 |     for (collision_info_one, attack_state_one, movement_state_one, player_number_one, player_transform_one) in player_query_one.it...
[INFO] [stdout]      |                              ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attack_state_one`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `movement_state_one`
[INFO] [stdout]     --> src/game/player/systems.rs:1595:48
[INFO] [stdout]      |
[INFO] [stdout] 1595 | ...k_state_one, movement_state_one, player_number_one, player_transform_one) in player_query_one.iter_mut() {
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_movement_state_one`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_number_one`
[INFO] [stdout]     --> src/game/player/systems.rs:1595:68
[INFO] [stdout]      |
[INFO] [stdout] 1595 | ...nt_state_one, player_number_one, player_transform_one) in player_query_one.iter_mut() {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_number_one`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attack_state_two`
[INFO] [stdout]     --> src/game/player/systems.rs:1606:46
[INFO] [stdout]      |
[INFO] [stdout] 1606 | ...   for (collision_info_two, attack_state_two, movement_state_two, player_number_two, player_transform_two) in player_query_two....
[INFO] [stdout]      |                                ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attack_state_two`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `movement_state_two`
[INFO] [stdout]     --> src/game/player/systems.rs:1606:64
[INFO] [stdout]      |
[INFO] [stdout] 1606 | ...k_state_two, movement_state_two, player_number_two, player_transform_two) in player_query_two.iter_mut() {
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_movement_state_two`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_number_two`
[INFO] [stdout]     --> src/game/player/systems.rs:1606:84
[INFO] [stdout]      |
[INFO] [stdout] 1606 | ...nt_state_two, player_number_two, player_transform_two) in player_query_two.iter_mut() {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_number_two`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/game/player/systems.rs:1817:43
[INFO] [stdout]      |
[INFO] [stdout] 1817 |     for (player_transform, player_number, mut player_atlas_sprite) in player_query.iter_mut() {
[INFO] [stdout]      |                                           ----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_atlas_sprite`
[INFO] [stdout]     --> src/game/player/systems.rs:1817:43
[INFO] [stdout]      |
[INFO] [stdout] 1817 |     for (player_transform, player_number, mut player_atlas_sprite) in player_query.iter_mut() {
[INFO] [stdout]      |                                           ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_atlas_sprite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_number`
[INFO] [stdout]     --> src/game/player/systems.rs:1924:85
[INFO] [stdout]      |
[INFO] [stdout] 1924 |     for (player_transform, player_collision, mut jump_velocity, mut movement_state, player_number) in player_query.iter_mut() {
[INFO] [stdout]      |                                                                                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]   --> src/game/debugger_systems/debugger_interactions.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     time: Res<Time>,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dummy_duration`
[INFO] [stdout]    --> src/game/systems.rs:209:9
[INFO] [stdout]     |
[INFO] [stdout] 209 |     let dummy_duration: Duration = Duration::from_secs_f64(dummy_delta);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dummy_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_number`
[INFO] [stdout]    --> src/game/systems.rs:211:58
[INFO] [stdout]     |
[INFO] [stdout] 211 |     for (animation_indices, mut timer, mut sprite_sheet, player_number) in animation_query.iter_mut() {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_width`
[INFO] [stdout]    --> src/game/systems.rs:253:9
[INFO] [stdout]     |
[INFO] [stdout] 253 |     let window_width = window.width();
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `light_crouching_hurt_offset`
[INFO] [stdout]    --> src/game/player/systems.rs:137:9
[INFO] [stdout]     |
[INFO] [stdout] 137 |     let light_crouching_hurt_offset = MARISA_LIGHT_CROUCHING_HURT_OFFSET;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_crouching_hurt_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `light_crouching_hurt_size`
[INFO] [stdout]    --> src/game/player/systems.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let light_crouching_hurt_size = MARISA_LIGHT_CROUCHING_HURT_SIZE;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_crouching_hurt_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `light_crouching_hurt_duration`
[INFO] [stdout]    --> src/game/player/systems.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |     let light_crouching_hurt_duration = MARISA_LIGHT_CROUCHING_HURT_DURATION;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_crouching_hurt_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `light_crouching_hurt_startup`
[INFO] [stdout]    --> src/game/player/systems.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |     let light_crouching_hurt_startup = MARISA_LIGHT_CROUCHING_HURT_STARTUP;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_crouching_hurt_startup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `light_crouching_hurt_active`
[INFO] [stdout]    --> src/game/player/systems.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |     let light_crouching_hurt_active = MARISA_LIGHT_CROUCHING_HURT_ACTIVE;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_crouching_hurt_active`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `light_crouching_hurt_cooldown`
[INFO] [stdout]    --> src/game/player/systems.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |     let light_crouching_hurt_cooldown = MARISA_LIGHT_CROUCHING_HURT_COOLDOWN;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_crouching_hurt_cooldown`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `light_crouching_hit_offset`
[INFO] [stdout]    --> src/game/player/systems.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |     let light_crouching_hit_offset = MARISA_LIGHT_CROUCHING_HIT_OFFSET;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_crouching_hit_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `light_crouching_hit_size`
[INFO] [stdout]    --> src/game/player/systems.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |     let light_crouching_hit_size = MARISA_LIGHT_CROUCHING_HIT_SIZE;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_crouching_hit_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `light_crouching_hit_startup`
[INFO] [stdout]    --> src/game/player/systems.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 |     let light_crouching_hit_startup = MARISA_LIGHT_CROUCHING_HIT_STARTUP;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_crouching_hit_startup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `light_crouching_hit_active`
[INFO] [stdout]    --> src/game/player/systems.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let light_crouching_hit_active = MARISA_LIGHT_CROUCHING_HIT_ACTIVE;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_crouching_hit_active`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `light_crouching_hit_cooldown`
[INFO] [stdout]    --> src/game/player/systems.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let light_crouching_hit_cooldown = MARISA_LIGHT_CROUCHING_HIT_COOLDOWN;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_light_crouching_hit_cooldown`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]   --> src/game/enemy/mod.rs:18:21
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn build(&self, app: &mut App) {
[INFO] [stdout]    |                     ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/game/player/systems.rs:735:72
[INFO] [stdout]     |
[INFO] [stdout] 735 |     for (mut animation_indeces, mut texture_atlas_sprite_sprite_sheet, mut movement_state, sprite_sheet_indeces, player_input) in p...
[INFO] [stdout]     |                                                                        ----^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                                        |
[INFO] [stdout]     |                                                                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `movement_state`
[INFO] [stdout]    --> src/game/player/systems.rs:735:72
[INFO] [stdout]     |
[INFO] [stdout] 735 | ...e_sprite_sheet, mut movement_state, sprite_sheet_indeces, player_input) in player_query.iter_mut() {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_movement_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/game/player/systems.rs:839:21
[INFO] [stdout]     |
[INFO] [stdout] 839 |     for (transform, mut jump_velocity, action_state_vector) in player_query.iter_mut() {
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keyboard_input`
[INFO] [stdout]    --> src/game/player/systems.rs:833:5
[INFO] [stdout]     |
[INFO] [stdout] 833 |     keyboard_input: Res<Input<KeyCode>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_keyboard_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transform`
[INFO] [stdout]    --> src/game/player/systems.rs:839:10
[INFO] [stdout]     |
[INFO] [stdout] 839 |     for (transform, mut jump_velocity, action_state_vector) in player_query.iter_mut() {
[INFO] [stdout]     |          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `jump_velocity`
[INFO] [stdout]    --> src/game/player/systems.rs:839:21
[INFO] [stdout]     |
[INFO] [stdout] 839 |     for (transform, mut jump_velocity, action_state_vector) in player_query.iter_mut() {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_jump_velocity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `direction_jump_time_difference`
[INFO] [stdout]    --> src/game/player/systems.rs:842:14
[INFO] [stdout]     |
[INFO] [stdout] 842 |         let (direction_jump_time_difference, (recent_key_first, recent_key_second)) = if action_state_vector.action_vector.len() >=...
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_direction_jump_time_difference`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `recent_key_first`
[INFO] [stdout]    --> src/game/player/systems.rs:842:47
[INFO] [stdout]     |
[INFO] [stdout] 842 | ...me_difference, (recent_key_first, recent_key_second)) = if action_state_vector.action_vector.len() >= 2 {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_recent_key_first`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `recent_key_second`
[INFO] [stdout]    --> src/game/player/systems.rs:842:65
[INFO] [stdout]     |
[INFO] [stdout] 842 | ...ent_key_first, recent_key_second)) = if action_state_vector.action_vector.len() >= 2 {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_recent_key_second`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/game/player/systems.rs:911:5
[INFO] [stdout]     |
[INFO] [stdout] 911 |     mut commands: Commands, // <-- used for spawning projectiles I think? Also used for spawning hitboxes
[INFO] [stdout]     |     ----^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/game/player/systems.rs:914:5
[INFO] [stdout]     |
[INFO] [stdout] 914 |     mut keyboard_event_reader: EventReader<KeyboardInput>,
[INFO] [stdout]     |     ----^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `commands`
[INFO] [stdout]    --> src/game/player/systems.rs:911:5
[INFO] [stdout]     |
[INFO] [stdout] 911 |     mut commands: Commands, // <-- used for spawning projectiles I think? Also used for spawning hitboxes
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_commands`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keyboard_input`
[INFO] [stdout]    --> src/game/player/systems.rs:913:5
[INFO] [stdout]     |
[INFO] [stdout] 913 |     keyboard_input: Res<Input<KeyCode>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_keyboard_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keyboard_event_reader`
[INFO] [stdout]    --> src/game/player/systems.rs:914:5
[INFO] [stdout]     |
[INFO] [stdout] 914 |     mut keyboard_event_reader: EventReader<KeyboardInput>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_keyboard_event_reader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `asset_server`
[INFO] [stdout]    --> src/game/player/systems.rs:917:5
[INFO] [stdout]     |
[INFO] [stdout] 917 |     asset_server: Res<AssetServer>,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_asset_server`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]    --> src/game/player/systems.rs:918:5
[INFO] [stdout]     |
[INFO] [stdout] 918 |     time: Res<Time>,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ending_index` is assigned to, but never used
[INFO] [stdout]    --> src/game/player/systems.rs:963:17
[INFO] [stdout]     |
[INFO] [stdout] 963 |             let mut ending_index = if player_input.light && player_input.unique {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_ending_index` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ending_index` is assigned to, but never used
[INFO] [stdout]     --> src/game/player/systems.rs:1391:17
[INFO] [stdout]      |
[INFO] [stdout] 1391 |             let mut ending_index = if player_input.light {
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_ending_index` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:976:13
[INFO] [stdout]      |
[INFO] [stdout]  976 | / ...   ending_index = if player_input.light && player_input.unique &&
[INFO] [stdout]  977 | | ...       ( (player_input.left && !texture_atlas_sprite_sprite_sheet.flip_x) || (player_input.right && texture_atlas_sprite_spri...
[INFO] [stdout]  978 | | ...   //
[INFO] [stdout]  979 | | ...       println!("Doing back throw");
[INFO] [stdout] ...    |
[INFO] [stdout]  986 | | ...       animation_indeces.last
[INFO] [stdout]  987 | | ...   };
[INFO] [stdout]      | |_______^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout]  990 | / ...   ending_index = if player_input.medium && player_input.heavy {
[INFO] [stdout]  991 | | ...       //
[INFO] [stdout]  992 | | ...       println!("Doing universal overhead");
[INFO] [stdout]  993 | | ...       attack_state.is_attacking = true;
[INFO] [stdout] ...    |
[INFO] [stdout]  999 | | ...       animation_indeces.last
[INFO] [stdout] 1000 | | ...   };      
[INFO] [stdout]      | |_______- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:990:13
[INFO] [stdout]      |
[INFO] [stdout]  990 | /             ending_index = if player_input.medium && player_input.heavy {
[INFO] [stdout]  991 | |                 //
[INFO] [stdout]  992 | |                 println!("Doing universal overhead");
[INFO] [stdout]  993 | |                 attack_state.is_attacking = true;
[INFO] [stdout] ...    |
[INFO] [stdout]  999 | |                 animation_indeces.last
[INFO] [stdout] 1000 | |             };      
[INFO] [stdout]      | |_____________^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1003 | /             ending_index = if player_input.light {
[INFO] [stdout] 1004 | |                 
[INFO] [stdout] 1005 | |                 println!("Doing Light Attack");
[INFO] [stdout] 1006 | |                 attack_state.is_attacking = true;
[INFO] [stdout] ...    |
[INFO] [stdout] 1013 | |                 animation_indeces.last
[INFO] [stdout] 1014 | |             };
[INFO] [stdout]      | |_____________- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1003:13
[INFO] [stdout]      |
[INFO] [stdout] 1003 | /             ending_index = if player_input.light {
[INFO] [stdout] 1004 | |                 
[INFO] [stdout] 1005 | |                 println!("Doing Light Attack");
[INFO] [stdout] 1006 | |                 attack_state.is_attacking = true;
[INFO] [stdout] ...    |
[INFO] [stdout] 1013 | |                 animation_indeces.last
[INFO] [stdout] 1014 | |             };
[INFO] [stdout]      | |_____________^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1018 | /             ending_index = if player_input.light && player_input.down {
[INFO] [stdout] 1019 | |                 println!("Doing Crouching Light Attack");
[INFO] [stdout] 1020 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1021 | |                 animation_indeces.first = sprite_sheet_indeces.light_crouching_first;
[INFO] [stdout] ...    |
[INFO] [stdout] 1027 | |                 animation_indeces.last
[INFO] [stdout] 1028 | |             };
[INFO] [stdout]      | |_____________- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1018:13
[INFO] [stdout]      |
[INFO] [stdout] 1018 | / ...   ending_index = if player_input.light && player_input.down {
[INFO] [stdout] 1019 | | ...       println!("Doing Crouching Light Attack");
[INFO] [stdout] 1020 | | ...       attack_state.is_attacking = true;
[INFO] [stdout] 1021 | | ...       animation_indeces.first = sprite_sheet_indeces.light_crouching_first;
[INFO] [stdout] ...    |
[INFO] [stdout] 1027 | | ...       animation_indeces.last
[INFO] [stdout] 1028 | | ...   };
[INFO] [stdout]      | |_______^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1032 | / ...   ending_index = if player_input.light &&
[INFO] [stdout] 1033 | | ...       ( (player_input.right && !texture_atlas_sprite_sprite_sheet.flip_x) || (player_input.left && texture_atlas_sprite_spri...
[INFO] [stdout] 1034 | | ...       println!("Doing Forward Light Attack");
[INFO] [stdout] 1035 | | ...       attack_state.is_attacking = true;
[INFO] [stdout] ...    |
[INFO] [stdout] 1042 | | ...       animation_indeces.last
[INFO] [stdout] 1043 | | ...   };
[INFO] [stdout]      | |_______- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1032:13
[INFO] [stdout]      |
[INFO] [stdout] 1032 | / ...   ending_index = if player_input.light &&
[INFO] [stdout] 1033 | | ...       ( (player_input.right && !texture_atlas_sprite_sprite_sheet.flip_x) || (player_input.left && texture_atlas_sprite_spri...
[INFO] [stdout] 1034 | | ...       println!("Doing Forward Light Attack");
[INFO] [stdout] 1035 | | ...       attack_state.is_attacking = true;
[INFO] [stdout] ...    |
[INFO] [stdout] 1042 | | ...       animation_indeces.last
[INFO] [stdout] 1043 | | ...   };
[INFO] [stdout]      | |_______^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1063 | / ...   ending_index = if player_input.medium {
[INFO] [stdout] 1064 | | ...       //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1065 | | ...       attack_state.is_attacking = true;
[INFO] [stdout] 1066 | | ...       println!("Doing Medium Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1074 | | ...       animation_indeces.last
[INFO] [stdout] 1075 | | ...   };
[INFO] [stdout]      | |_______- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1063:13
[INFO] [stdout]      |
[INFO] [stdout] 1063 | /             ending_index = if player_input.medium {
[INFO] [stdout] 1064 | |                 //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1065 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1066 | |                 println!("Doing Medium Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1074 | |                 animation_indeces.last
[INFO] [stdout] 1075 | |             };
[INFO] [stdout]      | |_____________^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1078 | /             ending_index = if player_input.medium && player_input.down {
[INFO] [stdout] 1079 | |                 println!("Doing Crouching Medium Attack");
[INFO] [stdout] 1080 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1081 | |                 animation_indeces.first = sprite_sheet_indeces.medium_crouching_first;
[INFO] [stdout] ...    |
[INFO] [stdout] 1087 | |                 animation_indeces.last
[INFO] [stdout] 1088 | |             };
[INFO] [stdout]      | |_____________- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1078:13
[INFO] [stdout]      |
[INFO] [stdout] 1078 | /             ending_index = if player_input.medium && player_input.down {
[INFO] [stdout] 1079 | |                 println!("Doing Crouching Medium Attack");
[INFO] [stdout] 1080 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1081 | |                 animation_indeces.first = sprite_sheet_indeces.medium_crouching_first;
[INFO] [stdout] ...    |
[INFO] [stdout] 1087 | |                 animation_indeces.last
[INFO] [stdout] 1088 | |             };
[INFO] [stdout]      | |_____________^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1123 | /             ending_index = if player_input.heavy {
[INFO] [stdout] 1124 | |                 //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1125 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1126 | |                 println!("Doing Heavy Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1133 | |                 animation_indeces.last
[INFO] [stdout] 1134 | |             };
[INFO] [stdout]      | |_____________- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1123:13
[INFO] [stdout]      |
[INFO] [stdout] 1123 | /             ending_index = if player_input.heavy {
[INFO] [stdout] 1124 | |                 //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1125 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1126 | |                 println!("Doing Heavy Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1133 | |                 animation_indeces.last
[INFO] [stdout] 1134 | |             };
[INFO] [stdout]      | |_____________^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1138 | /             ending_index = if player_input.heavy && player_input.down {
[INFO] [stdout] 1139 | |                 println!("Doing Crouching Heavy Attack");
[INFO] [stdout] 1140 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1141 | |                 animation_indeces.first = sprite_sheet_indeces.heavy_crouching_first;
[INFO] [stdout] ...    |
[INFO] [stdout] 1147 | |                 animation_indeces.last
[INFO] [stdout] 1148 | |             };
[INFO] [stdout]      | |_____________- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1138:13
[INFO] [stdout]      |
[INFO] [stdout] 1138 | /             ending_index = if player_input.heavy && player_input.down {
[INFO] [stdout] 1139 | |                 println!("Doing Crouching Heavy Attack");
[INFO] [stdout] 1140 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1141 | |                 animation_indeces.first = sprite_sheet_indeces.heavy_crouching_first;
[INFO] [stdout] ...    |
[INFO] [stdout] 1147 | |                 animation_indeces.last
[INFO] [stdout] 1148 | |             };
[INFO] [stdout]      | |_____________^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1183 | /             ending_index = if player_input.unique {
[INFO] [stdout] 1184 | |                 //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1185 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1186 | |                 println!("Doing Unique Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1193 | |                 animation_indeces.last
[INFO] [stdout] 1194 | |             };
[INFO] [stdout]      | |_____________- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1183:13
[INFO] [stdout]      |
[INFO] [stdout] 1183 | /             ending_index = if player_input.unique {
[INFO] [stdout] 1184 | |                 //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1185 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1186 | |                 println!("Doing Unique Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1193 | |                 animation_indeces.last
[INFO] [stdout] 1194 | |             };
[INFO] [stdout]      | |_____________^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1198 | /             ending_index = if player_input.unique && player_input.down {
[INFO] [stdout] 1199 | |                 println!("Doing Crouching Unique Attack");
[INFO] [stdout] 1200 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1201 | |                 animation_indeces.first = sprite_sheet_indeces.unique_crouching_first;
[INFO] [stdout] ...    |
[INFO] [stdout] 1207 | |                 animation_indeces.last
[INFO] [stdout] 1208 | |             };
[INFO] [stdout]      | |_____________- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1198:13
[INFO] [stdout]      |
[INFO] [stdout] 1198 | / ...   ending_index = if player_input.unique && player_input.down {
[INFO] [stdout] 1199 | | ...       println!("Doing Crouching Unique Attack");
[INFO] [stdout] 1200 | | ...       attack_state.is_attacking = true;
[INFO] [stdout] 1201 | | ...       animation_indeces.first = sprite_sheet_indeces.unique_crouching_first;
[INFO] [stdout] ...    |
[INFO] [stdout] 1207 | | ...       animation_indeces.last
[INFO] [stdout] 1208 | | ...   };
[INFO] [stdout]      | |_______^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1211 | / ...   ending_index = if player_input.unique &&
[INFO] [stdout] 1212 | | ...       ( (player_input.right && !texture_atlas_sprite_sprite_sheet.flip_x) || (player_input.left && texture_atlas_sprite_spri...
[INFO] [stdout] 1213 | | ...       println!("Doing Forward Unique Attack");
[INFO] [stdout] 1214 | | ...       attack_state.is_attacking = true;
[INFO] [stdout] ...    |
[INFO] [stdout] 1221 | | ...       animation_indeces.last
[INFO] [stdout] 1222 | | ...   };    
[INFO] [stdout]      | |_______- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1211:13
[INFO] [stdout]      |
[INFO] [stdout] 1211 | / ...   ending_index = if player_input.unique &&
[INFO] [stdout] 1212 | | ...       ( (player_input.right && !texture_atlas_sprite_sprite_sheet.flip_x) || (player_input.left && texture_atlas_sprite_spri...
[INFO] [stdout] 1213 | | ...       println!("Doing Forward Unique Attack");
[INFO] [stdout] 1214 | | ...       attack_state.is_attacking = true;
[INFO] [stdout] ...    |
[INFO] [stdout] 1221 | | ...       animation_indeces.last
[INFO] [stdout] 1222 | | ...   };    
[INFO] [stdout]      | |_______^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1241 | / ...   ending_index = if player_input.special {
[INFO] [stdout] 1242 | | ...       //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1243 | | ...       attack_state.is_attacking = true;
[INFO] [stdout] 1244 | | ...       println!("Doing Special Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1251 | | ...       animation_indeces.last
[INFO] [stdout] 1252 | | ...   };
[INFO] [stdout]      | |_______- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUB_BUTTON_COLOR` is never used
[INFO] [stdout]  --> src/main_menu/styles.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const SUB_BUTTON_COLOR: Color = Color::rgb(0.15, 0.30, 0.15);
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1241:13
[INFO] [stdout]      |
[INFO] [stdout] 1241 | /             ending_index = if player_input.special {
[INFO] [stdout] 1242 | |                 //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1243 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1244 | |                 println!("Doing Special Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1251 | |                 animation_indeces.last
[INFO] [stdout] 1252 | |             };
[INFO] [stdout]      | |_____________^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1256 | /             ending_index = if player_input.special && player_input.down {
[INFO] [stdout] 1257 | |                 println!("Doing Crouching Special Attack");
[INFO] [stdout] 1258 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1259 | |                 animation_indeces.first = sprite_sheet_indeces.special_crouching_first;
[INFO] [stdout] ...    |
[INFO] [stdout] 1265 | |                 animation_indeces.last
[INFO] [stdout] 1266 | |             };
[INFO] [stdout]      | |_____________- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OVERALL_FRAME_RATE` is never used
[INFO] [stdout]   --> src/game/mod.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const OVERALL_FRAME_RATE: f32 = 1.0 / 60.0; // 1 frame = 1/60 seconds --> not sure if I should use this
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1256:13
[INFO] [stdout]      |
[INFO] [stdout] 1256 | / ...   ending_index = if player_input.special && player_input.down {
[INFO] [stdout] 1257 | | ...       println!("Doing Crouching Special Attack");
[INFO] [stdout] 1258 | | ...       attack_state.is_attacking = true;
[INFO] [stdout] 1259 | | ...       animation_indeces.first = sprite_sheet_indeces.special_crouching_first;
[INFO] [stdout] ...    |
[INFO] [stdout] 1265 | | ...       animation_indeces.last
[INFO] [stdout] 1266 | | ...   };
[INFO] [stdout]      | |_______^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1269 | / ...   ending_index = if player_input.special &&
[INFO] [stdout] 1270 | | ...       ( (player_input.right && !texture_atlas_sprite_sprite_sheet.flip_x) || (player_input.left && texture_atlas_sprite_spri...
[INFO] [stdout] 1271 | | ...       println!("Doing Forward Special Attack");
[INFO] [stdout] 1272 | | ...       attack_state.is_attacking = true;
[INFO] [stdout] ...    |
[INFO] [stdout] 1279 | | ...       animation_indeces.last
[INFO] [stdout] 1280 | | ...   };    
[INFO] [stdout]      | |_______- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1269:13
[INFO] [stdout]      |
[INFO] [stdout] 1269 | / ...   ending_index = if player_input.special &&
[INFO] [stdout] 1270 | | ...       ( (player_input.right && !texture_atlas_sprite_sprite_sheet.flip_x) || (player_input.left && texture_atlas_sprite_spri...
[INFO] [stdout] 1271 | | ...       println!("Doing Forward Special Attack");
[INFO] [stdout] 1272 | | ...       attack_state.is_attacking = true;
[INFO] [stdout] ...    |
[INFO] [stdout] 1279 | | ...       animation_indeces.last
[INFO] [stdout] 1280 | | ...   };    
[INFO] [stdout]      | |_______^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1283 | / ...   ending_index = if player_input.special &&
[INFO] [stdout] 1284 | | ...       ( (player_input.left && !texture_atlas_sprite_sprite_sheet.flip_x) || (player_input.right && texture_atlas_sprite_spri...
[INFO] [stdout] 1285 | | ...       //
[INFO] [stdout] 1286 | | ...       println!("Doing Back Special Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1293 | | ...       animation_indeces.last
[INFO] [stdout] 1294 | | ...   };
[INFO] [stdout]      | |_______- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1283:13
[INFO] [stdout]      |
[INFO] [stdout] 1283 | / ...   ending_index = if player_input.special &&
[INFO] [stdout] 1284 | | ...       ( (player_input.left && !texture_atlas_sprite_sprite_sheet.flip_x) || (player_input.right && texture_atlas_sprite_spri...
[INFO] [stdout] 1285 | | ...       //
[INFO] [stdout] 1286 | | ...       println!("Doing Back Special Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1293 | | ...       animation_indeces.last
[INFO] [stdout] 1294 | | ...   };
[INFO] [stdout]      | |_______^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1306 | / ...   ending_index = if player_input.light 
[INFO] [stdout] 1307 | | ...       && second_first_difference <= SPECIAL_MOVE_BUFFER_TIME 
[INFO] [stdout] 1308 | | ...       && third_second_difference <= SPECIAL_MOVE_BUFFER_TIME
[INFO] [stdout] 1309 | | ...       && recent_key_first == KeyCode::S                                               // Fix this part later -- I'm not sure...
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | | ...           animation_indeces.last
[INFO] [stdout] 1324 | | ...       };
[INFO] [stdout]      | |___________- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1306:13
[INFO] [stdout]      |
[INFO] [stdout] 1306 | / ...   ending_index = if player_input.light 
[INFO] [stdout] 1307 | | ...       && second_first_difference <= SPECIAL_MOVE_BUFFER_TIME 
[INFO] [stdout] 1308 | | ...       && third_second_difference <= SPECIAL_MOVE_BUFFER_TIME
[INFO] [stdout] 1309 | | ...       && recent_key_first == KeyCode::S                                               // Fix this part later -- I'm not sure...
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | | ...           animation_indeces.last
[INFO] [stdout] 1324 | | ...       };
[INFO] [stdout]      | |___________^ this value is reassigned later and never used
[INFO] [stdout] 1325 |   ...
[INFO] [stdout] 1326 | / ...   ending_index = if player_input.medium
[INFO] [stdout] 1327 | | ...       && second_first_difference <= SPECIAL_MOVE_BUFFER_TIME
[INFO] [stdout] 1328 | | ...       && third_second_difference <= SPECIAL_MOVE_BUFFER_TIME 
[INFO] [stdout] 1329 | | ...       && recent_key_first == KeyCode::S
[INFO] [stdout] ...    |
[INFO] [stdout] 1343 | | ...           animation_indeces.last
[INFO] [stdout] 1344 | | ...       };
[INFO] [stdout]      | |___________- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1326:13
[INFO] [stdout]      |
[INFO] [stdout] 1326 | /             ending_index = if player_input.medium
[INFO] [stdout] 1327 | |                 && second_first_difference <= SPECIAL_MOVE_BUFFER_TIME
[INFO] [stdout] 1328 | |                 && third_second_difference <= SPECIAL_MOVE_BUFFER_TIME 
[INFO] [stdout] 1329 | |                 && recent_key_first == KeyCode::S
[INFO] [stdout] ...    |
[INFO] [stdout] 1343 | |                     animation_indeces.last
[INFO] [stdout] 1344 | |                 };
[INFO] [stdout]      | |_________________^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1347 | /             ending_index = if player_input.heavy
[INFO] [stdout] 1348 | |                 && second_first_difference <= SPECIAL_MOVE_BUFFER_TIME 
[INFO] [stdout] 1349 | |                 && third_second_difference <= SPECIAL_MOVE_BUFFER_TIME 
[INFO] [stdout] 1350 | |                 && recent_key_first == KeyCode::S
[INFO] [stdout] ...    |
[INFO] [stdout] 1364 | |                     animation_indeces.last
[INFO] [stdout] 1365 | |                 };
[INFO] [stdout]      | |_________________- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1347:13
[INFO] [stdout]      |
[INFO] [stdout] 1347 | /             ending_index = if player_input.heavy
[INFO] [stdout] 1348 | |                 && second_first_difference <= SPECIAL_MOVE_BUFFER_TIME 
[INFO] [stdout] 1349 | |                 && third_second_difference <= SPECIAL_MOVE_BUFFER_TIME 
[INFO] [stdout] 1350 | |                 && recent_key_first == KeyCode::S
[INFO] [stdout] ...    |
[INFO] [stdout] 1364 | |                     animation_indeces.last
[INFO] [stdout] 1365 | |                 };
[INFO] [stdout]      | |_________________^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1406:13
[INFO] [stdout]      |
[INFO] [stdout] 1406 | /             ending_index = if player_input.medium {
[INFO] [stdout] 1407 | |                 //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1408 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1409 | |                 println!("Doing Jumping Medium Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1417 | |                 animation_indeces.last
[INFO] [stdout] 1418 | |             };
[INFO] [stdout]      | |_____________^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1421 | /             ending_index = if player_input.heavy {
[INFO] [stdout] 1422 | |                 //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1423 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1424 | |                 println!("Doing Jumping Heavy Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1431 | |                 animation_indeces.last
[INFO] [stdout] 1432 | |             };
[INFO] [stdout]      | |_____________- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1421:13
[INFO] [stdout]      |
[INFO] [stdout] 1421 | /             ending_index = if player_input.heavy {
[INFO] [stdout] 1422 | |                 //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1423 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1424 | |                 println!("Doing Jumping Heavy Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1431 | |                 animation_indeces.last
[INFO] [stdout] 1432 | |             };
[INFO] [stdout]      | |_____________^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1435 | /             ending_index = if player_input.unique {
[INFO] [stdout] 1436 | |                 //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1437 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1438 | |                 println!("Doing Jumping Unique Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1445 | |                 animation_indeces.last
[INFO] [stdout] 1446 | |             };
[INFO] [stdout]      | |_____________- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEBUG_NORMAL_BUTTON_COLOR` is never used
[INFO] [stdout]  --> src/game/debugger_styles.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const DEBUG_NORMAL_BUTTON_COLOR: Color = Color::rgb(0.15, 0.15, 0.15);
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1435:13
[INFO] [stdout]      |
[INFO] [stdout] 1435 | /             ending_index = if player_input.unique {
[INFO] [stdout] 1436 | |                 //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1437 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1438 | |                 println!("Doing Jumping Unique Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1445 | |                 animation_indeces.last
[INFO] [stdout] 1446 | |             };
[INFO] [stdout]      | |_____________^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1449 | /             ending_index = if player_input.special {
[INFO] [stdout] 1450 | |                 //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1451 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1452 | |                 println!("Doing Jumping Special Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1459 | |                 animation_indeces.last
[INFO] [stdout] 1460 | |             };
[INFO] [stdout]      | |_____________- `ending_index` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ending_index` is never read
[INFO] [stdout]     --> src/game/player/systems.rs:1449:13
[INFO] [stdout]      |
[INFO] [stdout] 1449 | /             ending_index = if player_input.special {
[INFO] [stdout] 1450 | |                 //next_attack_state.set(AttackState::Attack);
[INFO] [stdout] 1451 | |                 attack_state.is_attacking = true;
[INFO] [stdout] 1452 | |                 println!("Doing Jumping Special Attack");
[INFO] [stdout] ...    |
[INFO] [stdout] 1459 | |                 animation_indeces.last
[INFO] [stdout] 1460 | |             };
[INFO] [stdout]      | |_____________^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEBUG_SUB_BUTTON_COLOR` is never used
[INFO] [stdout]  --> src/game/debugger_styles.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const DEBUG_SUB_BUTTON_COLOR: Color = Color::rgb(0.15, 0.30, 0.15);
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEBUG_PRESSED_BUTTON` is never used
[INFO] [stdout]  --> src/game/debugger_styles.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const DEBUG_PRESSED_BUTTON: Color = Color::rgb(0.25, 0.40, 0.25);
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEBUG_HOVERED_BUTTON` is never used
[INFO] [stdout]   --> src/game/debugger_styles.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const DEBUG_HOVERED_BUTTON: Color = Color::rgb(0.35, 0.50, 0.35);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAMERA_LERP_FACTOR` is never used
[INFO] [stdout]   --> src/game/systems.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const CAMERA_LERP_FACTOR: f32 = 1.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAMERA_ORTHOGRAPHIC_PROJECTION_FACTOR` is never used
[INFO] [stdout]   --> src/game/systems.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const CAMERA_ORTHOGRAPHIC_PROJECTION_FACTOR: f32 = 200.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CENTERED_CAMERA_FACTOR` is never used
[INFO] [stdout]   --> src/game/systems.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const CENTERED_CAMERA_FACTOR: f32 = 0.5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `camera_zoom` is never used
[INFO] [stdout]    --> src/game/systems.rs:246:8
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub fn camera_zoom(
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BoundingBox` is never constructed
[INFO] [stdout]   --> src/game/components.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct BoundingBox {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `horizontal_entity_size` is never read
[INFO] [stdout]   --> src/game/components.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct EntitySizeCollision {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] 48 |     pub horizontal_entity_size: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EntityInfo` is never constructed
[INFO] [stdout]   --> src/game/components.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct  EntityInfo {
[INFO] [stdout]    |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DebuggerMenu` is never constructed
[INFO] [stdout]   --> src/game/components.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub struct DebuggerMenu {}
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DrawBoxButton` is never constructed
[INFO] [stdout]    --> src/game/components.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct DrawBoxButton {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SaveBoxButton` is never constructed
[INFO] [stdout]    --> src/game/components.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct SaveBoxButton {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CollisionHashMap` is never constructed
[INFO] [stdout]   --> src/game/resources.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct CollisionHashMap {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `frame_timer` is never read
[INFO] [stdout]   --> src/game/resources.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct AdvanceOneFrameMode {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] 40 |     pub should_advance_one_frame: bool,
[INFO] [stdout] 41 |     pub frame_timer: Timer,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIRECTION_JUMP_BUFFER_TIME` is never used
[INFO] [stdout]   --> src/game/player/mod.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const DIRECTION_JUMP_BUFFER_TIME: f32 = 0.5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `startup_active_cooldown` is never read
[INFO] [stdout]   --> src/game/player/components.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct CollisionBox {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub startup_active_cooldown: [f32; 3],
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CollisionBox` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/game/player/components.rs:76:5
[INFO] [stdout]     |
[INFO] [stdout]  73 | pub enum BoxType {
[INFO] [stdout]     |          ------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  76 |     Throw,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]  77 |     OverheadHurt,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]  78 |     OverheadHit,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     LightHurtCrouching,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  82 |     LightHitCrouching,
[INFO] [stdout]  83 |     LightHurtJumping,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]  84 |     LightHitJumping,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  85 |     MediumHurt,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]  86 |     MediumHit,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]  87 |     MediumHurtCrouching,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  88 |     MediumHitCrouching,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  89 |     MediumHurtJumping,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]  90 |     MediumHitJumping,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]  91 |     HeavyHurt,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]  92 |     HeavyHit,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]  93 |     HeavyHurtCrouching,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  94 |     HeavyHitCrouching,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]  95 |     HeavyHurtJunmping,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]  96 |     HeavyHitJumping,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  97 |     UniqueHurt,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]  98 |     UniqueHit,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]  99 |     UniqueHurtCrouching,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 100 |     UniqueHitCrouching,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 101 |     UniqueHurtJumping,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 102 |     UniqueHitJumping,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 103 |     SpecialHurt,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 104 |     SpecialHit,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 105 |     SpecialHurtCrouching,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 106 |     SpecialHitCrouching,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 107 |     SpecialHurtJumping,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 108 |     SpecialHitJumping,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BoxType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/game/player/components.rs:182:9
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub struct SpriteSheetIndeces {
[INFO] [stdout]     |            ------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub dash_forward_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 183 |     pub dash_forward_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 184 |     pub dash_back_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 185 |     pub dash_back_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 186 |     pub jump_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 187 |     pub jump_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 188 |     pub jump_forward_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 189 |     pub jump_forward_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 190 |     pub jump_back_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 191 |     pub jump_back_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub throw_jumping_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 195 |     pub throw_jumping_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 250 |     pub blocking_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 251 |     pub blocking_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 252 |     pub blocking_crouching_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 253 |     pub blocking_crouching_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 254 |     pub blocking_jumping_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 255 |     pub blocking_jumping_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 256 |     pub hit_standing_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 257 |     pub hit_standing_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 258 |     pub hit_crouching_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 259 |     pub hit_crouching_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 260 |     pub hit_air_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 261 |     pub hit_air_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 262 |     pub hit_throw_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 263 |     pub hit_throw_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 264 |     pub knockdown_light_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 265 |     pub knockdown_light_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 266 |     pub knockdown_hard_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 267 |     pub knockdown_hard_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 268 |     pub knockdown_getup_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 269 |     pub knockdown_getup_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HitState` is never constructed
[INFO] [stdout]    --> src/game/player/components.rs:289:12
[INFO] [stdout]     |
[INFO] [stdout] 289 | pub struct HitState {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlockState` is never constructed
[INFO] [stdout]    --> src/game/player/components.rs:294:12
[INFO] [stdout]     |
[INFO] [stdout] 294 | pub struct BlockState {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `player_health` is never read
[INFO] [stdout]    --> src/game/player/components.rs:305:9
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub struct Health {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] 305 |     pub player_health: f32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HURT_DURATION` is never used
[INFO] [stdout]   --> src/game/player/systems.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const HURT_DURATION: f32 = 9.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LIGHT_DURATION` is never used
[INFO] [stdout]   --> src/game/player/systems.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub const LIGHT_DURATION: f32 = 6.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `loop_walking_animation` is never used
[INFO] [stdout]    --> src/game/player/systems.rs:729:8
[INFO] [stdout]     |
[INFO] [stdout] 729 | pub fn loop_walking_animation(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_PLAYER_SIZE` is never used
[INFO] [stdout]  --> src/game/player/marisa_constants.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const MARISA_PLAYER_SIZE: f32 = 144.0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_LIGHT_HIT_DAMAGE` is never used
[INFO] [stdout]   --> src/game/player/marisa_constants.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const MARISA_LIGHT_HIT_DAMAGE: f32 = 5.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_LIGHT_CROUCHING_HIT_DAMAGE` is never used
[INFO] [stdout]   --> src/game/player/marisa_constants.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub const MARISA_LIGHT_CROUCHING_HIT_DAMAGE: f32 = 5.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_MEDIUM_HURT_OFFSET` is never used
[INFO] [stdout]   --> src/game/player/marisa_constants.rs:62:11
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub const MARISA_MEDIUM_HURT_OFFSET: Vec3 = Vec3::new(32.0, 0.0, 0.0);                 // 1.5 * 16 , 5 
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_MEDIUM_HURT_SIZE` is never used
[INFO] [stdout]   --> src/game/player/marisa_constants.rs:63:11
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub const MARISA_MEDIUM_HURT_SIZE: Vec2 = Vec2::new(64.0, 96.0);                         // 3 * 16, 10
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_MEDIUM_HURT_DURATION` is never used
[INFO] [stdout]   --> src/game/player/marisa_constants.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub const MARISA_MEDIUM_HURT_DURATION: f32 = 0.23;                                             // 14 frames
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_MEDIUM_HURT_STARTUP` is never used
[INFO] [stdout]   --> src/game/player/marisa_constants.rs:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub const MARISA_MEDIUM_HURT_STARTUP: f32 = 0.07;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_MEDIUM_HURT_ACTIVE` is never used
[INFO] [stdout]   --> src/game/player/marisa_constants.rs:66:11
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub const MARISA_MEDIUM_HURT_ACTIVE: f32 = 0.05;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_MEDIUM_HURT_COOLDOWN` is never used
[INFO] [stdout]   --> src/game/player/marisa_constants.rs:67:11
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub const MARISA_MEDIUM_HURT_COOLDOWN: f32 = 0.11;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_MEDIUM_HIT_OFFSET` is never used
[INFO] [stdout]   --> src/game/player/marisa_constants.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub const MARISA_MEDIUM_HIT_OFFSET: Vec3 = Vec3::new(32.0, 0.0, 0.0);                 // 1.5 * 16 , 5
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_MEDIUM_HIT_SIZE` is never used
[INFO] [stdout]   --> src/game/player/marisa_constants.rs:70:11
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub const MARISA_MEDIUM_HIT_SIZE: Vec2 = Vec2::new(64.0, 96.0);                          // 2.5 * 16, 10
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_MEDIUM_HIT_STARTUP` is never used
[INFO] [stdout]   --> src/game/player/marisa_constants.rs:71:11
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub const MARISA_MEDIUM_HIT_STARTUP: f32 = 0.07;                                              // 4 frames
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_MEDIUM_HIT_ACTIVE` is never used
[INFO] [stdout]   --> src/game/player/marisa_constants.rs:72:11
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub const MARISA_MEDIUM_HIT_ACTIVE: f32 = 0.05;                                             // 3 frames
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attack_state_one`
[INFO] [stdout]     --> src/game/player/systems.rs:1595:30
[INFO] [stdout]      |
[INFO] [stdout] 1595 |     for (collision_info_one, attack_state_one, movement_state_one, player_number_one, player_transform_one) in player_query_one.it...
[INFO] [stdout]      |                              ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attack_state_one`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_MEDIUM_HIT_COOLDOWN` is never used
[INFO] [stdout]   --> src/game/player/marisa_constants.rs:73:11
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub const MARISA_MEDIUM_HIT_COOLDOWN: f32 = 0.11;                                                 // 7 frames
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_MEDIUM_HIT_DAMAGE` is never used
[INFO] [stdout]   --> src/game/player/marisa_constants.rs:76:11
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub const MARISA_MEDIUM_HIT_DAMAGE: f32 = 5.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cap_frame_rate` is never used
[INFO] [stdout]   --> src/systems.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub fn cap_frame_rate(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ZoomLevel` is never constructed
[INFO] [stdout]  --> src/components.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct ZoomLevel(f32);
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `movement_state_one`
[INFO] [stdout]     --> src/game/player/systems.rs:1595:48
[INFO] [stdout]      |
[INFO] [stdout] 1595 | ...k_state_one, movement_state_one, player_number_one, player_transform_one) in player_query_one.iter_mut() {
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_movement_state_one`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_number_one`
[INFO] [stdout]     --> src/game/player/systems.rs:1595:68
[INFO] [stdout]      |
[INFO] [stdout] 1595 | ...nt_state_one, player_number_one, player_transform_one) in player_query_one.iter_mut() {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_number_one`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attack_state_two`
[INFO] [stdout]     --> src/game/player/systems.rs:1606:46
[INFO] [stdout]      |
[INFO] [stdout] 1606 | ...   for (collision_info_two, attack_state_two, movement_state_two, player_number_two, player_transform_two) in player_query_two....
[INFO] [stdout]      |                                ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attack_state_two`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `movement_state_two`
[INFO] [stdout]     --> src/game/player/systems.rs:1606:64
[INFO] [stdout]      |
[INFO] [stdout] 1606 | ...k_state_two, movement_state_two, player_number_two, player_transform_two) in player_query_two.iter_mut() {
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_movement_state_two`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_number_two`
[INFO] [stdout]     --> src/game/player/systems.rs:1606:84
[INFO] [stdout]      |
[INFO] [stdout] 1606 | ...nt_state_two, player_number_two, player_transform_two) in player_query_two.iter_mut() {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_number_two`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/game/player/systems.rs:1817:43
[INFO] [stdout]      |
[INFO] [stdout] 1817 |     for (player_transform, player_number, mut player_atlas_sprite) in player_query.iter_mut() {
[INFO] [stdout]      |                                           ----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_atlas_sprite`
[INFO] [stdout]     --> src/game/player/systems.rs:1817:43
[INFO] [stdout]      |
[INFO] [stdout] 1817 |     for (player_transform, player_number, mut player_atlas_sprite) in player_query.iter_mut() {
[INFO] [stdout]      |                                           ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_atlas_sprite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_number`
[INFO] [stdout]     --> src/game/player/systems.rs:1924:85
[INFO] [stdout]      |
[INFO] [stdout] 1924 |     for (player_transform, player_collision, mut jump_velocity, mut movement_state, player_number) in player_query.iter_mut() {
[INFO] [stdout]      |                                                                                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]   --> src/game/enemy/mod.rs:18:21
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn build(&self, app: &mut App) {
[INFO] [stdout]    |                     ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUB_BUTTON_COLOR` is never used
[INFO] [stdout]  --> src/main_menu/styles.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const SUB_BUTTON_COLOR: Color = Color::rgb(0.15, 0.30, 0.15);
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OVERALL_FRAME_RATE` is never used
[INFO] [stdout]   --> src/game/mod.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const OVERALL_FRAME_RATE: f32 = 1.0 / 60.0; // 1 frame = 1/60 seconds --> not sure if I should use this
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEBUG_NORMAL_BUTTON_COLOR` is never used
[INFO] [stdout]  --> src/game/debugger_styles.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const DEBUG_NORMAL_BUTTON_COLOR: Color = Color::rgb(0.15, 0.15, 0.15);
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEBUG_SUB_BUTTON_COLOR` is never used
[INFO] [stdout]  --> src/game/debugger_styles.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const DEBUG_SUB_BUTTON_COLOR: Color = Color::rgb(0.15, 0.30, 0.15);
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEBUG_PRESSED_BUTTON` is never used
[INFO] [stdout]  --> src/game/debugger_styles.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const DEBUG_PRESSED_BUTTON: Color = Color::rgb(0.25, 0.40, 0.25);
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEBUG_HOVERED_BUTTON` is never used
[INFO] [stdout]   --> src/game/debugger_styles.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const DEBUG_HOVERED_BUTTON: Color = Color::rgb(0.35, 0.50, 0.35);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAMERA_LERP_FACTOR` is never used
[INFO] [stdout]   --> src/game/systems.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const CAMERA_LERP_FACTOR: f32 = 1.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAMERA_ORTHOGRAPHIC_PROJECTION_FACTOR` is never used
[INFO] [stdout]   --> src/game/systems.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const CAMERA_ORTHOGRAPHIC_PROJECTION_FACTOR: f32 = 200.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CENTERED_CAMERA_FACTOR` is never used
[INFO] [stdout]   --> src/game/systems.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const CENTERED_CAMERA_FACTOR: f32 = 0.5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `camera_zoom` is never used
[INFO] [stdout]    --> src/game/systems.rs:246:8
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub fn camera_zoom(
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BoundingBox` is never constructed
[INFO] [stdout]   --> src/game/components.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct BoundingBox {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `horizontal_entity_size` is never read
[INFO] [stdout]   --> src/game/components.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct EntitySizeCollision {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] 48 |     pub horizontal_entity_size: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EntityInfo` is never constructed
[INFO] [stdout]   --> src/game/components.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct  EntityInfo {
[INFO] [stdout]    |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DebuggerMenu` is never constructed
[INFO] [stdout]   --> src/game/components.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub struct DebuggerMenu {}
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DrawBoxButton` is never constructed
[INFO] [stdout]    --> src/game/components.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct DrawBoxButton {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SaveBoxButton` is never constructed
[INFO] [stdout]    --> src/game/components.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct SaveBoxButton {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CollisionHashMap` is never constructed
[INFO] [stdout]   --> src/game/resources.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct CollisionHashMap {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `frame_timer` is never read
[INFO] [stdout]   --> src/game/resources.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct AdvanceOneFrameMode {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] 40 |     pub should_advance_one_frame: bool,
[INFO] [stdout] 41 |     pub frame_timer: Timer,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIRECTION_JUMP_BUFFER_TIME` is never used
[INFO] [stdout]   --> src/game/player/mod.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const DIRECTION_JUMP_BUFFER_TIME: f32 = 0.5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `startup_active_cooldown` is never read
[INFO] [stdout]   --> src/game/player/components.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct CollisionBox {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub startup_active_cooldown: [f32; 3],
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CollisionBox` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/game/player/components.rs:76:5
[INFO] [stdout]     |
[INFO] [stdout]  73 | pub enum BoxType {
[INFO] [stdout]     |          ------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  76 |     Throw,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]  77 |     OverheadHurt,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]  78 |     OverheadHit,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     LightHurtCrouching,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  82 |     LightHitCrouching,
[INFO] [stdout]  83 |     LightHurtJumping,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]  84 |     LightHitJumping,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  85 |     MediumHurt,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]  86 |     MediumHit,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]  87 |     MediumHurtCrouching,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  88 |     MediumHitCrouching,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  89 |     MediumHurtJumping,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]  90 |     MediumHitJumping,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]  91 |     HeavyHurt,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]  92 |     HeavyHit,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]  93 |     HeavyHurtCrouching,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  94 |     HeavyHitCrouching,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]  95 |     HeavyHurtJunmping,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]  96 |     HeavyHitJumping,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  97 |     UniqueHurt,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]  98 |     UniqueHit,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]  99 |     UniqueHurtCrouching,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 100 |     UniqueHitCrouching,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 101 |     UniqueHurtJumping,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 102 |     UniqueHitJumping,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 103 |     SpecialHurt,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 104 |     SpecialHit,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 105 |     SpecialHurtCrouching,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 106 |     SpecialHitCrouching,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 107 |     SpecialHurtJumping,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 108 |     SpecialHitJumping,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BoxType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/game/player/components.rs:182:9
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub struct SpriteSheetIndeces {
[INFO] [stdout]     |            ------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub dash_forward_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 183 |     pub dash_forward_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 184 |     pub dash_back_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 185 |     pub dash_back_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 186 |     pub jump_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 187 |     pub jump_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 188 |     pub jump_forward_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 189 |     pub jump_forward_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 190 |     pub jump_back_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 191 |     pub jump_back_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub throw_jumping_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 195 |     pub throw_jumping_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 250 |     pub blocking_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 251 |     pub blocking_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 252 |     pub blocking_crouching_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 253 |     pub blocking_crouching_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 254 |     pub blocking_jumping_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 255 |     pub blocking_jumping_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 256 |     pub hit_standing_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 257 |     pub hit_standing_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 258 |     pub hit_crouching_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 259 |     pub hit_crouching_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 260 |     pub hit_air_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 261 |     pub hit_air_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 262 |     pub hit_throw_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 263 |     pub hit_throw_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 264 |     pub knockdown_light_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 265 |     pub knockdown_light_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 266 |     pub knockdown_hard_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 267 |     pub knockdown_hard_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 268 |     pub knockdown_getup_first: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 269 |     pub knockdown_getup_last: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HitState` is never constructed
[INFO] [stdout]    --> src/game/player/components.rs:289:12
[INFO] [stdout]     |
[INFO] [stdout] 289 | pub struct HitState {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlockState` is never constructed
[INFO] [stdout]    --> src/game/player/components.rs:294:12
[INFO] [stdout]     |
[INFO] [stdout] 294 | pub struct BlockState {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `player_health` is never read
[INFO] [stdout]    --> src/game/player/components.rs:305:9
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub struct Health {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] 305 |     pub player_health: f32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HURT_DURATION` is never used
[INFO] [stdout]   --> src/game/player/systems.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const HURT_DURATION: f32 = 9.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LIGHT_DURATION` is never used
[INFO] [stdout]   --> src/game/player/systems.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub const LIGHT_DURATION: f32 = 6.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `loop_walking_animation` is never used
[INFO] [stdout]    --> src/game/player/systems.rs:729:8
[INFO] [stdout]     |
[INFO] [stdout] 729 | pub fn loop_walking_animation(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_PLAYER_SIZE` is never used
[INFO] [stdout]  --> src/game/player/marisa_constants.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const MARISA_PLAYER_SIZE: f32 = 144.0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_LIGHT_HIT_DAMAGE` is never used
[INFO] [stdout]   --> src/game/player/marisa_constants.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const MARISA_LIGHT_HIT_DAMAGE: f32 = 5.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_LIGHT_CROUCHING_HIT_DAMAGE` is never used
[INFO] [stdout]   --> src/game/player/marisa_constants.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub const MARISA_LIGHT_CROUCHING_HIT_DAMAGE: f32 = 5.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_MEDIUM_HURT_OFFSET` is never used
[INFO] [stdout]   --> src/game/player/marisa_constants.rs:62:11
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub const MARISA_MEDIUM_HURT_OFFSET: Vec3 = Vec3::new(32.0, 0.0, 0.0);                 // 1.5 * 16 , 5 
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_MEDIUM_HURT_SIZE` is never used
[INFO] [stdout]   --> src/game/player/marisa_constants.rs:63:11
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub const MARISA_MEDIUM_HURT_SIZE: Vec2 = Vec2::new(64.0, 96.0);                         // 3 * 16, 10
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_MEDIUM_HURT_DURATION` is never used
[INFO] [stdout]   --> src/game/player/marisa_constants.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub const MARISA_MEDIUM_HURT_DURATION: f32 = 0.23;                                             // 14 frames
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_MEDIUM_HURT_STARTUP` is never used
[INFO] [stdout]   --> src/game/player/marisa_constants.rs:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub const MARISA_MEDIUM_HURT_STARTUP: f32 = 0.07;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_MEDIUM_HURT_ACTIVE` is never used
[INFO] [stdout]   --> src/game/player/marisa_constants.rs:66:11
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub const MARISA_MEDIUM_HURT_ACTIVE: f32 = 0.05;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_MEDIUM_HURT_COOLDOWN` is never used
[INFO] [stdout]   --> src/game/player/marisa_constants.rs:67:11
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub const MARISA_MEDIUM_HURT_COOLDOWN: f32 = 0.11;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_MEDIUM_HIT_OFFSET` is never used
[INFO] [stdout]   --> src/game/player/marisa_constants.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub const MARISA_MEDIUM_HIT_OFFSET: Vec3 = Vec3::new(32.0, 0.0, 0.0);                 // 1.5 * 16 , 5
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_MEDIUM_HIT_SIZE` is never used
[INFO] [stdout]   --> src/game/player/marisa_constants.rs:70:11
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub const MARISA_MEDIUM_HIT_SIZE: Vec2 = Vec2::new(64.0, 96.0);                          // 2.5 * 16, 10
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_MEDIUM_HIT_STARTUP` is never used
[INFO] [stdout]   --> src/game/player/marisa_constants.rs:71:11
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub const MARISA_MEDIUM_HIT_STARTUP: f32 = 0.07;                                              // 4 frames
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_MEDIUM_HIT_ACTIVE` is never used
[INFO] [stdout]   --> src/game/player/marisa_constants.rs:72:11
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub const MARISA_MEDIUM_HIT_ACTIVE: f32 = 0.05;                                             // 3 frames
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_MEDIUM_HIT_COOLDOWN` is never used
[INFO] [stdout]   --> src/game/player/marisa_constants.rs:73:11
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub const MARISA_MEDIUM_HIT_COOLDOWN: f32 = 0.11;                                                 // 7 frames
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARISA_MEDIUM_HIT_DAMAGE` is never used
[INFO] [stdout]   --> src/game/player/marisa_constants.rs:76:11
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub const MARISA_MEDIUM_HIT_DAMAGE: f32 = 5.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cap_frame_rate` is never used
[INFO] [stdout]   --> src/systems.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub fn cap_frame_rate(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ZoomLevel` is never constructed
[INFO] [stdout]  --> src/components.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct ZoomLevel(f32);
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [optimized + debuginfo] target(s) in 3m 33s
[INFO] running `Command { std: "docker" "inspect" "07f19e8d59e01ead1af7df8f9e64b9e142e780837fe53e1caab51c8a38b06a42", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "07f19e8d59e01ead1af7df8f9e64b9e142e780837fe53e1caab51c8a38b06a42", kill_on_drop: false }`
[INFO] [stdout] 07f19e8d59e01ead1af7df8f9e64b9e142e780837fe53e1caab51c8a38b06a42
