From 7dbb34febaf75572f99fee459a77cf917de05d8f Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sat, 10 Aug 2024 20:57:06 +0200 Subject: Change protocol and server to allow multiple players per connection (untested) --- pixel-client/src/game.rs | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'pixel-client/src') diff --git a/pixel-client/src/game.rs b/pixel-client/src/game.rs index af387b95..600ea2f1 100644 --- a/pixel-client/src/game.rs +++ b/pixel-client/src/game.rs @@ -147,23 +147,27 @@ impl Game { if interact != self.interacting { if interact { self.network.queue_out.push_back(PacketS::Interact { + player: self.my_id, pos: Some(self.players[&self.my_id].movement.get_interact_target()), }); } else { - self.network - .queue_out - .push_back(PacketS::Interact { pos: None }); + self.network.queue_out.push_back(PacketS::Interact { + player: self.my_id, + pos: None, + }); } self.interacting = interact; } if let Some(player) = self.players.get_mut(&self.my_id) { - let movement_packet = player + player .movement .update(&self.collision_map, direction, boost, dt); if send_movement { - self.network.queue_out.push_back(movement_packet); + self.network + .queue_out + .push_back(player.movement.movement_packet(direction, self.my_id)); } player.interact_target_anim.exp_to( @@ -205,7 +209,7 @@ impl Game { pub fn packet_in(&mut self, packet: PacketC, layout: &AtlasLayout) { match packet { - PacketC::Init { id } => self.my_id = id, + PacketC::Joined { id } => self.my_id = id, PacketC::Data { data } => { self.tilemap.init(&data.tile_names, layout); self.item_sprites = data -- cgit v1.2.3-70-g09d2