summaryrefslogtreecommitdiff
path: root/shared
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-01-26 19:32:38 +0100
committermetamuffin <metamuffin@disroot.org>2025-01-26 19:32:38 +0100
commit55ef91b95decf829ac988fd9e86624b488959956 (patch)
tree1be32298a1634ba91769ac5b14782df0f88e2f1b /shared
parent0ad677e6205250422f8f8cc9041e10fe4fecf549 (diff)
downloadweareserver-55ef91b95decf829ac988fd9e86624b488959956.tar
weareserver-55ef91b95decf829ac988fd9e86624b488959956.tar.bz2
weareserver-55ef91b95decf829ac988fd9e86624b488959956.tar.zst
chat packet
Diffstat (limited to 'shared')
-rw-r--r--shared/src/packets.rs9
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])?;