[INFO] cloning repository https://github.com/leirn/rustaplex [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/leirn/rustaplex" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fleirn%2Frustaplex", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fleirn%2Frustaplex'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6c6a0d1878eadc58b350701d6227d1d0e026ed31 [INFO] checking leirn/rustaplex against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fleirn%2Frustaplex" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/leirn/rustaplex on toolchain 1f12b9b0fdbe735968ac002792a720f0ba4faca6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/leirn/rustaplex [INFO] finished tweaking git repo https://github.com/leirn/rustaplex [INFO] tweaked toml for git repo https://github.com/leirn/rustaplex written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/leirn/rustaplex 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" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded anstyle-wincon v3.0.1 [INFO] [stderr] Downloaded anstream v0.6.4 [INFO] [stderr] Downloaded clap_builder v4.4.6 [INFO] [stderr] Downloaded anstyle-parse v0.2.2 [INFO] [stderr] Downloaded clap v4.4.6 [INFO] [stderr] Downloaded regex v1.10.0 [INFO] [stderr] Downloaded regex-syntax v0.8.1 [INFO] [stderr] Downloaded rustix v0.38.18 [INFO] [stderr] Downloaded regex-automata v0.4.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ad0b10e2b73c011cde67e7bcf4a6aa2ffa4e871bca89034749771080c45c49a1 [INFO] running `Command { std: "docker" "start" "-a" "ad0b10e2b73c011cde67e7bcf4a6aa2ffa4e871bca89034749771080c45c49a1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ad0b10e2b73c011cde67e7bcf4a6aa2ffa4e871bca89034749771080c45c49a1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ad0b10e2b73c011cde67e7bcf4a6aa2ffa4e871bca89034749771080c45c49a1", kill_on_drop: false }` [INFO] [stdout] ad0b10e2b73c011cde67e7bcf4a6aa2ffa4e871bca89034749771080c45c49a1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 21411a99bb825201765e494db185ef4df4ba785d09bcc26d9c518a8a4b4713e2 [INFO] running `Command { std: "docker" "start" "-a" "21411a99bb825201765e494db185ef4df4ba785d09bcc26d9c518a8a4b4713e2", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.69 [INFO] [stderr] Compiling version-compare v0.1.0 [INFO] [stderr] Compiling num-traits v0.2.17 [INFO] [stderr] Compiling rustix v0.38.18 [INFO] [stderr] Compiling libc v0.2.149 [INFO] [stderr] Checking memchr v2.6.4 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Checking anstyle v1.0.4 [INFO] [stderr] Checking regex-syntax v0.8.1 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking anstyle-query v1.0.0 [INFO] [stderr] Checking linux-raw-sys v0.4.10 [INFO] [stderr] Checking anstyle-parse v0.2.2 [INFO] [stderr] Checking bitflags v2.4.0 [INFO] [stderr] Compiling num-iter v0.1.43 [INFO] [stderr] Compiling sdl2 v0.35.2 [INFO] [stderr] Checking clap_lex v0.5.1 [INFO] [stderr] Checking termcolor v1.3.0 [INFO] [stderr] Checking log v0.4.20 [INFO] [stderr] Checking anstream v0.6.4 [INFO] [stderr] Compiling sdl2-sys v0.35.2 [INFO] [stderr] Checking clap_builder v4.4.6 [INFO] [stderr] Checking aho-corasick v1.1.2 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Compiling syn v2.0.38 [INFO] [stderr] Checking is-terminal v0.4.9 [INFO] [stderr] Checking regex-automata v0.4.1 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Checking regex v1.10.0 [INFO] [stderr] Checking env_logger v0.10.0 [INFO] [stderr] Compiling clap_derive v4.4.2 [INFO] [stderr] Checking clap v4.4.6 [INFO] [stderr] Checking rustaplex v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::default` [INFO] [stdout] --> src/game/globals.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use std::default; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Palette` [INFO] [stdout] --> src/game/graphics.rs:21:27 [INFO] [stdout] | [INFO] [stdout] 21 | use sdl2::pixels::{Color, Palette}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `G_SCREEN_PIXEL` should have an upper camel case name [INFO] [stdout] --> src/game/graphics.rs:1321:5 [INFO] [stdout] | [INFO] [stdout] 1321 | G_SCREEN_PIXEL, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GScreenPixel` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `G_PANEL_RENDERED_BITMAP_DATA` should have an upper camel case name [INFO] [stdout] --> src/game/graphics.rs:1322:5 [INFO] [stdout] | [INFO] [stdout] 1322 | G_PANEL_RENDERED_BITMAP_DATA, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GPanelRenderedBitmapData` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::default` [INFO] [stdout] --> src/game/globals.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use std::default; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Palette` [INFO] [stdout] --> src/game/graphics.rs:21:27 [INFO] [stdout] | [INFO] [stdout] 21 | use sdl2::pixels::{Color, Palette}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `G_SCREEN_PIXEL` should have an upper camel case name [INFO] [stdout] --> src/game/graphics.rs:1321:5 [INFO] [stdout] | [INFO] [stdout] 1321 | G_SCREEN_PIXEL, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GScreenPixel` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `G_PANEL_RENDERED_BITMAP_DATA` should have an upper camel case name [INFO] [stdout] --> src/game/graphics.rs:1322:5 [INFO] [stdout] | [INFO] [stdout] 1322 | G_PANEL_RENDERED_BITMAP_DATA, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GPanelRenderedBitmapData` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file` [INFO] [stdout] --> src/game/demo.rs:131:60 [INFO] [stdout] | [INFO] [stdout] 131 | pub fn get_level_number_from_original_demo_file(&self, file: File, file_length: u64) -> usize { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_file` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file_length` [INFO] [stdout] --> src/game/demo.rs:131:72 [INFO] [stdout] | [INFO] [stdout] 131 | pub fn get_level_number_from_original_demo_file(&self, file: File, file_length: u64) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_length` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `number_of_demo_bytes_read` is never read [INFO] [stdout] --> src/game/demo.rs:207:21 [INFO] [stdout] | [INFO] [stdout] 207 | let mut number_of_demo_bytes_read = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file` [INFO] [stdout] --> src/game/demo.rs:131:60 [INFO] [stdout] | [INFO] [stdout] 131 | pub fn get_level_number_from_original_demo_file(&self, file: File, file_length: u64) -> usize { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_file` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file_length` [INFO] [stdout] --> src/game/demo.rs:131:72 [INFO] [stdout] | [INFO] [stdout] 131 | pub fn get_level_number_from_original_demo_file(&self, file: File, file_length: u64) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_length` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `number_of_demo_bytes_read` is never read [INFO] [stdout] --> src/game/demo.rs:207:21 [INFO] [stdout] | [INFO] [stdout] 207 | let mut number_of_demo_bytes_read = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/game/graphics.rs:937:13 [INFO] [stdout] | [INFO] [stdout] 937 | for i in 0..(K_FULL_SCREEN_FRAMEBUFFER_LENGTH - copy_offset) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `title2_palette` [INFO] [stdout] --> src/game/graphics.rs:942:13 [INFO] [stdout] | [INFO] [stdout] 942 | let title2_palette = Graphics::convert_palette_data_to_palette(G_TITLE2_PALETTE_DATA); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_title2_palette` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `final_width` [INFO] [stdout] --> src/game/graphics.rs:1185:17 [INFO] [stdout] | [INFO] [stdout] 1185 | let final_width = [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_width` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/game/graphics.rs:937:13 [INFO] [stdout] | [INFO] [stdout] 937 | for i in 0..(K_FULL_SCREEN_FRAMEBUFFER_LENGTH - copy_offset) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `title2_palette` [INFO] [stdout] --> src/game/graphics.rs:942:13 [INFO] [stdout] | [INFO] [stdout] 942 | let title2_palette = Graphics::convert_palette_data_to_palette(G_TITLE2_PALETTE_DATA); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_title2_palette` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `final_width` [INFO] [stdout] --> src/game/graphics.rs:1185:17 [INFO] [stdout] | [INFO] [stdout] 1185 | let final_width = [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_width` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `effects_type` [INFO] [stdout] --> src/game/sounds.rs:285:37 [INFO] [stdout] | [INFO] [stdout] 285 | fn play_sound_effect(&mut self, effects_type: SoundEffect) {} [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_effects_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chunk` [INFO] [stdout] --> src/game/sounds.rs:307:13 [INFO] [stdout] | [INFO] [stdout] 307 | let chunk: RWops<'static> = sdl2::rwops::RWops::from_file(filename, "r").unwrap(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/game/sounds.rs:347:13 [INFO] [stdout] | [INFO] [stdout] 347 | for i in 0..SOUND_EFFECT_COUNT { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `effects_type` [INFO] [stdout] --> src/game/sounds.rs:285:37 [INFO] [stdout] | [INFO] [stdout] 285 | fn play_sound_effect(&mut self, effects_type: SoundEffect) {} [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_effects_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chunk` [INFO] [stdout] --> src/game/sounds.rs:307:13 [INFO] [stdout] | [INFO] [stdout] 307 | let chunk: RWops<'static> = sdl2::rwops::RWops::from_file(filename, "r").unwrap(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/game/sounds.rs:347:13 [INFO] [stdout] | [INFO] [stdout] 347 | for i in 0..SOUND_EFFECT_COUNT { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `level_number_forced_to_load` [INFO] [stdout] --> src/game/mod.rs:294:17 [INFO] [stdout] | [INFO] [stdout] 294 | let mut level_number_forced_to_load = 0_u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_level_number_forced_to_load` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `level_number_forced_to_load` is never read [INFO] [stdout] --> src/game/mod.rs:297:21 [INFO] [stdout] | [INFO] [stdout] 297 | let mut level_number_forced_to_load = 0_u8; [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/game/mod.rs:294:13 [INFO] [stdout] | [INFO] [stdout] 294 | let mut level_number_forced_to_load = 0_u8; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `level_number_forced_to_load` [INFO] [stdout] --> src/game/mod.rs:294:17 [INFO] [stdout] | [INFO] [stdout] 294 | let mut level_number_forced_to_load = 0_u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_level_number_forced_to_load` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `level_number_forced_to_load` is never read [INFO] [stdout] --> src/game/mod.rs:297:21 [INFO] [stdout] | [INFO] [stdout] 297 | let mut level_number_forced_to_load = 0_u8; [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/game/mod.rs:294:13 [INFO] [stdout] | [INFO] [stdout] 294 | let mut level_number_forced_to_load = 0_u8; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_player_level_state` [INFO] [stdout] --> src/game/mod.rs:965:13 [INFO] [stdout] | [INFO] [stdout] 965 | let current_player_level_state = current_player_entry.level_state; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_player_level_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/game/mod.rs:962:13 [INFO] [stdout] | [INFO] [stdout] 962 | let mut current_player_entry = [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `prev_player_name` is never read [INFO] [stdout] --> src/game/mod.rs:1063:17 [INFO] [stdout] | [INFO] [stdout] 1063 | let mut prev_player_name = String::from(""); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `next_player_name` is never read [INFO] [stdout] --> src/game/mod.rs:1076:17 [INFO] [stdout] | [INFO] [stdout] 1076 | let mut next_player_name = String::from(""); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_player_level_state` [INFO] [stdout] --> src/game/mod.rs:965:13 [INFO] [stdout] | [INFO] [stdout] 965 | let current_player_level_state = current_player_entry.level_state; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_player_level_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `message` is never read [INFO] [stdout] --> src/game/mod.rs:1367:17 [INFO] [stdout] | [INFO] [stdout] 1367 | let mut message = String::new(); [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/game/mod.rs:962:13 [INFO] [stdout] | [INFO] [stdout] 962 | let mut current_player_entry = [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `prev_player_name` is never read [INFO] [stdout] --> src/game/mod.rs:1063:17 [INFO] [stdout] | [INFO] [stdout] 1063 | let mut prev_player_name = String::from(""); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `next_player_name` is never read [INFO] [stdout] --> src/game/mod.rs:1076:17 [INFO] [stdout] | [INFO] [stdout] 1076 | let mut next_player_name = String::from(""); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `number_of_changes` is never read [INFO] [stdout] --> src/game/mod.rs:1452:17 [INFO] [stdout] | [INFO] [stdout] 1452 | let mut number_of_changes: u8 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `message` is never read [INFO] [stdout] --> src/game/mod.rs:1367:17 [INFO] [stdout] | [INFO] [stdout] 1367 | let mut message = String::new(); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `menu_screen_pixels` [INFO] [stdout] --> src/game/mod.rs:1592:13 [INFO] [stdout] | [INFO] [stdout] 1592 | let menu_screen_pixels = self.graphics.video.borrow_mut().get_screen_pixels(); // Appel en double? [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_menu_screen_pixels` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/game/mod.rs:1604:13 [INFO] [stdout] | [INFO] [stdout] 1604 | let mut k_animation_duration: u32 = K_NUMBER_OF_STEPS * 1000 / 70; // ~571 ms [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `number_of_changes` is never read [INFO] [stdout] --> src/game/mod.rs:1452:17 [INFO] [stdout] | [INFO] [stdout] 1452 | let mut number_of_changes: u8 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `color` is never read [INFO] [stdout] --> src/game/mod.rs:1701:17 [INFO] [stdout] | [INFO] [stdout] 1701 | let mut color = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `mouse_x` is never read [INFO] [stdout] --> src/game/mod.rs:2041:17 [INFO] [stdout] | [INFO] [stdout] 2041 | let mut mouse_x = 0; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `mouse_y` is never read [INFO] [stdout] --> src/game/mod.rs:2042:17 [INFO] [stdout] | [INFO] [stdout] 2042 | let mut mouse_y = 0; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `menu_screen_pixels` [INFO] [stdout] --> src/game/mod.rs:1592:13 [INFO] [stdout] | [INFO] [stdout] 1592 | let menu_screen_pixels = self.graphics.video.borrow_mut().get_screen_pixels(); // Appel en double? [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_menu_screen_pixels` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/game/mod.rs:1604:13 [INFO] [stdout] | [INFO] [stdout] 1604 | let mut k_animation_duration: u32 = K_NUMBER_OF_STEPS * 1000 / 70; // ~571 ms [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `color` is never read [INFO] [stdout] --> src/game/mod.rs:1701:17 [INFO] [stdout] | [INFO] [stdout] 1701 | let mut color = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `average_time_string` [INFO] [stdout] --> src/game/mod.rs:2273:13 [INFO] [stdout] | [INFO] [stdout] 2273 | let average_time_string = "000.0"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_average_time_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `mouse_x` is never read [INFO] [stdout] --> src/game/mod.rs:2041:17 [INFO] [stdout] | [INFO] [stdout] 2041 | let mut mouse_x = 0; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `mouse_y` is never read [INFO] [stdout] --> src/game/mod.rs:2042:17 [INFO] [stdout] | [INFO] [stdout] 2042 | let mut mouse_y = 0; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `average_time_string` [INFO] [stdout] --> src/game/mod.rs:2273:13 [INFO] [stdout] | [INFO] [stdout] 2273 | let average_time_string = "000.0"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_average_time_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `current_suffix` is never read [INFO] [stdout] --> src/game/mod.rs:3380:17 [INFO] [stdout] | [INFO] [stdout] 3380 | let mut current_suffix = "AT"; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `current_suffix` is never read [INFO] [stdout] --> src/game/mod.rs:3380:17 [INFO] [stdout] | [INFO] [stdout] 3380 | let mut current_suffix = "AT"; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `number_of_something` is assigned to, but never used [INFO] [stdout] --> src/game/mod.rs:3959:17 [INFO] [stdout] | [INFO] [stdout] 3959 | ... let mut number_of_something = 0; // this is bx, just counts the number of tiles so technically is same as cx at this point… probabl... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_number_of_something` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `max_scroll_y` is never read [INFO] [stdout] --> src/game/mod.rs:4168:17 [INFO] [stdout] | [INFO] [stdout] 4168 | let mut max_scroll_y = 0; [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/game/mod.rs:4151:13 [INFO] [stdout] | [INFO] [stdout] 4151 | let mut max_scroll_x = (K_LEVEL_BITMAP_WIDTH - K_SCREEN_WIDTH) as i32; [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `number_of_something` is assigned to, but never used [INFO] [stdout] --> src/game/mod.rs:3959:17 [INFO] [stdout] | [INFO] [stdout] 3959 | ... let mut number_of_something = 0; // this is bx, just counts the number of tiles so technically is same as cx at this point… probabl... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_number_of_something` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `matches` [INFO] [stdout] --> src/main.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | let matches = child.join().unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `max_scroll_y` is never read [INFO] [stdout] --> src/game/mod.rs:4168:17 [INFO] [stdout] | [INFO] [stdout] 4168 | let mut max_scroll_y = 0; [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/game/mod.rs:4151:13 [INFO] [stdout] | [INFO] [stdout] 4151 | let mut max_scroll_x = (K_LEVEL_BITMAP_WIDTH - K_SCREEN_WIDTH) as i32; [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `matches` [INFO] [stdout] --> src/main.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | let matches = child.join().unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matches` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ScalingMode` is more private than the item `game::video::Video::<'_>::get_scaling_mode` [INFO] [stdout] --> src/game/video.rs:177:5 [INFO] [stdout] | [INFO] [stdout] 177 | pub fn get_scaling_mode(&self) -> ScalingMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `game::video::Video::<'_>::get_scaling_mode` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ScalingMode` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/game/video.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | enum ScalingMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ScalingMode` is more private than the item `game::video::Video::<'_>::get_scaling_mode` [INFO] [stdout] --> src/game/video.rs:177:5 [INFO] [stdout] | [INFO] [stdout] 177 | pub fn get_scaling_mode(&self) -> ScalingMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `game::video::Video::<'_>::get_scaling_mode` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ScalingMode` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/game/video.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | enum ScalingMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ScalingMode` is more private than the item `game::video::Video::<'_>::set_scaling_mode` [INFO] [stdout] --> src/game/video.rs:181:5 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn set_scaling_mode(&mut self, mode: ScalingMode) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `game::video::Video::<'_>::set_scaling_mode` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ScalingMode` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/game/video.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | enum ScalingMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ScalingMode` is more private than the item `game::video::Video::<'_>::set_scaling_mode` [INFO] [stdout] --> src/game/video.rs:181:5 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn set_scaling_mode(&mut self, mode: ScalingMode) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `game::video::Video::<'_>::set_scaling_mode` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ScalingMode` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/game/video.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | enum ScalingMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `fun_level` is never used [INFO] [stdout] --> src/game/mod.rs:2863:8 [INFO] [stdout] | [INFO] [stdout] 169 | impl Game<'_> { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 2863 | fn fun_level(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/game/animation.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct MurphyAnimationDescriptor { [INFO] [stdout] | ------------------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 5 | animation_coordinates_offset: i16, // word_510F0 -> 0x0DE0 -> seems like an offset from the destination position in dimensions of the... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 6 | animation_coordinates_offset_increment: i16, // word_510F2 -> this increases the offset above frame by frame [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | width: u16, // word_510F4 [INFO] [stdout] | ^^^^^ [INFO] [stdout] 8 | height: u16, // word_510F6 [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 9 | animation_index: u16, // word_510F8; -> memory address in someBinaryData_5142E, looks like a list of coordinates of frames in MOVING.DAT [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | speed_x: i16, // word_510FA; -> applied to Murphy X position... speedX? [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 11 | speed_y: i16, // word_510FC; -> applied to Murphy Y position... speedY? [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 12 | current_frame: u16, // Not used in the original code, I will use it to keep track of the current animation frame [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MurphyAnimationDescriptor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Point` is never constructed [INFO] [stdout] --> src/game/animation.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct Point { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_MURPHY_ANIMATION_DESCRIPTOR` is never used [INFO] [stdout] --> src/game/animation.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | pub const K_MURPHY_ANIMATION_DESCRIPTOR: [MurphyAnimationDescriptor; 51] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_MURPHY_ANIMATION_FRAME_COORDINATES` is never used [INFO] [stdout] --> src/game/animation.rs:585:11 [INFO] [stdout] | [INFO] [stdout] 585 | pub const K_MURPHY_ANIMATION_FRAME_COORDINATES: [&[Point]; 37] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_BUG_FRAME_COORDINATES` is never used [INFO] [stdout] --> src/game/animation.rs:1011:11 [INFO] [stdout] | [INFO] [stdout] 1011 | pub const K_BUG_FRAME_COORDINATES: [Point; 16] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_ZONK_SLIDE_LEFT_ANIMATION_FRAME_COORDINATES` is never used [INFO] [stdout] --> src/game/animation.rs:1032:11 [INFO] [stdout] | [INFO] [stdout] 1032 | pub const K_ZONK_SLIDE_LEFT_ANIMATION_FRAME_COORDINATES: [Point; 8] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_ZONK_SLIDE_RIGHT_ANIMATION_FRAME_COORDINATES` is never used [INFO] [stdout] --> src/game/animation.rs:1043:11 [INFO] [stdout] | [INFO] [stdout] 1043 | pub const K_ZONK_SLIDE_RIGHT_ANIMATION_FRAME_COORDINATES: [Point; 8] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_INFOTRON_SLIDE_LEFT_ANIMATION_FRAME_COORDINATES` is never used [INFO] [stdout] --> src/game/animation.rs:1054:11 [INFO] [stdout] | [INFO] [stdout] 1054 | pub const K_INFOTRON_SLIDE_LEFT_ANIMATION_FRAME_COORDINATES: [Point; 8] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_INFOTRON_SLIDE_RIGHT_ANIMATION_FRAME_COORDINATES` is never used [INFO] [stdout] --> src/game/animation.rs:1065:11 [INFO] [stdout] | [INFO] [stdout] 1065 | pub const K_INFOTRON_SLIDE_RIGHT_ANIMATION_FRAME_COORDINATES: [Point; 8] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `fun_level` is never used [INFO] [stdout] --> src/game/mod.rs:2863:8 [INFO] [stdout] | [INFO] [stdout] 169 | impl Game<'_> { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 2863 | fn fun_level(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_REGULAR_EXPLOSION_ANIMATION_FRAME_COORDINATES` is never used [INFO] [stdout] --> src/game/animation.rs:1076:11 [INFO] [stdout] | [INFO] [stdout] 1076 | pub const K_REGULAR_EXPLOSION_ANIMATION_FRAME_COORDINATES: [Point; 8] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_INFOTRON_EXPLOSION_ANIMATION_FRAME_COORDINATES` is never used [INFO] [stdout] --> src/game/animation.rs:1087:11 [INFO] [stdout] | [INFO] [stdout] 1087 | pub const K_INFOTRON_EXPLOSION_ANIMATION_FRAME_COORDINATES: [Point; 8] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_SNIK_SNAK_ANIMATION_FRAME_COORDINATES` is never used [INFO] [stdout] --> src/game/animation.rs:1099:11 [INFO] [stdout] | [INFO] [stdout] 1099 | pub const K_SNIK_SNAK_ANIMATION_FRAME_COORDINATES: [Point; 48] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_ELECTRON_ANIMATION_FRAME_COORDINATES` is never used [INFO] [stdout] --> src/game/animation.rs:1151:11 [INFO] [stdout] | [INFO] [stdout] 1151 | pub const K_ELECTRON_ANIMATION_FRAME_COORDINATES: [Point; 48] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `k_original_demo_file_sizes`, `k_original_demo_first_file_chunks`, `g_current_demo_level_name`, `recording_demo_message`, and `g_demo_recording_just_started` are never read [INFO] [stdout] --> src/game/demo.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct DemoManager { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 38 | k_original_demo_file_sizes: [u16; K_NUMBER_OF_DEMOS], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 39 | k_original_demo_first_file_chunks: [FirstOriginalDemoFileChunk; K_NUMBER_OF_DEMOS], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | g_current_demo_level_name: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | [INFO] [stdout] 47 | recording_demo_message: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 48 | pub g_demo_recording_just_started: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/game/animation.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct MurphyAnimationDescriptor { [INFO] [stdout] | ------------------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 5 | animation_coordinates_offset: i16, // word_510F0 -> 0x0DE0 -> seems like an offset from the destination position in dimensions of the... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 6 | animation_coordinates_offset_increment: i16, // word_510F2 -> this increases the offset above frame by frame [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | width: u16, // word_510F4 [INFO] [stdout] | ^^^^^ [INFO] [stdout] 8 | height: u16, // word_510F6 [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 9 | animation_index: u16, // word_510F8; -> memory address in someBinaryData_5142E, looks like a list of coordinates of frames in MOVING.DAT [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | speed_x: i16, // word_510FA; -> applied to Murphy X position... speedX? [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 11 | speed_y: i16, // word_510FC; -> applied to Murphy Y position... speedY? [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 12 | current_frame: u16, // Not used in the original code, I will use it to keep track of the current animation frame [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MurphyAnimationDescriptor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_level_number_from_original_demo_file` is never used [INFO] [stdout] --> src/game/demo.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 59 | impl DemoManager { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn get_level_number_from_original_demo_file(&self, file: File, file_length: u64) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `level_number` and `first_user_inputs` are never read [INFO] [stdout] --> src/game/demo.rs:257:9 [INFO] [stdout] | [INFO] [stdout] 256 | struct FirstOriginalDemoFileChunk { [INFO] [stdout] | -------------------------- fields in this struct [INFO] [stdout] 257 | pub level_number: u8, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 258 | pub first_user_inputs: [u8; 3], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FirstOriginalDemoFileChunk` has derived impls for the traits `Default` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Point` is never constructed [INFO] [stdout] --> src/game/animation.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct Point { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_MAX_BASE_DEMO_SIZE` is never used [INFO] [stdout] --> src/game/demo.rs:262:7 [INFO] [stdout] | [INFO] [stdout] 262 | const K_MAX_BASE_DEMO_SIZE: usize = 1 + K_MAX_DEMO_INPUT_STEPS + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BaseDemo` is never constructed [INFO] [stdout] --> src/game/demo.rs:266:8 [INFO] [stdout] | [INFO] [stdout] 266 | struct BaseDemo { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_MURPHY_ANIMATION_DESCRIPTOR` is never used [INFO] [stdout] --> src/game/animation.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | pub const K_MURPHY_ANIMATION_DESCRIPTOR: [MurphyAnimationDescriptor; 51] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_MAX_DEMO_SIGNATURE_LENGTH` is never used [INFO] [stdout] --> src/game/demo.rs:277:7 [INFO] [stdout] | [INFO] [stdout] 277 | const K_MAX_DEMO_SIGNATURE_LENGTH: usize = 511; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_MURPHY_ANIMATION_FRAME_COORDINATES` is never used [INFO] [stdout] --> src/game/animation.rs:585:11 [INFO] [stdout] | [INFO] [stdout] 585 | pub const K_MURPHY_ANIMATION_FRAME_COORDINATES: [&[Point]; 37] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_MAX_DEMO_SIGNATURE_SIZE` is never used [INFO] [stdout] --> src/game/demo.rs:278:7 [INFO] [stdout] | [INFO] [stdout] 278 | const K_MAX_DEMO_SIGNATURE_SIZE: usize = K_MAX_DEMO_SIGNATURE_LENGTH + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_BUG_FRAME_COORDINATES` is never used [INFO] [stdout] --> src/game/animation.rs:1011:11 [INFO] [stdout] | [INFO] [stdout] 1011 | pub const K_BUG_FRAME_COORDINATES: [Point; 16] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_ZONK_SLIDE_LEFT_ANIMATION_FRAME_COORDINATES` is never used [INFO] [stdout] --> src/game/animation.rs:1032:11 [INFO] [stdout] | [INFO] [stdout] 1032 | pub const K_ZONK_SLIDE_LEFT_ANIMATION_FRAME_COORDINATES: [Point; 8] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_ZONK_SLIDE_RIGHT_ANIMATION_FRAME_COORDINATES` is never used [INFO] [stdout] --> src/game/animation.rs:1043:11 [INFO] [stdout] | [INFO] [stdout] 1043 | pub const K_ZONK_SLIDE_RIGHT_ANIMATION_FRAME_COORDINATES: [Point; 8] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DemoFile` is never constructed [INFO] [stdout] --> src/game/demo.rs:283:8 [INFO] [stdout] | [INFO] [stdout] 283 | struct DemoFile { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_INFOTRON_SLIDE_LEFT_ANIMATION_FRAME_COORDINATES` is never used [INFO] [stdout] --> src/game/animation.rs:1054:11 [INFO] [stdout] | [INFO] [stdout] 1054 | pub const K_INFOTRON_SLIDE_LEFT_ANIMATION_FRAME_COORDINATES: [Point; 8] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_INFOTRON_SLIDE_RIGHT_ANIMATION_FRAME_COORDINATES` is never used [INFO] [stdout] --> src/game/animation.rs:1065:11 [INFO] [stdout] | [INFO] [stdout] 1065 | pub const K_INFOTRON_SLIDE_RIGHT_ANIMATION_FRAME_COORDINATES: [Point; 8] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_REGULAR_EXPLOSION_ANIMATION_FRAME_COORDINATES` is never used [INFO] [stdout] --> src/game/animation.rs:1076:11 [INFO] [stdout] | [INFO] [stdout] 1076 | pub const K_REGULAR_EXPLOSION_ANIMATION_FRAME_COORDINATES: [Point; 8] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_INFOTRON_EXPLOSION_ANIMATION_FRAME_COORDINATES` is never used [INFO] [stdout] --> src/game/animation.rs:1087:11 [INFO] [stdout] | [INFO] [stdout] 1087 | pub const K_INFOTRON_EXPLOSION_ANIMATION_FRAME_COORDINATES: [Point; 8] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_SNIK_SNAK_ANIMATION_FRAME_COORDINATES` is never used [INFO] [stdout] --> src/game/animation.rs:1099:11 [INFO] [stdout] | [INFO] [stdout] 1099 | pub const K_SNIK_SNAK_ANIMATION_FRAME_COORDINATES: [Point; 48] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_ELECTRON_ANIMATION_FRAME_COORDINATES` is never used [INFO] [stdout] --> src/game/animation.rs:1151:11 [INFO] [stdout] | [INFO] [stdout] 1151 | pub const K_ELECTRON_ANIMATION_FRAME_COORDINATES: [Point; 48] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `k_original_demo_file_sizes`, `k_original_demo_first_file_chunks`, `g_current_demo_level_name`, `recording_demo_message`, and `g_demo_recording_just_started` are never read [INFO] [stdout] --> src/game/demo.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct DemoManager { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 38 | k_original_demo_file_sizes: [u16; K_NUMBER_OF_DEMOS], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 39 | k_original_demo_first_file_chunks: [FirstOriginalDemoFileChunk; K_NUMBER_OF_DEMOS], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | g_current_demo_level_name: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | [INFO] [stdout] 47 | recording_demo_message: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 48 | pub g_demo_recording_just_started: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_level_number_from_original_demo_file` is never used [INFO] [stdout] --> src/game/demo.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 59 | impl DemoManager { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn get_level_number_from_original_demo_file(&self, file: File, file_length: u64) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/game/game_states.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct GameStates { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 10 | pub g_explosion_timers: Box<[u8; K_LEVEL_DATA_LENGTH]>, // 0x2434 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | pub g_is_gravity_enabled: u8, // byte_5101C -> 1 = turn on, anything else (0) = turn off [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | pub g_are_zonks_frozen: u8, // byte_51035 -> 2 = turn on, anything else (0) = turn off (1=off!) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | pub g_number_of_info_trons: u8, // 0xd26 -> byte_51036 -> this seems to be _inside_ of fileLevelData when a level is read [INFO] [stdout] 14 | pub g_number_of_special_ports: u8, // 0xd27 -> byte_51037 this seems to be _inside_ of fileLevelData when a level is read, and it's n... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | pub g_random_seed: u16, // word_51076 [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub g_level_failed: bool, // byte_510BA [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub g_toggle_game_panel_key_auto_repeat_counter: u8, // byte_510C2 -> 0DB2 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub g_murphy_previous_location: i32, // word_510C7 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub g_is_murphy_updated: bool, // word_510CF [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub g_previous_user_input_was_none: bool, // byte_510D3 -> used to detect when to release the red disk [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 38 | pub g_are_enemies_frozen: bool, // byte_510D7 -> 1 = turn on, anything else (0) = turn off [INFO] [stdout] 39 | pub g_scratch_gravity: bool, // byte_510D8 -> not sure what scratch gravity means exactly, but can be 0 (off) or 1 (on) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub g_demo_current_input_index: u16, // word_510DF [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 44 | pub g_demo_current_input: u8, // byte_510E1 -> 0xDD1 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 45 | pub g_demo_current_input_repeat_counter: u8, // -> 0xDD2 -> byte_510E2 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | pub g_demo_index_or_demo_level_number: u16, // word_510E6 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub g_murphy_counter_to_start_push_animation: u16, // word_510EE -> also used in the "release red disk" animation [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 50 | pub g_current_murphy_animation: MurphyAnimationDescriptor, // -> starts at 0x0DE0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `level_number` and `first_user_inputs` are never read [INFO] [stdout] --> src/game/demo.rs:257:9 [INFO] [stdout] | [INFO] [stdout] 256 | struct FirstOriginalDemoFileChunk { [INFO] [stdout] | -------------------------- fields in this struct [INFO] [stdout] 257 | pub level_number: u8, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 258 | pub first_user_inputs: [u8; 3], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FirstOriginalDemoFileChunk` has derived impls for the traits `Default` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_MAX_BASE_DEMO_SIZE` is never used [INFO] [stdout] --> src/game/demo.rs:262:7 [INFO] [stdout] | [INFO] [stdout] 262 | const K_MAX_BASE_DEMO_SIZE: usize = 1 + K_MAX_DEMO_INPUT_STEPS + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BaseDemo` is never constructed [INFO] [stdout] --> src/game/demo.rs:266:8 [INFO] [stdout] | [INFO] [stdout] 266 | struct BaseDemo { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_MAX_DEMO_SIGNATURE_LENGTH` is never used [INFO] [stdout] --> src/game/demo.rs:277:7 [INFO] [stdout] | [INFO] [stdout] 277 | const K_MAX_DEMO_SIGNATURE_LENGTH: usize = 511; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_MAX_DEMO_SIGNATURE_SIZE` is never used [INFO] [stdout] --> src/game/demo.rs:278:7 [INFO] [stdout] | [INFO] [stdout] 278 | const K_MAX_DEMO_SIGNATURE_SIZE: usize = K_MAX_DEMO_SIGNATURE_LENGTH + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DemoFile` is never constructed [INFO] [stdout] --> src/game/demo.rs:283:8 [INFO] [stdout] | [INFO] [stdout] 283 | struct DemoFile { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/game/gamecontroller.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 4 | impl GameController { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 5 | pub fn get_game_controller_y(&mut self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 8 | pub fn get_game_controller_x(&mut self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | pub fn get_game_controller_a(&mut self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | pub fn get_game_controller_b(&mut self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn get_game_controller_button_a(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn get_game_controller_button_b(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn get_game_controller_button_y(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn get_game_controller_button_x(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn get_game_controller_confirm_button(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn get_game_controller_cancel_button(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn get_game_controller_button_right_shoulder(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn get_game_controller_button_left_shoulder(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_LIST_LEVEL_NAME_LENGTH` is never used [INFO] [stdout] --> src/game/globals.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub const K_LIST_LEVEL_NAME_LENGTH: usize = 28; // In the list of levels, every level is 28 bytes long and looks like "001 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_LEVEL_LIST_DATA_LENGTH` is never used [INFO] [stdout] --> src/game/globals.rs:39:11 [INFO] [stdout] | [INFO] [stdout] 39 | pub const K_LEVEL_LIST_DATA_LENGTH: usize = K_NUMBER_OF_LEVELS * K_LIST_LEVEL_NAME_LENGTH; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/game/game_states.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct GameStates { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 10 | pub g_explosion_timers: Box<[u8; K_LEVEL_DATA_LENGTH]>, // 0x2434 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | pub g_is_gravity_enabled: u8, // byte_5101C -> 1 = turn on, anything else (0) = turn off [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | pub g_are_zonks_frozen: u8, // byte_51035 -> 2 = turn on, anything else (0) = turn off (1=off!) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | pub g_number_of_info_trons: u8, // 0xd26 -> byte_51036 -> this seems to be _inside_ of fileLevelData when a level is read [INFO] [stdout] 14 | pub g_number_of_special_ports: u8, // 0xd27 -> byte_51037 this seems to be _inside_ of fileLevelData when a level is read, and it's n... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | pub g_random_seed: u16, // word_51076 [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub g_level_failed: bool, // byte_510BA [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub g_toggle_game_panel_key_auto_repeat_counter: u8, // byte_510C2 -> 0DB2 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub g_murphy_previous_location: i32, // word_510C7 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub g_is_murphy_updated: bool, // word_510CF [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub g_previous_user_input_was_none: bool, // byte_510D3 -> used to detect when to release the red disk [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 38 | pub g_are_enemies_frozen: bool, // byte_510D7 -> 1 = turn on, anything else (0) = turn off [INFO] [stdout] 39 | pub g_scratch_gravity: bool, // byte_510D8 -> not sure what scratch gravity means exactly, but can be 0 (off) or 1 (on) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub g_demo_current_input_index: u16, // word_510DF [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 44 | pub g_demo_current_input: u8, // byte_510E1 -> 0xDD1 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 45 | pub g_demo_current_input_repeat_counter: u8, // -> 0xDD2 -> byte_510E2 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | pub g_demo_index_or_demo_level_number: u16, // word_510E6 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub g_murphy_counter_to_start_push_animation: u16, // word_510EE -> also used in the "release red disk" animation [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 50 | pub g_current_murphy_animation: MurphyAnimationDescriptor, // -> starts at 0x0DE0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/game/gamecontroller.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 4 | impl GameController { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 5 | pub fn get_game_controller_y(&mut self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 8 | pub fn get_game_controller_x(&mut self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | pub fn get_game_controller_a(&mut self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | pub fn get_game_controller_b(&mut self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn get_game_controller_button_a(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn get_game_controller_button_b(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn get_game_controller_button_y(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn get_game_controller_button_x(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn get_game_controller_confirm_button(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn get_game_controller_cancel_button(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn get_game_controller_button_right_shoulder(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn get_game_controller_button_left_shoulder(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/game/globals.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 75 | pub enum LevelTileType { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 78 | Zonk = 1, [INFO] [stdout] | ^^^^ [INFO] [stdout] 79 | Base = 2, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | Exit = 7, [INFO] [stdout] | ^^^^ [INFO] [stdout] 85 | OrangeDisk = 8, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 86 | PortRight = 9, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 87 | PortDown = 10, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 88 | PortLeft = 11, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 89 | PortUp = 12, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 90 | SportRight = 13, [INFO] [stdout] 91 | SportDown = 14, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 92 | SportLeft = 15, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | YellowDisk = 18, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 96 | Terminal = 19, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 97 | RedDisk = 20, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 98 | PortVertical = 21, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 99 | PortHorizontal = 22, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 100 | Port4Way = 23, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 101 | Electron = 24, [INFO] [stdout] 102 | Bug = 25, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | Hardware3 = 29, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 107 | Hardware4 = 30, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 108 | Explosion = 31, [INFO] [stdout] 109 | Hardware6 = 32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 110 | Hardware7 = 33, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 111 | Hardware8 = 34, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 112 | Hardware9 = 35, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 113 | Hardware10 = 36, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LevelTileType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_LIST_LEVEL_NAME_LENGTH` is never used [INFO] [stdout] --> src/game/globals.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub const K_LIST_LEVEL_NAME_LENGTH: usize = 28; // In the list of levels, every level is 28 bytes long and looks like "001 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_LEVEL_LIST_DATA_LENGTH` is never used [INFO] [stdout] --> src/game/globals.rs:39:11 [INFO] [stdout] | [INFO] [stdout] 39 | pub const K_LEVEL_LIST_DATA_LENGTH: usize = K_NUMBER_OF_LEVELS * K_LIST_LEVEL_NAME_LENGTH; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `position`, `gravity`, `freeze_zonks`, `freeze_enemies`, and `unused` are never read [INFO] [stdout] --> src/game/globals.rs:282:9 [INFO] [stdout] | [INFO] [stdout] 276 | pub struct SpecialPortInfo { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 282 | pub position: u16, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 283 | [INFO] [stdout] 284 | pub gravity: u8, // 1 = turn on, anything else (0) = turn off [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 285 | pub freeze_zonks: u8, // 2 = turn on, anything else (0) = turn off (1=off!) [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 286 | pub freeze_enemies: u8, // 1 = turn on, anything else (0) = turn off [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 287 | pub unused: u8, // Doesn't matter: is ignored. [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SpecialPortInfo` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Normal` is never constructed [INFO] [stdout] --> src/game/globals.rs:312:5 [INFO] [stdout] | [INFO] [stdout] 310 | pub enum FastModeType { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] 311 | None, [INFO] [stdout] 312 | Normal, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `draw_text_with_chars8_font` is never used [INFO] [stdout] --> src/game/graphics.rs:819:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl Graphics<'_> { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 819 | pub fn draw_text_with_chars8_font( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Menu` is never constructed [INFO] [stdout] --> src/game/graphics.rs:1232:5 [INFO] [stdout] | [INFO] [stdout] 1230 | pub enum BitmapType { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] 1231 | Background, [INFO] [stdout] 1232 | Menu, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BitmapType` has a derived impl for the trait `Clone`, 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/globals.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 75 | pub enum LevelTileType { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 78 | Zonk = 1, [INFO] [stdout] | ^^^^ [INFO] [stdout] 79 | Base = 2, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | Exit = 7, [INFO] [stdout] | ^^^^ [INFO] [stdout] 85 | OrangeDisk = 8, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 86 | PortRight = 9, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 87 | PortDown = 10, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 88 | PortLeft = 11, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 89 | PortUp = 12, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 90 | SportRight = 13, [INFO] [stdout] 91 | SportDown = 14, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 92 | SportLeft = 15, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | YellowDisk = 18, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 96 | Terminal = 19, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 97 | RedDisk = 20, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 98 | PortVertical = 21, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 99 | PortHorizontal = 22, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 100 | Port4Way = 23, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 101 | Electron = 24, [INFO] [stdout] 102 | Bug = 25, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | Hardware3 = 29, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 107 | Hardware4 = 30, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 108 | Explosion = 31, [INFO] [stdout] 109 | Hardware6 = 32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 110 | Hardware7 = 33, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 111 | Hardware8 = 34, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 112 | Hardware9 = 35, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 113 | Hardware10 = 36, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LevelTileType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `G_SCREEN_PIXEL` is never constructed [INFO] [stdout] --> src/game/graphics.rs:1321:5 [INFO] [stdout] | [INFO] [stdout] 1320 | pub enum DrawTextBuffer { [INFO] [stdout] | -------------- variant in this enum [INFO] [stdout] 1321 | G_SCREEN_PIXEL, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GameDimmedPalette` is never constructed [INFO] [stdout] --> src/game/graphics.rs:1332:5 [INFO] [stdout] | [INFO] [stdout] 1325 | pub enum PaletteType { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 1332 | GameDimmedPalette, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `position`, `gravity`, `freeze_zonks`, `freeze_enemies`, and `unused` are never read [INFO] [stdout] --> src/game/globals.rs:282:9 [INFO] [stdout] | [INFO] [stdout] 276 | pub struct SpecialPortInfo { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 282 | pub position: u16, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 283 | [INFO] [stdout] 284 | pub gravity: u8, // 1 = turn on, anything else (0) = turn off [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 285 | pub freeze_zonks: u8, // 2 = turn on, anything else (0) = turn off (1=off!) [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 286 | pub freeze_enemies: u8, // 1 = turn on, anything else (0) = turn off [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 287 | pub unused: u8, // Doesn't matter: is ignored. [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SpecialPortInfo` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Normal` is never constructed [INFO] [stdout] --> src/game/globals.rs:312:5 [INFO] [stdout] | [INFO] [stdout] 310 | pub enum FastModeType { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] 311 | None, [INFO] [stdout] 312 | Normal, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `draw_text_with_chars8_font` is never used [INFO] [stdout] --> src/game/graphics.rs:819:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl Graphics<'_> { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 819 | pub fn draw_text_with_chars8_font( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/game/input.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 11 | impl Input { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 19 | fn is_up_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn is_down_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn is_left_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn is_right_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn is_action_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn is_menu_confirm_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn is_menu_cancel_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn is_exit_level_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn is_pause_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn is_toggle_game_panel_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn is_show_number_of_red_disks_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn is_increase_game_speed_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn is_decrease_game_speed_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn is_rotate_level_set_ascending_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn is_rotate_level_set_descending_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Menu` is never constructed [INFO] [stdout] --> src/game/graphics.rs:1232:5 [INFO] [stdout] | [INFO] [stdout] 1230 | pub enum BitmapType { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] 1231 | Background, [INFO] [stdout] 1232 | Menu, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BitmapType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `G_SCREEN_PIXEL` is never constructed [INFO] [stdout] --> src/game/graphics.rs:1321:5 [INFO] [stdout] | [INFO] [stdout] 1320 | pub enum DrawTextBuffer { [INFO] [stdout] | -------------- variant in this enum [INFO] [stdout] 1321 | G_SCREEN_PIXEL, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_any_f1_to_f10_keys_pressed` is never used [INFO] [stdout] --> src/game/keyboard.rs:263:12 [INFO] [stdout] | [INFO] [stdout] 73 | impl Keys { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 263 | pub fn is_any_f1_to_f10_keys_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GameDimmedPalette` is never constructed [INFO] [stdout] --> src/game/graphics.rs:1332:5 [INFO] [stdout] | [INFO] [stdout] 1325 | pub enum PaletteType { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 1332 | GameDimmedPalette, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_AUDIO_BUFFER_SIZE` is never used [INFO] [stdout] --> src/game/sounds.rs:44:7 [INFO] [stdout] | [INFO] [stdout] 44 | const K_AUDIO_BUFFER_SIZE: u32 = 512; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_SAMPLE_RATE` is never used [INFO] [stdout] --> src/game/sounds.rs:46:7 [INFO] [stdout] | [INFO] [stdout] 46 | const K_SAMPLE_RATE: u32 = 44100; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_NUMBER_OF_CHANNELS` is never used [INFO] [stdout] --> src/game/sounds.rs:47:7 [INFO] [stdout] | [INFO] [stdout] 47 | const K_NUMBER_OF_CHANNELS: u32 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/game/input.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 11 | impl Input { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 19 | fn is_up_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn is_down_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn is_left_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn is_right_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn is_action_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn is_menu_confirm_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn is_menu_cancel_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn is_exit_level_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn is_pause_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn is_toggle_game_panel_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn is_show_number_of_red_disks_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn is_increase_game_speed_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn is_decrease_game_speed_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn is_rotate_level_set_ascending_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn is_rotate_level_set_descending_button_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/game/sounds.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 59 | pub enum SoundEffect { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 60 | Explosion, [INFO] [stdout] 61 | Infotron, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 62 | Push, [INFO] [stdout] | ^^^^ [INFO] [stdout] 63 | Fall, [INFO] [stdout] | ^^^^ [INFO] [stdout] 64 | Bug, [INFO] [stdout] | ^^^ [INFO] [stdout] 65 | Base, [INFO] [stdout] | ^^^^ [INFO] [stdout] 66 | Exit, [INFO] [stdout] | ^^^^ [INFO] [stdout] 67 | Count, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `sdl_context`, `g_current_sound_channel`, and `g_music` are never read [INFO] [stdout] --> src/game/sounds.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 70 | pub struct Sounds<'a> { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 71 | sdl_context: Rc>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | g_current_sound_channel: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 79 | g_is_audio_initialized: bool, [INFO] [stdout] 80 | g_music: Option>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_any_f1_to_f10_keys_pressed` is never used [INFO] [stdout] --> src/game/keyboard.rs:263:12 [INFO] [stdout] | [INFO] [stdout] 73 | impl Keys { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 263 | pub fn is_any_f1_to_f10_keys_pressed(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_AUDIO_BUFFER_SIZE` is never used [INFO] [stdout] --> src/game/sounds.rs:44:7 [INFO] [stdout] | [INFO] [stdout] 44 | const K_AUDIO_BUFFER_SIZE: u32 = 512; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_SAMPLE_RATE` is never used [INFO] [stdout] --> src/game/sounds.rs:46:7 [INFO] [stdout] | [INFO] [stdout] 46 | const K_SAMPLE_RATE: u32 = 44100; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/game/sounds.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 104 | impl Sounds<'_> { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 105 | pub fn sound_shutdown(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | pub fn play_infotron_sound(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 199 | pub fn play_push_sound(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 214 | pub fn play_fall_sound(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | pub fn play_bug_sound(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 244 | pub fn play_base_sound(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 259 | pub fn play_exit_sound(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `K_NUMBER_OF_CHANNELS` is never used [INFO] [stdout] --> src/game/sounds.rs:47:7 [INFO] [stdout] | [INFO] [stdout] 47 | const K_NUMBER_OF_CHANNELS: u32 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `swap16` is never used [INFO] [stdout] --> src/game/utils.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn swap16(value: u16) -> u16 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ScalingModeAspectFill`, `ScalingModeIntegerFactor`, `ScalingModeFullscreen`, `ScalingModeAspectCorrect`, and `ScalingModeCount` are never constructed [INFO] [stdout] --> src/game/video.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 28 | enum ScalingMode { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 29 | ScalingModeAspectFit, [INFO] [stdout] 30 | ScalingModeAspectFill, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 31 | ScalingModeIntegerFactor, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 32 | ScalingModeFullscreen, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 33 | ScalingModeAspectCorrect, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 34 | ScalingModeCount, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ScalingMode` has a derived impl for the trait `Clone`, 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/sounds.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 59 | pub enum SoundEffect { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 60 | Explosion, [INFO] [stdout] 61 | Infotron, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 62 | Push, [INFO] [stdout] | ^^^^ [INFO] [stdout] 63 | Fall, [INFO] [stdout] | ^^^^ [INFO] [stdout] 64 | Bug, [INFO] [stdout] | ^^^ [INFO] [stdout] 65 | Base, [INFO] [stdout] | ^^^^ [INFO] [stdout] 66 | Exit, [INFO] [stdout] | ^^^^ [INFO] [stdout] 67 | Count, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEXTURE_ASPECT_RATIO` is never used [INFO] [stdout] --> src/game/video.rs:37:11 [INFO] [stdout] | [INFO] [stdout] 37 | pub const TEXTURE_ASPECT_RATIO: f64 = K_SCREEN_WIDTH as f64 / K_SCREEN_HEIGHT as f64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `sdl_context`, `g_current_sound_channel`, and `g_music` are never read [INFO] [stdout] --> src/game/sounds.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 70 | pub struct Sounds<'a> { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 71 | sdl_context: Rc>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | g_current_sound_channel: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 79 | g_is_audio_initialized: bool, [INFO] [stdout] 80 | g_music: Option>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `g_scaling_mode` is never read [INFO] [stdout] --> src/game/video.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct Video<'a> { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 40 | g_renderer: sdl2::render::Canvas, [INFO] [stdout] 41 | g_scaling_mode: ScalingMode, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `update_window_viewport`, `get_scaling_mode`, `set_scaling_mode`, `toggle_fullscreen`, `set_fullscreen_mode`, and `get_fullscreen_mode` are never used [INFO] [stdout] --> src/game/video.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 46 | impl Video<'_> { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn update_window_viewport(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub fn get_scaling_mode(&self) -> ScalingMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn set_scaling_mode(&mut self, mode: ScalingMode) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn toggle_fullscreen(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | fn set_fullscreen_mode(&mut self, fullscreen: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 201 | fn get_fullscreen_mode(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/game/sounds.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 104 | impl Sounds<'_> { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 105 | pub fn sound_shutdown(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | pub fn play_infotron_sound(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 199 | pub fn play_push_sound(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 214 | pub fn play_fall_sound(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | pub fn play_bug_sound(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 244 | pub fn play_base_sound(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 259 | pub fn play_exit_sound(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `swap16` is never used [INFO] [stdout] --> src/game/utils.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn swap16(value: u16) -> u16 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused comparison that must be used [INFO] [stdout] --> src/game/mod.rs:106:13 [INFO] [stdout] | [INFO] [stdout] 106 | current_suffix == "IN"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 106 | let _ = current_suffix == "IN"; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused comparison that must be used [INFO] [stdout] --> src/game/mod.rs:112:13 [INFO] [stdout] | [INFO] [stdout] 112 | current_suffix == "AV"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 112 | let _ = current_suffix == "AV"; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ScalingModeAspectFill`, `ScalingModeIntegerFactor`, `ScalingModeFullscreen`, `ScalingModeAspectCorrect`, and `ScalingModeCount` are never constructed [INFO] [stdout] --> src/game/video.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 28 | enum ScalingMode { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 29 | ScalingModeAspectFit, [INFO] [stdout] 30 | ScalingModeAspectFill, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 31 | ScalingModeIntegerFactor, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 32 | ScalingModeFullscreen, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 33 | ScalingModeAspectCorrect, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 34 | ScalingModeCount, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ScalingMode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `byte_5A19B` should have a snake case name [INFO] [stdout] --> src/game/mod.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 142 | byte_5A19B: bool, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `byte_5_a19_b` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEXTURE_ASPECT_RATIO` is never used [INFO] [stdout] --> src/game/video.rs:37:11 [INFO] [stdout] | [INFO] [stdout] 37 | pub const TEXTURE_ASPECT_RATIO: f64 = K_SCREEN_WIDTH as f64 / K_SCREEN_HEIGHT as f64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `byte_58D47` should have a snake case name [INFO] [stdout] --> src/game/mod.rs:149:5 [INFO] [stdout] | [INFO] [stdout] 149 | byte_58D47: u8, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `byte_58_d47` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `g_scaling_mode` is never read [INFO] [stdout] --> src/game/video.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct Video<'a> { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 40 | g_renderer: sdl2::render::Canvas, [INFO] [stdout] 41 | g_scaling_mode: ScalingMode, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `byte_59B83` should have a snake case name [INFO] [stdout] --> src/game/mod.rs:151:5 [INFO] [stdout] | [INFO] [stdout] 151 | byte_59B83: bool, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `byte_59_b83` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `sub_4C407` should have a snake case name [INFO] [stdout] --> src/game/mod.rs:1506:8 [INFO] [stdout] | [INFO] [stdout] 1506 | fn sub_4C407(&mut self) { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `sub_4_c407` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `update_window_viewport`, `get_scaling_mode`, `set_scaling_mode`, `toggle_fullscreen`, `set_fullscreen_mode`, and `get_fullscreen_mode` are never used [INFO] [stdout] --> src/game/video.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 46 | impl Video<'_> { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn update_window_viewport(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub fn get_scaling_mode(&self) -> ScalingMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn set_scaling_mode(&mut self, mode: ScalingMode) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn toggle_fullscreen(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | fn set_fullscreen_mode(&mut self, fullscreen: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 201 | fn get_fullscreen_mode(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused comparison that must be used [INFO] [stdout] --> src/game/mod.rs:106:13 [INFO] [stdout] | [INFO] [stdout] 106 | current_suffix == "IN"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 106 | let _ = current_suffix == "IN"; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused comparison that must be used [INFO] [stdout] --> src/game/mod.rs:112:13 [INFO] [stdout] | [INFO] [stdout] 112 | current_suffix == "AV"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ the comparison produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 112 | let _ = current_suffix == "AV"; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `byte_5A19B` should have a snake case name [INFO] [stdout] --> src/game/mod.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 142 | byte_5A19B: bool, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `byte_5_a19_b` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `byte_58D47` should have a snake case name [INFO] [stdout] --> src/game/mod.rs:149:5 [INFO] [stdout] | [INFO] [stdout] 149 | byte_58D47: u8, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `byte_58_d47` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `byte_59B83` should have a snake case name [INFO] [stdout] --> src/game/mod.rs:151:5 [INFO] [stdout] | [INFO] [stdout] 151 | byte_59B83: bool, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `byte_59_b83` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `sub_4C407` should have a snake case name [INFO] [stdout] --> src/game/mod.rs:1506:8 [INFO] [stdout] | [INFO] [stdout] 1506 | fn sub_4C407(&mut self) { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `sub_4_c407` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `word_5A33C` should have a snake case name [INFO] [stdout] --> src/game/demo.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | pub word_5A33C: u16, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `word_5_a33_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `word_5A33C` should have a snake case name [INFO] [stdout] --> src/game/demo.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | pub word_5A33C: u16, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `word_5_a33_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 88 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 88 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.02s [INFO] running `Command { std: "docker" "inspect" "21411a99bb825201765e494db185ef4df4ba785d09bcc26d9c518a8a4b4713e2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "21411a99bb825201765e494db185ef4df4ba785d09bcc26d9c518a8a4b4713e2", kill_on_drop: false }` [INFO] [stdout] 21411a99bb825201765e494db185ef4df4ba785d09bcc26d9c518a8a4b4713e2