From b1d0e0bb340b0de4ca2fe151765d9ae36dcc5e2a Mon Sep 17 00:00:00 2001 From: Janek <development@superyu.xyz> Date: Tue, 16 Apr 2024 14:17:48 +0200 Subject: [PATCH] fix: bomb holder search Previously there was a performance hit when the bomb was being held due to wrong logic being used. This fixes it. --- src/dma/mod.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/dma/mod.rs b/src/dma/mod.rs index 8ccf747..5b4da83 100755 --- a/src/dma/mod.rs +++ b/src/dma/mod.rs @@ -14,7 +14,7 @@ pub use context::Connector; pub async fn run(radar_data: ArcRwlockRadarData, connector: Connector, pcileech_device: String, skip_version: bool) -> anyhow::Result<()> { let mut ctx = DmaCtx::setup(connector, pcileech_device, skip_version)?; - let mut data = CsData::default(); + let mut data = CsData { recheck_bomb_holder: true, ..Default::default() }; // For read timing let mut last_bomb_dropped = false; @@ -50,11 +50,10 @@ pub async fn run(radar_data: ArcRwlockRadarData, connector: Connector, pcileech_ data.update_bomb(&mut ctx); } - if (!data.bomb_dropped && last_bomb_dropped) || !data.bomb_planted { + if !data.bomb_dropped && last_bomb_dropped && !data.bomb_planted { data.recheck_bomb_holder = true; } - let bomb_defuse_timeleft: f32 = { if data.bomb_planted && !data.bomb_exploded && !data.bomb_defused { if let Some(bomb_stamp) = data.bomb_planted_stamp { @@ -125,7 +124,7 @@ pub async fn run(radar_data: ArcRwlockRadarData, connector: Connector, pcileech_ if local_data.health > 0 { let has_bomb = { - if data.bomb_planted { + if data.bomb_planted || data.bomb_dropped { false } else if data.recheck_bomb_holder { if local_data.team == Some(TeamID::T) && !data.bomb_dropped && !data.bomb_planted {