summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/main.rs b/src/main.rs
index e066e56..caedc23 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -502,7 +502,6 @@ impl ApplicationHandler for App {
self.last_sim_update = now;
if self.sim_paused && self.ignore_pause_next_tick {
self.sim_update();
- self.ignore_pause_next_tick = false;
} else if !self.sim_paused {
self.sim_updates_due +=
secs_since_last_sim_update / expected_secs_since_last_sim_update;
@@ -521,7 +520,9 @@ impl ApplicationHandler for App {
let expected_secs_since_last_physics_update = 1.0 / PHYSICS_FPS as f32;
self.last_physics_update = now;
- if !self.sim_paused {
+ if self.sim_paused && self.ignore_pause_next_tick {
+ self.physics_update(PHYSICS_DELTA_TIME);
+ } else if !self.sim_paused {
self.physics_updates_due +=
secs_since_last_physics_update / expected_secs_since_last_physics_update;
let mut updates_done = 0;
@@ -534,6 +535,8 @@ impl ApplicationHandler for App {
self.physics_updates_due = self.physics_updates_due.min(3.0);
}
+ self.ignore_pause_next_tick = false;
+
if let Some(renderer_state) = &mut self.renderer_state
&& let Some(world) = &mut self.world
&& let Some(rb_sim_manager) = &mut self.rb_sim_manager