From 218da36b4f963a5dfcd619d543cb95c5c196d214 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sun, 11 Aug 2024 01:30:59 +0200 Subject: update movement in protocol and all clients --- pixel-client/src/game.rs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'pixel-client/src/game.rs') diff --git a/pixel-client/src/game.rs b/pixel-client/src/game.rs index d4f1e4e4..5a06ad30 100644 --- a/pixel-client/src/game.rs +++ b/pixel-client/src/game.rs @@ -113,7 +113,7 @@ impl Game { keyboard: &KeyboardState, layout: &AtlasLayout, ) -> Option> { - self.network.poll(); + self.network.poll().unwrap(); // TODO perf for packet in self.network.queue_in.drain(..).collect::>() { @@ -160,9 +160,8 @@ impl Game { } if let Some(player) = self.players.get_mut(&self.my_id) { - player - .movement - .update(&self.collision_map, direction, boost, dt); + player.movement.input(direction, boost); + player.movement.update(&self.collision_map, dt); if send_movement { self.network @@ -271,7 +270,8 @@ impl Game { item: None, movement: MovementBase { position, - direction: Vec2::ZERO, + input_direction: Vec2::ZERO, + input_boost: false, facing: Vec2::X, rotation: 0., velocity: Vec2::ZERO, @@ -287,17 +287,18 @@ impl Game { self.player_ids.remove(&id); self.players.remove(&id); } - PacketC::Position { + PacketC::Movement { player, pos, rot, - boosting, + boost, + dir, } => { if player != self.my_id { if let Some(p) = self.players.get_mut(&player) { p.movement.position = pos; p.movement.rotation = rot; - p.movement.boosting = boosting; + p.movement.input(dir, boost); } } } -- cgit v1.2.3-70-g09d2