From f820bb066835736ccd1d2b97e417dedc63d1e934 Mon Sep 17 00:00:00 2001 From: David Martinez Marti Date: Sun, 2 Jun 2024 20:37:47 +0100 Subject: [PATCH 01/34] Bump to 0.2.3-alpha --- CHANGELOG.md | 10 ++++++++++ Cargo.lock | 2 +- Cargo.toml | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 593dc21..a402c1b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ +### Version 0.2.3 - 2024-06-?? + +**Features:** + +* **TBD**: + * TBD + +**Fixes:** + * TBD + ### Version 0.2.2 - 2024-06-02 **Features:** diff --git a/Cargo.lock b/Cargo.lock index 9d84844..def6a93 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4138,7 +4138,7 @@ checksum = "059d83cc991e7a42fc37bd50941885db0888e34209f8cfd9aab07ddec03bc9cf" [[package]] name = "unhaunter" -version = "0.2.2" +version = "0.2.3-alpha" dependencies = [ "anyhow", "bevy", diff --git a/Cargo.toml b/Cargo.toml index 09e480a..7e53cd8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ workspace = { members = ["tools/ghost_radio"] } [package] name = "unhaunter" -version = "0.2.2" +version = "0.2.3-alpha" edition = "2021" default-run = "unhaunter_game" description = "2D isometric Game about investigating paranormal hauntings" From 22600b523975bab9aa590207e07200d66bc0fca2 Mon Sep 17 00:00:00 2001 From: David Martinez Marti Date: Sun, 2 Jun 2024 23:19:18 +0100 Subject: [PATCH 02/34] bring back local WASM build instructions --- README.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/README.md b/README.md index cd0e5a0..eed1f3a 100644 --- a/README.md +++ b/README.md @@ -193,6 +193,32 @@ You can profile the build process to identify further optimizations using: **Note:** This requires a nightly Rust toolchain. +## Building WASM locally: + +https://bevy-cheatbook.github.io/platforms/wasm.html + +Install deps + +```bash + rustup target install wasm32-unknown-unknown + cargo install wasm-server-runner +``` + +Run with: + +```bash + cargo run --target wasm32-unknown-unknown --release + wasm-pack build --release --target web +``` + +This will build in pkg/ + +And to test: + + ```bash + python3 -m http.server +``` + ## Community Unhaunter has a Matrix room for discussion and collaboration. Access is by invitation only. To join, please contact deavid (@deavidsedice:matrix.org) on Matrix. From 500e35ba65d5ed105f33e76a0e51a856f6e2906a Mon Sep 17 00:00:00 2001 From: David Martinez Marti Date: Sun, 2 Jun 2024 23:28:20 +0100 Subject: [PATCH 03/34] Cargo update Reverted back zstd-sys to v2.0.10+zstd.1.5.6 - to preserve WASM builds $ cargo update Updating crates.io index Updating async-lock v3.3.0 -> v3.4.0 Updating bytemuck_derive v1.6.1 -> v1.7.0 Updating clang-sys v1.7.0 -> v1.8.1 Removing event-listener v4.0.3 Removing event-listener v5.3.0 Adding event-listener v5.3.1 Removing event-listener-strategy v0.4.0 Updating piper v0.2.2 -> v0.2.3 Updating polling v3.7.0 -> v3.7.1 Updating proc-macro2 v1.0.84 -> v1.0.85 Updating winnow v0.6.8 -> v0.6.9 Updating zstd-sys v2.0.9+zstd.1.5.5 -> v2.0.10+zstd.1.5.6 --- Cargo.lock | 63 ++++++++++++++++++------------------------------------ 1 file changed, 21 insertions(+), 42 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index def6a93..1494609 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -317,7 +317,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" dependencies = [ "concurrent-queue", - "event-listener-strategy 0.5.2", + "event-listener-strategy", "futures-core", "pin-project-lite", ] @@ -348,12 +348,12 @@ dependencies = [ [[package]] name = "async-lock" -version = "3.3.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" +checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" dependencies = [ - "event-listener 4.0.3", - "event-listener-strategy 0.4.0", + "event-listener 5.3.1", + "event-listener-strategy", "pin-project-lite", ] @@ -1354,9 +1354,9 @@ dependencies = [ [[package]] name = "bytemuck_derive" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "369cfaf2a5bed5d8f8202073b2e093c9f508251de1551a0deb4253e4c7d80909" +checksum = "1ee891b04274a59bd38b412188e24b849617b2e45a0fd8d057deb63e7403761b" dependencies = [ "proc-macro2", "quote", @@ -1445,9 +1445,9 @@ checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" [[package]] name = "clang-sys" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1" +checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" dependencies = [ "glob", "libc", @@ -1905,43 +1905,22 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "event-listener" -version = "4.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "event-listener" -version = "5.3.0" +version = "5.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d9944b8ca13534cdfb2800775f8dd4902ff3fc75a50101466decadfdf322a24" +checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" dependencies = [ "concurrent-queue", "parking", "pin-project-lite", ] -[[package]] -name = "event-listener-strategy" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" -dependencies = [ - "event-listener 4.0.3", - "pin-project-lite", -] - [[package]] name = "event-listener-strategy" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" dependencies = [ - "event-listener 5.3.0", + "event-listener 5.3.1", "pin-project-lite", ] @@ -3245,9 +3224,9 @@ checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" [[package]] name = "piper" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "464db0c665917b13ebb5d453ccdec4add5658ee1adc7affc7677615356a8afaf" +checksum = "ae1d5c74c9876f070d3e8fd503d748c7d974c3e48da8f41350fa5222ef9b4391" dependencies = [ "atomic-waker", "fastrand", @@ -3275,9 +3254,9 @@ dependencies = [ [[package]] name = "polling" -version = "3.7.0" +version = "3.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645493cf344456ef24219d02a768cf1fb92ddf8c92161679ae3d91b91a637be3" +checksum = "5e6a007746f34ed64099e88783b0ae369eaa3da6392868ba262e2af9b8fbaea1" dependencies = [ "cfg-if", "concurrent-queue", @@ -3320,9 +3299,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.84" +version = "1.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec96c6a92621310b51366f1e28d05ef11489516e93be030060e5fc12024a49d6" +checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" dependencies = [ "unicode-ident", ] @@ -4028,7 +4007,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.8", + "winnow 0.6.9", ] [[package]] @@ -4838,9 +4817,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c52e9c97a68071b23e836c9380edae937f17b9c4667bd021973efc689f618d" +checksum = "86c949fede1d13936a99f14fafd3e76fd642b556dd2ce96287fbe2e0151bfac6" dependencies = [ "memchr", ] From 36d55e7685d3231d0f79c2a3e7bb94113038ab71 Mon Sep 17 00:00:00 2001 From: David Martinez Marti Date: Mon, 3 Jun 2024 08:44:38 +0100 Subject: [PATCH 04/34] Make the EVP recorder to store count --- src/gear/recorder.rs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/gear/recorder.rs b/src/gear/recorder.rs index 6b355bb..b537c9a 100644 --- a/src/gear/recorder.rs +++ b/src/gear/recorder.rs @@ -17,6 +17,7 @@ pub struct Recorder { pub amt_recorded: f32, pub evp_recorded_time_secs: f32, pub evp_recorded_display: bool, + pub evp_recorded_count: usize, } impl GearUsable for Recorder { @@ -54,7 +55,10 @@ impl GearUsable for Recorder { if self.evp_recorded_display { "- EVP RECORDED -".to_string() } else { - format!("Volume: {:>4.0}dB", self.sound) + format!( + "Volume: {:>4.0}dB ({})", + self.sound, self.evp_recorded_count + ) } } else { "".to_string() @@ -88,11 +92,17 @@ impl GearUsable for Recorder { } // Double noise reduction to remove any noise from measurement. let n = self.frame_counter as usize % self.sound_l.len(); - self.sound_l[n] = sound_reading; + if self.enabled { + self.sound_l[n] = sound_reading; + } else { + self.sound_l[n] = 0.0; + self.evp_recorded_count = 0; + } if self.sound > 1.0 && self.enabled && gs.bf.evidences.contains(&Evidence::EVPRecording) { self.amt_recorded += self.sound * gs.time.delta_seconds(); if self.amt_recorded > 200.0 { self.evp_recorded_time_secs = gs.time.elapsed_seconds(); + self.evp_recorded_count += 1; self.amt_recorded = 0.0; } } From 65fc2dbc8e089efc70444795b2363687e98e5618 Mon Sep 17 00:00:00 2001 From: David Martinez Marti Date: Mon, 3 Jun 2024 10:56:17 +0100 Subject: [PATCH 05/34] Flashlight exposure correction is now distance dependant --- src/maplight.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/maplight.rs b/src/maplight.rs index 02faf32..e686a1e 100644 --- a/src/maplight.rs +++ b/src/maplight.rs @@ -370,7 +370,10 @@ pub fn apply_lighting( cursor_exp = (cursor_exp / CENTER_EXP).powf(CENTER_EXP_GAMMA.recip()) * CENTER_EXP + 0.00001; // account for the eye seeing the flashlight on. // TODO: Account this from the player's perspective as the payer torch might be off but someother player might have it on. - let fl_total_power: f32 = flashlights.iter().map(|x| x.2).sum(); + let fl_total_power: f32 = flashlights + .iter() + .map(|x| x.2 / (player_pos.distance2(x.0) + 1.0)) + .sum(); cursor_exp += fl_total_power.sqrt() / 4.0; assert!(cursor_exp.is_normal()); From ccf56d00a168287377cab9ce1fc50afb1cef98ef Mon Sep 17 00:00:00 2001 From: David Martinez Marti Date: Mon, 3 Jun 2024 19:56:20 +0100 Subject: [PATCH 06/34] Add ASCII arrows for main menu map selection --- src/mainmenu.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mainmenu.rs b/src/mainmenu.rs index 0f45b43..02bde97 100644 --- a/src/mainmenu.rs +++ b/src/mainmenu.rs @@ -346,7 +346,7 @@ pub fn item_logic( .get(map_idx) .map(|x| x.name.clone()) .unwrap_or("None".to_string()); - let new_map_name = format!("Map: {}", map_name); + let new_map_name = format!("« Map: {} »", map_name); if section.value != new_map_name { section.value = new_map_name; } From ff6e8960aab6cc75d9ff5f9223a2983f15ff0a12 Mon Sep 17 00:00:00 2001 From: David Martinez Marti Date: Mon, 3 Jun 2024 20:53:37 +0100 Subject: [PATCH 07/34] Fix windows bug that prevented map tileset images from loading --- Cargo.lock | 7 +++++++ Cargo.toml | 1 + src/tiledmap.rs | 25 ++++++++++++++----------- 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1494609..106dc9b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2935,6 +2935,12 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8" +[[package]] +name = "normalize-path" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5438dd2b2ff4c6df6e1ce22d825ed2fa93ee2922235cc45186991717f0a892d" + [[package]] name = "ntapi" version = "0.4.1" @@ -4130,6 +4136,7 @@ dependencies = [ "glob", "hierarchical_pathfinding", "image 0.25.1", + "normalize-path", "ordered-float", "rand", "regex", diff --git a/Cargo.toml b/Cargo.toml index 7e53cd8..de2fc47 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -29,6 +29,7 @@ glob = "0.3" thiserror = "1.0" tiled = { version = "0.11", features = ["wasm"] } wasm-bindgen = "0.2" +normalize-path = "0.2" [target.'cfg(not(target_arch = "wasm32"))'.dependencies] bevy_framepace = "0.15" diff --git a/src/tiledmap.rs b/src/tiledmap.rs index d28f4d1..3af7ff7 100644 --- a/src/tiledmap.rs +++ b/src/tiledmap.rs @@ -3,6 +3,7 @@ //! Most of the classes here are almost a redefinition (for now) of the tiled library. //! Currently serve as an example on how to load/store data. +use std::path::{Path, PathBuf}; use std::{fmt::Debug, slice::Iter}; /// A simple 2D position with X and Y components that it is generic. @@ -287,6 +288,16 @@ mod arch { } } +/// Helps trimming the extra assets/ folder for Bevy +pub fn resolve_tiled_image_path(img_path: &Path) -> PathBuf { + use normalize_path::NormalizePath; + img_path + .strip_prefix("assets/") + .unwrap_or(img_path) + .normalize() + .to_owned() +} + pub fn bevy_load_map( path: impl AsRef, asset_server: &AssetServer, @@ -294,7 +305,7 @@ pub fn bevy_load_map( tilesetdb: &mut ResMut, ) -> (tiled::Map, Vec<(usize, MapLayer)>) { // Parse Tiled file: - + let path = path.as_ref(); let map = arch::map_loader(path); // Preload all tilesets referenced: @@ -302,11 +313,7 @@ pub fn bevy_load_map( // If an image is included, this is a tilemap. If no image is included this is a sprite collection. // Sprite collections are not supported right now. let data = if let Some(image) = &tileset.image { - let img_src = image - .source - .to_str() - .unwrap() - .replace("assets/maps/../", ""); + let img_src = resolve_tiled_image_path(&image.source); // FIXME: When the images are loaded onto the GPU it seems that we need at least 1 pixel of empty space // .. so that the GPU can sample surrounding pixels properly. // .. This contrasts with how Tiled works, as it assumes a perfect packing if possible. @@ -339,11 +346,7 @@ pub fn bevy_load_map( for (_tileid, tile) in tileset.tiles() { // tile.collision if let Some(image) = &tile.image { - let img_src = image - .source - .to_str() - .unwrap() - .replace("assets/maps/../", ""); + let img_src = resolve_tiled_image_path(&image.source); dbg!(&img_src); let img_handle: Handle = asset_server.load(img_src); let cmat = CustomMaterial1::from_texture(img_handle.clone()); From f1d9ff5c67d3c74cce8bc64d2226de2be19d75d5 Mon Sep 17 00:00:00 2001 From: David Martinez Marti Date: Wed, 5 Jun 2024 20:48:12 +0100 Subject: [PATCH 08/34] New quartz stone --- assets/img/gear_spritesheetA_48x48.aseprite | Bin 19195 -> 20529 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/img/gear_spritesheetA_48x48.aseprite b/assets/img/gear_spritesheetA_48x48.aseprite index e424da588959337c9e1df2d6957a10a258f215f1..a98db53dff80729db2264edb8c08096d85326dc9 100644 GIT binary patch delta 9778 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 G-2VZlk$F`B From 834effaa126861531be39737ab0d35d9cb02da97 Mon Sep 17 00:00:00 2001 From: David Martinez Marti Date: Wed, 5 Jun 2024 22:00:14 +0100 Subject: [PATCH 09/34] Add the other states for quartz stone --- assets/img/gear_spritesheetA_48x48.aseprite | Bin 20529 -> 22397 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/img/gear_spritesheetA_48x48.aseprite b/assets/img/gear_spritesheetA_48x48.aseprite index a98db53dff80729db2264edb8c08096d85326dc9..35795f1553a575c13e7a493bfb5324f50c444107 100644 GIT binary patch delta 10902 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 UgU2USdm)ewJpIalS+5cOFDDg`6951J From c10382bd1a009f536d20451ba7169fbc307c4709 Mon Sep 17 00:00:00 2001 From: David Martinez Marti Date: Thu, 6 Jun 2024 19:41:26 +0100 Subject: [PATCH 10/34] Add a simpler way to change to arrow keys --- src/game/mod.rs | 3 ++- src/player.rs | 24 +++++++++++++++++++++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/src/game/mod.rs b/src/game/mod.rs index 9e606f7..1ac295a 100644 --- a/src/game/mod.rs +++ b/src/game/mod.rs @@ -129,7 +129,8 @@ pub fn keyboard( let vector = delta.normalize() * ((dist / MEAN_DIST).powf(2.2) * MEAN_DIST); transform.translation += vector / RED * dt; } - if in_game { + const DEBUG_CAMERA: bool = false; + if in_game && DEBUG_CAMERA { if keyboard_input.pressed(KeyCode::ArrowRight) { transform.translation.x += 2.0 * dt; } diff --git a/src/player.rs b/src/player.rs index 4ef7cd6..c9d2a5c 100644 --- a/src/player.rs +++ b/src/player.rs @@ -20,6 +20,8 @@ use bevy::ecs::system::SystemParam; use bevy::prelude::*; use std::time::Duration; +const USE_ARROW_KEYS: bool = false; + /// Represents a piece of gear deployed in the game world. #[derive(Component, Debug, Clone)] pub struct DeployedGear { @@ -70,7 +72,13 @@ impl PlayerSprite { /// Returns the default `ControlKeys` for the given player ID. fn default_controls(id: usize) -> ControlKeys { match id { - 1 => ControlKeys::WASD, + 1 => { + if USE_ARROW_KEYS { + ControlKeys::ARROWS + } else { + ControlKeys::WASD + } + } 2 => ControlKeys::IJKL, _ => ControlKeys::NONE, } @@ -132,6 +140,20 @@ impl ControlKeys { grab: KeyCode::KeyF, change_evidence: KeyCode::KeyC, }; + pub const ARROWS: Self = ControlKeys { + up: KeyCode::ArrowUp, + down: KeyCode::ArrowDown, + left: KeyCode::ArrowLeft, + right: KeyCode::ArrowRight, + activate: KeyCode::KeyE, + trigger: KeyCode::KeyR, + torch: KeyCode::Tab, + cycle: KeyCode::KeyQ, + swap: KeyCode::KeyT, + drop: KeyCode::KeyG, + grab: KeyCode::KeyF, + change_evidence: KeyCode::KeyC, + }; pub const IJKL: Self = ControlKeys { up: KeyCode::KeyI, down: KeyCode::KeyK, From 3374f9e1d985384894aa2c7a1ac8c587cbf58701 Mon Sep 17 00:00:00 2001 From: David Martinez Marti Date: Thu, 6 Jun 2024 21:19:34 +0100 Subject: [PATCH 11/34] Add salt to the sprites --- assets/img/gear_spritesheetA_48x48.aseprite | Bin 22397 -> 25186 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/img/gear_spritesheetA_48x48.aseprite b/assets/img/gear_spritesheetA_48x48.aseprite index 35795f1553a575c13e7a493bfb5324f50c444107..5a042d31d1225ae3777f7891848f081d06707b40 100644 GIT binary patch delta 13843 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

