aboutsummaryrefslogtreecommitdiff
path: root/server/src/entity
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-12-18 22:49:15 +0100
committermetamuffin <metamuffin@disroot.org>2025-12-18 22:49:18 +0100
commitcf3d5d44166e7214700b73d657aa10018167ae0c (patch)
tree9b74ed9e719b44bc8f8d312cdf4bb83651b20983 /server/src/entity
parent6832af5ee35b9d16668e1d34f191715f3755679f (diff)
downloadhurrycurry-cf3d5d44166e7214700b73d657aa10018167ae0c.tar
hurrycurry-cf3d5d44166e7214700b73d657aa10018167ae0c.tar.bz2
hurrycurry-cf3d5d44166e7214700b73d657aa10018167ae0c.tar.zst
only send movement packets if changes; bots send less inputs
Diffstat (limited to 'server/src/entity')
-rw-r--r--server/src/entity/player_portal.rs5
-rw-r--r--server/src/entity/player_portal_pair.rs6
2 files changed, 5 insertions, 6 deletions
diff --git a/server/src/entity/player_portal.rs b/server/src/entity/player_portal.rs
index a2653900..35733ca3 100644
--- a/server/src/entity/player_portal.rs
+++ b/server/src/entity/player_portal.rs
@@ -18,7 +18,7 @@
use super::{Entity, EntityContext};
use anyhow::Result;
use hurrycurry_locale::TrError;
-use hurrycurry_protocol::{PacketC, glam::Vec2};
+use hurrycurry_protocol::glam::Vec2;
#[derive(Debug, Default, Clone)]
pub struct PlayerPortal {
@@ -40,8 +40,7 @@ impl Entity for PlayerPortal {
.get_mut(&pid)
.ok_or(TrError::Plain("Player is missing".to_string()))?;
p.movement.position = self.to;
- c.packet_out
- .push_back(PacketC::MovementSync { player: pid });
+ p.movement_must_sync = true;
}
Ok(())
diff --git a/server/src/entity/player_portal_pair.rs b/server/src/entity/player_portal_pair.rs
index 9691ca05..fd28b774 100644
--- a/server/src/entity/player_portal_pair.rs
+++ b/server/src/entity/player_portal_pair.rs
@@ -19,7 +19,7 @@ use super::{Entity, EntityContext};
use anyhow::Result;
use hurrycurry_locale::TrError;
use hurrycurry_protocol::{
- PacketC, TileIndex,
+ TileIndex,
glam::{IVec2, Vec2, vec2},
};
@@ -104,7 +104,7 @@ impl Entity for PlayerPortalPair {
&& let Some(p) = c.game.players.get_mut(&player)
{
p.movement.position = self.b_f;
- c.packet_out.push_back(PacketC::MovementSync { player });
+ p.movement_must_sync = true;
}
if self.state == -1
@@ -113,7 +113,7 @@ impl Entity for PlayerPortalPair {
&& let Some(p) = c.game.players.get_mut(&player)
{
p.movement.position = self.a_f;
- c.packet_out.push_back(PacketC::MovementSync { player });
+ p.movement_must_sync = true;
}
Ok(())