From 068dadbbb0eccd9bbb8963e975ba22dd0738d859 Mon Sep 17 00:00:00 2001 From: HampusM Date: Sat, 15 Aug 2026 19:11:14 +0200 Subject: fix(engine): stop overwriting previous keyboard key states --- engine/src/util.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'engine/src/util.rs') diff --git a/engine/src/util.rs b/engine/src/util.rs index f820b64..9d1c887 100644 --- a/engine/src/util.rs +++ b/engine/src/util.rs @@ -234,11 +234,13 @@ impl BitArray> (bit_index_in_byte)) & Self::ITEM_MASK } - #[tracing::instrument(skip_all)] - pub fn set(&mut self, item_index: usize, item_bits: u8) + #[tracing::instrument(skip(self))] + pub fn clear_and_set(&mut self, item_index: usize, item_bits: u8, clear_mask: u8) { let item_bits = item_bits & Self::ITEM_MASK; + let clear_mask = clear_mask & Self::ITEM_MASK; + let bit_index = item_index * BITS_PER_ITEM; let byte_index = bit_index / 8; @@ -246,14 +248,13 @@ impl BitArray