From da3e725cc198e5b54d27023cd8cbc28923e36782 Mon Sep 17 00:00:00 2001 From: Avii Date: Thu, 6 Aug 2026 10:29:15 +0200 Subject: [PATCH] 1786004955 --- src/trekstor.rs | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/src/trekstor.rs b/src/trekstor.rs index 0ac2c26..9dbd7ad 100644 --- a/src/trekstor.rs +++ b/src/trekstor.rs @@ -1,3 +1,4 @@ +use std::thread::sleep; use std::time::{Duration, Instant}; use self::input::InputState; @@ -36,30 +37,23 @@ impl Trekstor { pub fn update(&mut self, update: UpdateFn) { loop { - println!("Step"); self.input.handle_event(); self.last_time = self.current_time; self.current_time = Instant::now(); - let mut dt = self.current_time - self.last_time; + let dt = self.current_time - self.last_time; - if dt > Duration::from_millis(100) { - dt = Duration::from_millis(100); + println!("Frame"); + + if !update(&mut self.screen, &self.input) { + return; } - while self.accumulator > self.update_timestep { - println!("Frame"); + self.screen.flush(); + self.input.finish(); - if !update(&mut self.screen, &self.input) { - return; - } - - self.screen.flush(); - self.input.finish(); - - self.accumulator -= self.update_timestep; - } - - self.accumulator += dt; + let wait_time = self.update_timestep - dt; + dbg!(wait_time); + sleep(wait_time); } } }