summaryrefslogtreecommitdiff
path: root/src/to_clt/hud.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/to_clt/hud.rs')
-rw-r--r--src/to_clt/hud.rs24
1 files changed, 19 insertions, 5 deletions
diff --git a/src/to_clt/hud.rs b/src/to_clt/hud.rs
index bdd7de7..3a29d7b 100644
--- a/src/to_clt/hud.rs
+++ b/src/to_clt/hud.rs
@@ -115,18 +115,32 @@ pub struct MinimapModePkt {
modes: Vec<MinimapMode>,
}
+#[cfg(feature = "server")]
impl MtSerialize for MinimapModePkt {
fn mt_serialize<C: MtCfg>(&self, writer: &mut impl Write) -> Result<(), SerializeError> {
- C::write_len(self.modes.len(), writer)?;
+ DefCfg::write_len(self.modes.len(), writer)?;
self.current.mt_serialize::<DefCfg>(writer)?;
- for item in self.modes.iter() {
- item.mt_serialize::<DefCfg>(writer)?;
- }
+ self.modes.mt_serialize::<NoLen>(writer)?;
+
Ok(())
}
}
+
+#[cfg(feature = "client")]
+impl MtDeserialize for MinimapModePkt {
+ fn mt_deserialize<C: MtCfg>(reader: &mut impl Read) -> Result<Self, DeserializeError> {
+ let range = DefCfg::read_len(reader)?;
+ let current = MtDeserialize::mt_deserialize::<DefCfg>(reader)?;
+ let modes = range
+ .map(|_| MtDeserialize::mt_deserialize::<DefCfg>(reader))
+ .try_collect()?;
+
+ Ok(Self { current, modes })
+ }
+}
+
/*
-TODO: rustify
+TODO: rustify this
var DefaultMinimap = []MinimapMode{
{Type: NoMinimap},