diff options
author | metamuffin <metamuffin@disroot.org> | 2025-01-26 19:32:38 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-01-26 19:32:38 +0100 |
commit | 55ef91b95decf829ac988fd9e86624b488959956 (patch) | |
tree | 1be32298a1634ba91769ac5b14782df0f88e2f1b /shared | |
parent | 0ad677e6205250422f8f8cc9041e10fe4fecf549 (diff) | |
download | weareserver-55ef91b95decf829ac988fd9e86624b488959956.tar weareserver-55ef91b95decf829ac988fd9e86624b488959956.tar.bz2 weareserver-55ef91b95decf829ac988fd9e86624b488959956.tar.zst |
chat packet
Diffstat (limited to 'shared')
-rw-r--r-- | shared/src/packets.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/shared/src/packets.rs b/shared/src/packets.rs index 1c457d3..a5c017d 100644 --- a/shared/src/packets.rs +++ b/shared/src/packets.rs @@ -47,6 +47,8 @@ pub struct Object(pub u128); #[derive(Clone)] pub struct Data(pub Vec<u8>); +#[derive(Debug, Clone)] +pub struct Message(pub String); #[derive(Debug, Clone)] pub enum Packet { @@ -62,6 +64,7 @@ pub enum Packet { Sound(Object, Data), PrefabIndex(Resource<PrefabIndex>), AnnouncePrefab(Resource<Prefab>), + Chat(Object, Message), } impl Object { @@ -126,6 +129,11 @@ impl Packet { w.write_all(&[0x0a])?; resource.write(w)?; } + Packet::Chat(object, message) => { + w.write_all(&[0x0b])?; + object.write(w)?; + message.write(w)?; + } } Ok(()) } @@ -156,6 +164,7 @@ impl ReadWrite for Packet { 0x08 => Packet::Sound(Object::read(r)?, Data::read(r)?), 0x09 => Packet::PrefabIndex(Resource::read(r)?), 0x0a => Packet::AnnouncePrefab(Resource::read(r)?), + 0x0b => Packet::Chat(Object::read(r)?, Message::read(r)?), _ => { for _ in 0..packet_len.max(1) - 1 { r.read_exact(&mut [0])?; |