summaryrefslogtreecommitdiff
path: root/pixel-client/src
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-08-11 01:30:59 +0200
committermetamuffin <metamuffin@disroot.org>2024-08-11 01:35:05 +0200
commit218da36b4f963a5dfcd619d543cb95c5c196d214 (patch)
tree244ecd10f4ca3d9798cedf7149394a1d4827b5d9 /pixel-client/src
parentf753629acd906ff7acd42a18a266cc93a883330c (diff)
downloadhurrycurry-218da36b4f963a5dfcd619d543cb95c5c196d214.tar
hurrycurry-218da36b4f963a5dfcd619d543cb95c5c196d214.tar.bz2
hurrycurry-218da36b4f963a5dfcd619d543cb95c5c196d214.tar.zst
update movement in protocol and all clients
Diffstat (limited to 'pixel-client/src')
-rw-r--r--pixel-client/src/game.rs17
1 files changed, 9 insertions, 8 deletions
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<Box<State>> {
- self.network.poll();
+ self.network.poll().unwrap();
// TODO perf
for packet in self.network.queue_in.drain(..).collect::<Vec<_>>() {
@@ -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);
}
}
}