b? zc3{J+_lwr%M?FVEZ(DWt{l{PbuRib|QB%yx8_0L(`lAcuj!Axt*aSIr6GX%z*w@wjJ${3NQ(KfVklQD+`On`*JlKs0ulO`F)N~SXC|w3+(<;bt&(PPgL*Eypb+WpC?TVS-4S9Kb6l*-wScn-X8bV&a@5Ivk10SOu z!2_q|&~*k(6dNI*u5<<$A_%*qz>{w7C*h64j>elB169{$%DXf9gR)hS+stREbWJ;D zYjx?&zpE>;625`I^+`~lgIyS_(T{sArYeO#?K2<7K|~#L+u&+%3}Gwvd&t#wi`uIo zt`xrZ@`%a+q6@`S_bUPMKI&(Zw`G%yzKAIPy!v=xJ@r_BNprfdSxV(DN)Ol`40FFG zYX)*Es7+8vBL-=THS_LbhsI*)j>@wndirv04v0^$dTEhXL%S-h{%+K}jY{UetEBt} z`(}mO2UVQ15}S-XXEsFS-OVy;=W(oF3u=qC`3@OamGxIJeqp8t)OZ&4SX6dj68j7+ zv`A}*4A*zDYPPZFN?=%A>s0`0>H(_$@sqOUlR`^DA!eqVgXK=w4`e$+<4L_9Vg7_s zrH;vVnMxs(RcI45Pci?x&6IY>h{?Dz>eBtw3BQgf%eFt1X-_DK!_nfYlfqv>b-c7_ zL71YP)AW%J4E}6=Xj3@;G%R#_{)0BJNTVLRg&viLH|AxBz>lT9wxCpfxl_t!!>P0ymvO_ z6X|tok7c`s1M-~WtP6Fy{)1L6Ns1 zJNw$CK+ITAbXt1w4agrl!g_5As$>e4%2EVH41sS4DxVOLK~~DM!NGAqLY97_1$qlV zyr1*~D@SN(CGFU7xneX7q3-m9Ip?`+prFa) zn=mCh_z6@fVml$Ch!;K@mn$XRn_0|^)@VV#ylIzuU=^Qom{!@YJ+UePa$J Date: Fri, 7 Jun 2024 21:56:57 +0100 Subject: [PATCH 12/34] update maps --- assets/maps/atut01_basics.tmx | 10 +++++----- assets/maps/tiled_maps.tiled-session | 25 +++++++++++++------------ 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/assets/maps/atut01_basics.tmx b/assets/maps/atut01_basics.tmx index 4d446e8..47ae076 100644 --- a/assets/maps/atut01_basics.tmx +++ b/assets/maps/atut01_basics.tmx @@ -670,13 +670,13 @@ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2147483940,0,0,2147483709,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2147483698,2147483698,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,271,0,0,0,2147483930,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2147483697,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,271,0,0,0,2147483930,0,0,62,0,0,0,2147483937,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,2147483933,0,0,185,182,0,0,0,0,0,0,0,0,182,0,0,184,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2147483831,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, @@ -934,7 +934,7 @@ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,2147483913,0,0,0,0,0,0,0,0,0,0,0,2147483913,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2147483913,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,265,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, diff --git a/assets/maps/tiled_maps.tiled-session b/assets/maps/tiled_maps.tiled-session index 1a8fa66..065383a 100644 --- a/assets/maps/tiled_maps.tiled-session +++ b/assets/maps/tiled_maps.tiled-session @@ -3,7 +3,7 @@ "height": 4300, "width": 2 }, - "activeFile": "atut02_glass_house.tmx", + "activeFile": "atut01_basics.tmx", "expandedProjectPaths": [ "." ], @@ -15,11 +15,11 @@ "expandedGroupLayers": [ 2 ], - "scale": 1, - "selectedLayer": 4, + "scale": 3, + "selectedLayer": 5, "viewCenter": { - "x": 1535.5, - "y": 767.5 + "x": 1536.1666666666665, + "y": 115.49999999999999 } }, "atut02_glass_house.tmx": { @@ -29,8 +29,8 @@ "scale": 4, "selectedLayer": 9, "viewCenter": { - "x": 620.625, - "y": 244.625 + "x": 596.125, + "y": 322.375 } }, "character1.tsx": { @@ -68,8 +68,8 @@ "scale": 4, "selectedLayer": 5, "viewCenter": { - "x": 1534.875, - "y": 801.375 + "x": 1535.875, + "y": 767.875 } }, "map_school1.tmx": { @@ -79,8 +79,8 @@ "scale": 1, "selectedLayer": 8, "viewCenter": { - "x": 1189.5, - "y": 945.5 + "x": 1536, + "y": 767.5 } }, "topdown.tsx": { @@ -152,7 +152,8 @@ "map_school1.tmx", "map_house1.tmx", "map_house2.tmx", - "atut02_glass_house.tmx" + "atut02_glass_house.tmx", + "atut01_basics.tmx" ], "project": "tiled_maps.tiled-project", "property.type": "string", From 3d51649702a53df1dadf46ef0dbcbcfca5b3823f Mon Sep 17 00:00:00 2001 From: David Martinez Marti Date: Sat, 8 Jun 2024 11:51:57 +0100 Subject: [PATCH 13/34] update the consumable images --- assets/img/gear_spritesheetA_48x48.aseprite | Bin 25186 -> 33311 bytes assets/img/gear_spritesheetA_48x48.png | Bin 18004 -> 38489 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/img/gear_spritesheetA_48x48.aseprite b/assets/img/gear_spritesheetA_48x48.aseprite index 5a042d31d1225ae3777f7891848f081d06707b40..e5d5c1540ee71c12b0150f925018caaf52528a30 100644 GIT binary patch delta 21813 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�eEqu&wWbwi;@EwLf$O5Ya6c#`Kcmct=fPwHL^ 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 diff --git a/assets/img/gear_spritesheetA_48x48.png b/assets/img/gear_spritesheetA_48x48.png index 81821665ae1648cea1400af9df4787690db6fd38..297423e01c804091826b073dd2f7fd21018f235a 100644 GIT binary patch literal 38489 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 Date: Sat, 8 Jun 2024 11:57:00 +0100 Subject: [PATCH 14/34] Fix warnings and clippy after rustup update --- src/behavior.rs | 3 ++- src/game/ui.rs | 2 +- src/gear/compass.rs | 2 +- src/gear/emfmeter.rs | 2 +- src/gear/estaticmeter.rs | 2 +- src/gear/flashlight.rs | 2 +- src/gear/geigercounter.rs | 2 +- src/gear/ionmeter.rs | 2 +- src/gear/mod.rs | 6 +++--- src/gear/motionsensor.rs | 2 +- src/gear/photocam.rs | 2 +- src/gear/recorder.rs | 2 +- src/gear/redtorch.rs | 2 +- src/gear/repellentflask.rs | 2 +- src/gear/spiritbox.rs | 2 +- src/gear/thermalimager.rs | 2 +- src/gear/thermometer.rs | 2 +- src/gear/ui.rs | 2 +- src/gear/uvtorch.rs | 2 +- src/gear/videocam.rs | 2 +- src/npchelp.rs | 2 +- src/truck/loadoutui.rs | 2 +- 22 files changed, 25 insertions(+), 24 deletions(-) diff --git a/src/behavior.rs b/src/behavior.rs index d8c04da..8d03457 100644 --- a/src/behavior.rs +++ b/src/behavior.rs @@ -422,6 +422,7 @@ trait AutoSerialize: Serialize + for<'a> Deserialize<'a> + Default { let t = format!("\"{text}\""); serde_json::from_str(&t).context("Auto deserialize error") } + #[allow(dead_code)] fn to_text(&self) -> anyhow::Result { // FIXME: This is not used at all. serde_json::to_string(self) @@ -792,7 +793,7 @@ impl SpriteConfig { p.object.weight = NotNan::new(self.properties.get_float("object:weight")).unwrap(); p.object.name = self.properties.get_string("object:name"); if p.object.name.is_empty() { - p.object.name = self.variant.clone(); + p.object.name.clone_from(&self.variant.clone()); } } diff --git a/src/game/ui.rs b/src/game/ui.rs index 3f15c35..48af22b 100644 --- a/src/game/ui.rs +++ b/src/game/ui.rs @@ -454,7 +454,7 @@ pub fn toggle_held_object_ui( .iter_mut() .filter(|(_, e)| **e == ElementObjectUI::Name) { - text.sections[0].value = behavior.p.object.name.clone(); + text.sections[0].value.clone_from(&behavior.p.object.name); } // --- Set Object Description --- diff --git a/src/gear/compass.rs b/src/gear/compass.rs index 02ca783..491e9d5 100644 --- a/src/gear/compass.rs +++ b/src/gear/compass.rs @@ -37,7 +37,7 @@ impl GearUsable for Compass { self.enabled = !self.enabled; } - fn box_clone(&self) -> Box { + fn _box_clone(&self) -> Box { Box::new(self.clone()) } } diff --git a/src/gear/emfmeter.rs b/src/gear/emfmeter.rs index 9de80f2..4ef70c4 100644 --- a/src/gear/emfmeter.rs +++ b/src/gear/emfmeter.rs @@ -172,7 +172,7 @@ impl GearUsable for EMFMeter { } } } - fn box_clone(&self) -> Box { + fn _box_clone(&self) -> Box { Box::new(self.clone()) } } diff --git a/src/gear/estaticmeter.rs b/src/gear/estaticmeter.rs index 30e54f5..5d640b6 100644 --- a/src/gear/estaticmeter.rs +++ b/src/gear/estaticmeter.rs @@ -38,7 +38,7 @@ impl GearUsable for EStaticMeter { self.enabled = !self.enabled; } - fn box_clone(&self) -> Box { + fn _box_clone(&self) -> Box { Box::new(self.clone()) } } diff --git a/src/gear/flashlight.rs b/src/gear/flashlight.rs index 8c5d907..c7bdc82 100644 --- a/src/gear/flashlight.rs +++ b/src/gear/flashlight.rs @@ -137,7 +137,7 @@ impl GearUsable for Flashlight { self.status = self.status.next().unwrap_or_default(); } - fn box_clone(&self) -> Box { + fn _box_clone(&self) -> Box { Box::new(self.clone()) } } diff --git a/src/gear/geigercounter.rs b/src/gear/geigercounter.rs index 2f38cb2..94180ce 100644 --- a/src/gear/geigercounter.rs +++ b/src/gear/geigercounter.rs @@ -108,7 +108,7 @@ impl GearUsable for GeigerCounter { self.sound_display = self.sound_a2; } } - fn box_clone(&self) -> Box { + fn _box_clone(&self) -> Box { Box::new(self.clone()) } } diff --git a/src/gear/ionmeter.rs b/src/gear/ionmeter.rs index f6ab768..3bfdca3 100644 --- a/src/gear/ionmeter.rs +++ b/src/gear/ionmeter.rs @@ -38,7 +38,7 @@ impl GearUsable for IonMeter { self.enabled = !self.enabled; } - fn box_clone(&self) -> Box { + fn _box_clone(&self) -> Box { Box::new(self.clone()) } } diff --git a/src/gear/mod.rs b/src/gear/mod.rs index a3b2efe..1b8fdfb 100644 --- a/src/gear/mod.rs +++ b/src/gear/mod.rs @@ -301,7 +301,7 @@ impl GearUsable for Gear { GearKind::None => GearSpriteID::None, } } - fn box_clone(&self) -> Box { + fn _box_clone(&self) -> Box { // FIXME: This is not used at all. Box::new(self.clone()) } @@ -350,8 +350,8 @@ pub trait GearUsable: std::fmt::Debug + Sync + Send { fn update(&mut self, _gs: &mut GearStuff, _pos: &Position, _ep: &EquipmentPosition) {} /// Returns the `GearSpriteID` for the gear's current state. fn get_sprite_idx(&self) -> GearSpriteID; - /// Creates a boxed clone of the `GearUsable` object. - fn box_clone(&self) -> Box; + /// Creates a boxed clone of the `GearUsable` object. (Unused for now) + fn _box_clone(&self) -> Box; } /// System for updating the internal state of all gear carried by the player. diff --git a/src/gear/motionsensor.rs b/src/gear/motionsensor.rs index 40b8a60..99385f9 100644 --- a/src/gear/motionsensor.rs +++ b/src/gear/motionsensor.rs @@ -38,7 +38,7 @@ impl GearUsable for MotionSensor { self.enabled = !self.enabled; } - fn box_clone(&self) -> Box { + fn _box_clone(&self) -> Box { Box::new(self.clone()) } } diff --git a/src/gear/photocam.rs b/src/gear/photocam.rs index 0bfac34..12b7304 100644 --- a/src/gear/photocam.rs +++ b/src/gear/photocam.rs @@ -38,7 +38,7 @@ impl GearUsable for Photocam { self.enabled = !self.enabled; } - fn box_clone(&self) -> Box { + fn _box_clone(&self) -> Box { Box::new(self.clone()) } } diff --git a/src/gear/recorder.rs b/src/gear/recorder.rs index b537c9a..62d6d45 100644 --- a/src/gear/recorder.rs +++ b/src/gear/recorder.rs @@ -129,7 +129,7 @@ impl GearUsable for Recorder { } } - fn box_clone(&self) -> Box { + fn _box_clone(&self) -> Box { Box::new(self.clone()) } } diff --git a/src/gear/redtorch.rs b/src/gear/redtorch.rs index efaef22..4e370a1 100644 --- a/src/gear/redtorch.rs +++ b/src/gear/redtorch.rs @@ -51,7 +51,7 @@ impl GearUsable for RedTorch { self.enabled = !self.enabled; } - fn box_clone(&self) -> Box { + fn _box_clone(&self) -> Box { Box::new(self.clone()) } } diff --git a/src/gear/repellentflask.rs b/src/gear/repellentflask.rs index 9120cc9..ff39af8 100644 --- a/src/gear/repellentflask.rs +++ b/src/gear/repellentflask.rs @@ -53,7 +53,7 @@ impl GearUsable for RepellentFlask { self.active = true; } - fn box_clone(&self) -> Box { + fn _box_clone(&self) -> Box { Box::new(self.clone()) } fn update(&mut self, gs: &mut super::GearStuff, pos: &Position, _ep: &EquipmentPosition) { diff --git a/src/gear/spiritbox.rs b/src/gear/spiritbox.rs index 58ea3b2..e143eee 100644 --- a/src/gear/spiritbox.rs +++ b/src/gear/spiritbox.rs @@ -55,7 +55,7 @@ impl GearUsable for SpiritBox { self.enabled = !self.enabled; } - fn box_clone(&self) -> Box { + fn _box_clone(&self) -> Box { Box::new(self.clone()) } fn update(&mut self, gs: &mut super::GearStuff, pos: &Position, _ep: &EquipmentPosition) { diff --git a/src/gear/thermalimager.rs b/src/gear/thermalimager.rs index a89c3d9..1bbe1c0 100644 --- a/src/gear/thermalimager.rs +++ b/src/gear/thermalimager.rs @@ -38,7 +38,7 @@ impl GearUsable for ThermalImager { self.enabled = !self.enabled; } - fn box_clone(&self) -> Box { + fn _box_clone(&self) -> Box { Box::new(self.clone()) } } diff --git a/src/gear/thermometer.rs b/src/gear/thermometer.rs index d654933..6b1a931 100644 --- a/src/gear/thermometer.rs +++ b/src/gear/thermometer.rs @@ -84,7 +84,7 @@ impl GearUsable for Thermometer { self.enabled = !self.enabled; } - fn box_clone(&self) -> Box { + fn _box_clone(&self) -> Box { Box::new(self.clone()) } } diff --git a/src/gear/ui.rs b/src/gear/ui.rs index 46eba3d..5705770 100644 --- a/src/gear/ui.rs +++ b/src/gear/ui.rs @@ -48,7 +48,7 @@ pub fn update_gear_ui( let right_hand_status = playergear.right_hand.get_status(); for mut txt in qs.iter_mut() { if txt.sections[0].value != right_hand_status { - txt.sections[0].value = right_hand_status.clone(); + txt.sections[0].value.clone_from(&right_hand_status); } } for (inv, mut utai) in qin.iter_mut() { diff --git a/src/gear/uvtorch.rs b/src/gear/uvtorch.rs index dbbac28..bad1f85 100644 --- a/src/gear/uvtorch.rs +++ b/src/gear/uvtorch.rs @@ -51,7 +51,7 @@ impl GearUsable for UVTorch { self.enabled = !self.enabled; } - fn box_clone(&self) -> Box { + fn _box_clone(&self) -> Box { Box::new(self.clone()) } } diff --git a/src/gear/videocam.rs b/src/gear/videocam.rs index 6379ebe..0565059 100644 --- a/src/gear/videocam.rs +++ b/src/gear/videocam.rs @@ -51,7 +51,7 @@ impl GearUsable for Videocam { self.enabled = !self.enabled; } - fn box_clone(&self) -> Box { + fn _box_clone(&self) -> Box { Box::new(self.clone()) } } diff --git a/src/npchelp.rs b/src/npchelp.rs index 5239836..5d0f65b 100644 --- a/src/npchelp.rs +++ b/src/npchelp.rs @@ -216,7 +216,7 @@ pub fn npchelp_event( return; }; npcd.seen = true; - res_npc.dialog = npcd.dialog.clone(); + res_npc.dialog.clone_from(&npcd.dialog); game_next_state.set(root::GameState::NpcHelp); // warn!(npcd.dialog); } diff --git a/src/truck/loadoutui.rs b/src/truck/loadoutui.rs index 98ed531..689af04 100644 --- a/src/truck/loadoutui.rs +++ b/src/truck/loadoutui.rs @@ -363,7 +363,7 @@ pub fn update_loadout_buttons( }; for mut text in &mut qh { if help_text != text.sections[0].value { - text.sections[0].value = help_text.clone(); + text.sections[0].value.clone_from(&help_text); } } } From 26396587ddcb8418ebb04abf6861008725bcf771 Mon Sep 17 00:00:00 2001 From: David Martinez Marti Date: Sat, 8 Jun 2024 16:40:02 +0100 Subject: [PATCH 15/34] Add new sounds for consumable gear --- assets/sounds/quartz_crack.ogg.ogg | Bin 0 -> 6509 bytes assets/sounds/sage_activation.ogg | Bin 0 -> 69265 bytes assets/sounds/salt_drop.ogg | Bin 0 -> 17245 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/sounds/quartz_crack.ogg.ogg create mode 100644 assets/sounds/sage_activation.ogg create mode 100644 assets/sounds/salt_drop.ogg diff --git a/assets/sounds/quartz_crack.ogg.ogg b/assets/sounds/quartz_crack.ogg.ogg new file mode 100644 index 0000000000000000000000000000000000000000..3d85a8638d20e78917be40dac2cda81c8a25035d GIT binary patch literal 6509 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 SsbNvwOSnKn{eXlj;Q|+C0roWj literal 0 HcmV?d00001 diff --git a/assets/sounds/salt_drop.ogg b/assets/sounds/salt_drop.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1602102965846b39d9dae1db1b330ed4eece8ce0 GIT binary patch literal 17245 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 literal 0 HcmV?d00001 From 4da519fe89e56fda6886efa693fe67369b63a3ae Mon Sep 17 00:00:00 2001 From: David Martinez Marti Date: Sat, 8 Jun 2024 18:22:39 +0100 Subject: [PATCH 16/34] feat: Implement Consumable Gear (Quartz Stone, Salt, Sage Bundle) (needs review) This commit introduces three new consumable gear items: Quartz Stone, Salt, and Sage Bundle. - Added data structures and logic for each consumable, including durability/charges, activation, and effects. - Integrated consumables into the player's inventory and deployment mechanism. - Implemented a particle system for Sage Bundle smoke and salt particles. - Added new sprites and sound effects for the consumables. - Updated the GearKind and GearSpriteID enums to accommodate the new gear types. --- assets/img/salt_pile.png | Bin 0 -> 699 bytes src/gear/mod.rs | 51 +++++++++++ src/gear/quartz.rs | 72 ++++++++++++++++ src/gear/sage.rs | 154 +++++++++++++++++++++++++++++++++ src/gear/salt.rs | 178 +++++++++++++++++++++++++++++++++++++++ src/ghost_definitions.rs | 3 + 6 files changed, 458 insertions(+) create mode 100644 assets/img/salt_pile.png create mode 100644 src/gear/quartz.rs create mode 100644 src/gear/sage.rs create mode 100644 src/gear/salt.rs diff --git a/assets/img/salt_pile.png b/assets/img/salt_pile.png new file mode 100644 index 0000000000000000000000000000000000000000..5ea6c220509f6522e7081de552b690c11d9bdae3 GIT binary patch literal 699 zcmV;s0!00ZP)EX>4Tx04R}tkv&MmKpe$iTeU?h3U&}t%ut=|q9Ts93Pq?8YK2xEOfLNpnlvOS zE{=k0!NHHks)LKOt`4q(Aou~|?BJy6A|?JWDYS_3;J6>}?mh0_0seZKsb)tUP&La) zClf+8w;}{z(S;EDFpLq2nfk0KrrU5saWpZjz4D0!0sK7lySbi*QEC!XH4 zbk6(45mu5E;&bA0gDyz?$aUG}H_kbWYTlQ5n`d(#&R38lA#h$5l0nOqkMnX zWrgz=XSG~q&3p0}hV$C;64z-CA&CVnLWBSrRcxRP3o%+XQcR?2KjGmYbo?T@WO8kQ zkz*besE`~#_#gc4)+|g;xJlsz(D`E9AEQ8U7iiRM`}^3o8z(^E8Mx9~{z@H~`6Rv8 z(xOK|?>2C8-O}Ve;Bp5Tc+w?9a-;xFf1v=ppV2qvfc{&cd)4i&xsTHaAVXcHZh(VB zV5~^lYaZ_owfFY#nPz`Kes^-KjLxE?00006VoOIv00000008+zyMF)x010qNS#tmY zE+YT{E+YYWr9XB6000McNliru=mrQ7A05t3FE;=H02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{005IoL_t(I%k7de3PM2)1>af-If3AHtUZO;h=rAvh2mvJ z*vd}=ij0N3viw3+u=}qG*<~gvA`SU(fHiOd7Qes~;NtmQ2%G_m03ZX?Pv9lc zxjQ-MR&WJ&!0a8o0=jl`uR5>?4wV`89CJw)5w8a`Q$)zjB*`RgC8heGdK=tZX%!W? h?Qbci@o=ZlJOF>cly86_a?}6-002ovPDHLkV1ft`CwKq= literal 0 HcmV?d00001 diff --git a/src/gear/mod.rs b/src/gear/mod.rs index 1b8fdfb..d5cbeab 100644 --- a/src/gear/mod.rs +++ b/src/gear/mod.rs @@ -19,9 +19,12 @@ pub mod ionmeter; pub mod motionsensor; pub mod photocam; pub mod playergear; +pub mod quartz; pub mod recorder; pub mod redtorch; pub mod repellentflask; +pub mod sage; +pub mod salt; pub mod spiritbox; pub mod thermalimager; pub mod thermometer; @@ -39,9 +42,12 @@ use self::geigercounter::GeigerCounter; use self::ionmeter::IonMeter; use self::motionsensor::MotionSensor; use self::photocam::Photocam; +use self::quartz::QuartzStoneData; use self::recorder::Recorder; use self::redtorch::RedTorch; use self::repellentflask::RepellentFlask; +use self::sage::SageBundleData; +use self::salt::SaltData; use self::spiritbox::SpiritBox; use self::thermalimager::ThermalImager; use self::thermometer::Thermometer; @@ -116,8 +122,29 @@ pub enum GearSpriteID { RepelentFlaskEmpty = 60, RepelentFlaskFull, + // Quartz Stone + QuartzStone0 = 65, + QuartzStone1, + QuartzStone2, + QuartzStone3, + QuartzStone4, + + // Salt + Salt4 = 75, + Salt3, + Salt2, + Salt1, + Salt0, + Compass = 80, + // Sage Bundle + SageBundle0 = 85, + SageBundle1, + SageBundle2, + SageBundle3, + SageBundle4, + EStaticMeter = 90, Videocam, MotionSensor, @@ -147,6 +174,9 @@ pub enum GearKind { Videocam(Videocam), MotionSensor(MotionSensor), RepellentFlask(RepellentFlask), + QuartzStone(QuartzStoneData), + Salt(SaltData), + SageBundle(SageBundleData), #[default] None, } @@ -208,6 +238,9 @@ impl GearUsable for Gear { GearKind::Videocam(x) => x.get_display_name(), GearKind::MotionSensor(x) => x.get_display_name(), GearKind::RepellentFlask(x) => x.get_display_name(), + GearKind::QuartzStone(x) => x.get_display_name(), + GearKind::Salt(x) => x.get_display_name(), + GearKind::SageBundle(x) => x.get_display_name(), GearKind::None => "", } } @@ -229,6 +262,9 @@ impl GearUsable for Gear { GearKind::Videocam(x) => x.get_description(), GearKind::MotionSensor(x) => x.get_description(), GearKind::RepellentFlask(x) => x.get_description(), + GearKind::QuartzStone(x) => x.get_description(), + GearKind::Salt(x) => x.get_description(), + GearKind::SageBundle(x) => x.get_description(), GearKind::None => "", } } @@ -250,6 +286,9 @@ impl GearUsable for Gear { GearKind::Videocam(x) => x.get_status(), GearKind::MotionSensor(x) => x.get_status(), GearKind::RepellentFlask(x) => x.get_status(), + GearKind::QuartzStone(x) => x.get_status(), + GearKind::Salt(x) => x.get_status(), + GearKind::SageBundle(x) => x.get_status(), GearKind::None => "".to_string(), } } @@ -276,6 +315,9 @@ impl GearUsable for Gear { GearKind::Videocam(x) => x.set_trigger(gs), GearKind::MotionSensor(x) => x.set_trigger(gs), GearKind::RepellentFlask(x) => x.set_trigger(gs), + GearKind::QuartzStone(x) => x.set_trigger(gs), + GearKind::Salt(x) => x.set_trigger(gs), + GearKind::SageBundle(x) => x.set_trigger(gs), GearKind::None => ni(&self), } } @@ -298,6 +340,9 @@ impl GearUsable for Gear { GearKind::Videocam(x) => x.get_sprite_idx(), GearKind::MotionSensor(x) => x.get_sprite_idx(), GearKind::RepellentFlask(x) => x.get_sprite_idx(), + GearKind::QuartzStone(x) => x.get_sprite_idx(), + GearKind::Salt(x) => x.get_sprite_idx(), + GearKind::SageBundle(x) => x.get_sprite_idx(), GearKind::None => GearSpriteID::None, } } @@ -323,6 +368,9 @@ impl GearUsable for Gear { GearKind::Videocam(x) => x.update(gs, pos, ep), GearKind::MotionSensor(x) => x.update(gs, pos, ep), GearKind::RepellentFlask(x) => x.update(gs, pos, ep), + GearKind::QuartzStone(x) => x.update(gs, pos, ep), + GearKind::Salt(x) => x.update(gs, pos, ep), + GearKind::SageBundle(x) => x.update(gs, pos, ep), GearKind::None => {} } } @@ -496,6 +544,9 @@ pub fn app_setup(app: &mut App) { .add_systems(FixedUpdate, update_playerheld_gear_data) .add_systems(FixedUpdate, update_deployed_gear_data) .add_systems(FixedUpdate, update_deployed_gear_sprites) + .add_systems(Update, salt::salt_particle_system) + .add_systems(Update, salt::salt_pile_system) + .add_systems(Update, sage::sage_smoke_system) .add_systems(Update, thermometer::temperature_update) .add_systems(Update, recorder::sound_update) .add_systems(Update, repellentflask::repellent_update) diff --git a/src/gear/quartz.rs b/src/gear/quartz.rs new file mode 100644 index 0000000..d0c5acc --- /dev/null +++ b/src/gear/quartz.rs @@ -0,0 +1,72 @@ +//! This module defines the `QuartzStoneData` struct and its associated logic, +//! representing the Quartz Stone consumable item in the game. + +use bevy::prelude::*; + +use super::{Gear, GearKind, GearSpriteID, GearStuff, GearUsable}; +use crate::board::Position; + +/// Data structure for the Quartz Stone consumable. +#[derive(Component, Debug, Clone, Default, PartialEq, Eq)] +pub struct QuartzStoneData { + /// Number of cracks in the stone (0-3). + pub cracks: u8, +} + +impl GearUsable for QuartzStoneData { + fn get_display_name(&self) -> &'static str { + "Quartz Stone" + } + + fn get_description(&self) -> &'static str { + "A protective charm that absorbs the ghost's hunting energy, preventing or shortening hunts. The stone gradually cracks and eventually breaks after repeated uses." + } + + fn get_status(&self) -> String { + if self.cracks >= 3 { + return "Shattered".to_string(); + } + format!("Cracks: {}", self.cracks) + } + + fn set_trigger(&mut self, _gs: &mut GearStuff) { + // Quartz Stone is always active, no trigger action needed. + } + + fn update( + &mut self, + gs: &mut GearStuff, + pos: &Position, + _ep: &super::playergear::EquipmentPosition, + ) { + // Check proximity to ghost + let distance_to_ghost = gs.bf.breach_pos.distance(pos); + if distance_to_ghost <= 7.0 && self.cracks < 3 { + // Increment cracks + self.cracks += 1; + + // Play cracking sound + gs.play_audio("sounds/quartz_crack.ogg".into(), 1.0, pos); + } + } + + fn get_sprite_idx(&self) -> GearSpriteID { + match self.cracks { + 0 => GearSpriteID::QuartzStone0, + 1 => GearSpriteID::QuartzStone1, + 2 => GearSpriteID::QuartzStone2, + 3 => GearSpriteID::QuartzStone3, + _ => GearSpriteID::QuartzStone4, // Shattered + } + } + + fn _box_clone(&self) -> Box { + Box::new(self.clone()) + } +} + +impl From for Gear { + fn from(value: QuartzStoneData) -> Self { + Gear::new_from_kind(GearKind::QuartzStone(value)) + } +} diff --git a/src/gear/sage.rs b/src/gear/sage.rs new file mode 100644 index 0000000..424bb00 --- /dev/null +++ b/src/gear/sage.rs @@ -0,0 +1,154 @@ +//! This module defines the `SageBundleData` struct and its associated logic, +//! representing the Sage Bundle consumable item in the game. + +use bevy::prelude::*; + +use super::{Gear, GearKind, GearSpriteID, GearStuff, GearUsable}; +use crate::{board::Position, ghost::GhostSprite, utils::format_time}; + +/// Data structure for the Sage Bundle consumable. +#[derive(Component, Debug, Clone, PartialEq, Eq)] +pub struct SageBundleData { + /// Indicates whether the Sage Bundle is currently active (burning). + pub is_active: bool, + /// Timer for the burn duration. + pub burn_timer: Timer, +} + +impl Default for SageBundleData { + fn default() -> Self { + Self { + is_active: false, + burn_timer: Timer::from_seconds(6.0, TimerMode::Once), + } + } +} + +impl GearUsable for SageBundleData { + fn get_display_name(&self) -> &'static str { + "Sage Bundle" + } + + fn get_description(&self) -> &'static str { + "A bundle of sage that, when activated, burns slowly and emits soothing smoke particles that calm the ghost over time." + } + + fn get_status(&self) -> String { + if !self.is_active { + return "Ready".to_string(); + } + format!("Burning: {}", format_time(self.burn_timer.remaining_secs())) + } + + fn set_trigger(&mut self, gs: &mut GearStuff) { + if !self.is_active { + self.is_active = true; + self.burn_timer.reset(); + + // Play activation sound + gs.play_audio_nopos("sounds/sage_activation.ogg".into(), 0.6); + } + } + + fn update( + &mut self, + gs: &mut GearStuff, + pos: &Position, + _ep: &super::playergear::EquipmentPosition, + ) { + if self.is_active { + self.burn_timer.tick(gs.time.delta()); + + // Spawn smoke particles + if self.burn_timer.just_finished() { + self.is_active = false; + } else if gs.time.elapsed_seconds() % 0.3 < 0.1 { + for _ in 0..3 { + // Spawn smoke particle + let _smoke_particle_entity = gs + .commands + .spawn(SpriteBundle { + texture: gs.asset_server.load("img/consumables.png"), + sprite: Sprite { + custom_size: Some(Vec2::new(8.0, 8.0)), + ..default() + }, + transform: Transform::from_translation(pos.to_screen_coord()), + ..default() + }) + .insert(SageSmokeParticle) + .insert(*pos) + .insert(SmokeParticleTimer(Timer::from_seconds( + 3.0, + TimerMode::Once, + ))) + .id(); + } + } + } + } + + fn get_sprite_idx(&self) -> GearSpriteID { + if !self.is_active { + return GearSpriteID::SageBundle0; + } + let remaining_time = self.burn_timer.remaining_secs(); + if remaining_time > 4.0 { + return GearSpriteID::SageBundle1; + } + if remaining_time > 2.0 { + return GearSpriteID::SageBundle2; + } + if remaining_time > 0.0 { + return GearSpriteID::SageBundle3; + } + GearSpriteID::SageBundle4 // Burned out + } + + fn _box_clone(&self) -> Box { + Box::new(self.clone()) + } +} + +impl From for Gear { + fn from(value: SageBundleData) -> Self { + Gear::new_from_kind(GearKind::SageBundle(value)) + } +} + +/// Marker component for sage smoke particles. +#[derive(Component)] +pub struct SageSmokeParticle; + +/// Timer component for smoke particle lifetime. +#[derive(Component)] +pub struct SmokeParticleTimer(Timer); + +/// System to handle smoke particle logic. +pub fn sage_smoke_system( + mut commands: Commands, + time: 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 QZ}Kbkra|@og%|+-4_d${Qvd(} literal 0 HcmV?d00001 diff --git a/assets/sounds/quartz_crack.ogg.ogg b/assets/sounds/quartz_crack.ogg.ogg deleted file mode 100644 index 3d85a8638d20e78917be40dac2cda81c8a25035d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6509 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 30.0 && self.cracks <= MAX_CRACKS { + self.energy_absorbed = 0.0; // Increment cracks self.cracks += 1; @@ -74,3 +77,54 @@ impl From for Gear { Gear::new_from_kind(GearKind::QuartzStone(value)) } } + +pub fn aux_quartz_update( + gear_pos: &Position, + qz_data: &mut QuartzStoneData, + ghost_pos: &Position, + ghost_sprite: &mut GhostSprite, + dt: f32, +) { + const MIN_DIST: f32 = 5.0; + const MIN_DIST2: f32 = MIN_DIST * MIN_DIST; + let distance2 = gear_pos.distance2(ghost_pos); + let dist_adj = (distance2 + MIN_DIST2) / MIN_DIST2; + let dist_adj_recip = dist_adj.recip() - 0.2; + let stone_health = (MAX_CRACKS - qz_data.cracks) as f32 / MAX_CRACKS as f32; + + let str = (ghost_sprite.hunting + * 1.5 + * dt + * dist_adj_recip.clamp(0.0, 1.0) + * stone_health.clamp(0.0, 1.0).sqrt()) + .min(ghost_sprite.hunting); + + ghost_sprite.hunting -= str; + qz_data.energy_absorbed += str; +} + +pub fn update_quartz_and_ghost( + mut q_gear1: Query<(&Position, &mut PlayerGear)>, + mut q_gear2: Query<(&Position, &mut DeployedGearData)>, + mut q_ghost: Query<(&Position, &mut GhostSprite)>, + time: Res