From e34a47d0d7ebdda0544c8ccad4134928e63e077a Mon Sep 17 00:00:00 2001 From: timokoesters Date: Mon, 20 May 2019 21:24:47 +0200 Subject: [PATCH] Fix chunk loading delay Former-commit-id: b287ab5be22ae6e4d0b10b5010e592a7a514cacb --- client/src/lib.rs | 9 ++++++++- voxygen/src/menu/char_selection/mod.rs | 2 +- voxygen/src/session.rs | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/client/src/lib.rs b/client/src/lib.rs index 511d32079e..a98e887bc7 100644 --- a/client/src/lib.rs +++ b/client/src/lib.rs @@ -137,6 +137,13 @@ impl Client { &mut self.state } + /// Remove all cached terrain + #[allow(dead_code)] + pub fn reset_terrain(&mut self) { + self.state.terrain_mut().clear(); + self.pending_chunks.clear(); + } + /// Get the player's entity. #[allow(dead_code)] pub fn entity(&self) -> EcsEntity { @@ -394,7 +401,7 @@ impl Client { self.pending_state_request = false; } ServerMsg::ForceState(state) => { - self.client_state = Some(dbg!(state)); + self.client_state = Some(state); } ServerMsg::Disconnect => { self.client_state = None; diff --git a/voxygen/src/menu/char_selection/mod.rs b/voxygen/src/menu/char_selection/mod.rs index cec06a2b4a..7b0d421116 100644 --- a/voxygen/src/menu/char_selection/mod.rs +++ b/voxygen/src/menu/char_selection/mod.rs @@ -45,7 +45,7 @@ impl PlayState for CharSelectionState { fn play(&mut self, _: Direction, global_state: &mut GlobalState) -> PlayStateResult { // Set up an fps clock. let mut clock = Clock::new(); - self.client.borrow_mut().state_mut().terrain_mut().clear(); + self.client.borrow_mut().reset_terrain(); while self.client.borrow().is_request_pending() || self.client.borrow().get_client_state() == Some(ClientState::Registered) diff --git a/voxygen/src/session.rs b/voxygen/src/session.rs index 239775cf28..ef1570b983 100644 --- a/voxygen/src/session.rs +++ b/voxygen/src/session.rs @@ -115,7 +115,7 @@ impl PlayState for SessionState { // Set up an fps clock. let mut clock = Clock::new(); - self.client.borrow_mut().state_mut().terrain_mut().clear(); + self.client.borrow_mut().reset_terrain(); // Load a few chunks. TODO: Remove this. /*