From 0ce452cf0ce2e4c90dd5eeabe42e7a3e4f785b7a Mon Sep 17 00:00:00 2001 From: Sam Date: Sat, 1 Apr 2023 16:56:59 -0400 Subject: [PATCH] Tween client time to match with server time. --- client/src/lib.rs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/client/src/lib.rs b/client/src/lib.rs index ee8a800a59..c1ef2a679b 100644 --- a/client/src/lib.rs +++ b/client/src/lib.rs @@ -265,6 +265,7 @@ pub struct Client { pending_chunks: HashMap, Instant>, target_time_of_day: Option, + dt_adjustment: f64, connected_server_constants: ServerConstants, } @@ -748,6 +749,7 @@ impl Client { pending_chunks: HashMap::new(), target_time_of_day: None, + dt_adjustment: 1.0, connected_server_constants: server_constants, }) @@ -1801,7 +1803,7 @@ impl Client { // 4) Tick the client's LocalState self.state.tick( - dt, + Duration::from_secs_f64(dt.as_secs_f64() * self.dt_adjustment), |dispatch_builder| { add_local_systems(dispatch_builder); add_foreign_systems(dispatch_builder); @@ -2169,9 +2171,18 @@ impl Client { *self.state.ecs_mut().write_resource() = calendar; let mut time = self.state.ecs_mut().write_resource::