From fd2bf46b19c65fa4e696c8aecbab40164b840208 Mon Sep 17 00:00:00 2001 From: CrispyPin Date: Fri, 17 May 2024 18:06:12 +0200 Subject: [PATCH] fix rule rotation for copy-cells --- petri/src/lib.rs | 2 +- uscope/src/main.rs | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/petri/src/lib.rs b/petri/src/lib.rs index b10485e..a9191a0 100644 --- a/petri/src/lib.rs +++ b/petri/src/lib.rs @@ -307,7 +307,7 @@ impl Rule { for x in 0..new.width { let mut cell = base.get(y, new.width - x - 1); if let (_, RuleCellTo::Copy(cx, cy)) = &mut cell { - let new_x = new.height - *cy - 1; + let new_x = base.height - *cy - 1; let new_y = *cx; (*cx, *cy) = (new_x, new_y); } diff --git a/uscope/src/main.rs b/uscope/src/main.rs index b160474..dae132c 100644 --- a/uscope/src/main.rs +++ b/uscope/src/main.rs @@ -81,9 +81,10 @@ impl eframe::App for UScope { for _ in 0..self.speed { // benchmarks made with sand_stress_test at 50000 speed in a release build // ~50ms - // self.dish.try_one_position_overlapped(); + self.dish.try_one_position_overlapped(); // ~35ms - self.dish.fire_blindly_cached(); + // TODO: has directional bias, figure out why and fix it + // self.dish.fire_blindly_cached(); } let sim_time = sim_frame.elapsed(); // self.sim_times.push(sim_time.as_micros());