diff options
author | Lizzy Fleckenstein <eliasfleckenstein@web.de> | 2023-02-08 02:46:10 +0100 |
---|---|---|
committer | Lizzy Fleckenstein <eliasfleckenstein@web.de> | 2023-02-08 02:46:10 +0100 |
commit | 79c91a91bbeb40533d5e837fc094f96c3d086a08 (patch) | |
tree | ededea2bcc941f9fd94237a3964d8b7ef3b6bead /src/to_clt/hud.rs | |
parent | 7b96b333d786c17d6d3093ffa8886ae145bfa9a6 (diff) | |
download | mt_ser-79c91a91bbeb40533d5e837fc094f96c3d086a08.tar.xz |
derive serialization for structs
Diffstat (limited to 'src/to_clt/hud.rs')
-rw-r--r-- | src/to_clt/hud.rs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/to_clt/hud.rs b/src/to_clt/hud.rs index c7a206a..f0598a9 100644 --- a/src/to_clt/hud.rs +++ b/src/to_clt/hud.rs @@ -109,6 +109,22 @@ pub struct MinimapMode { pub scale: u16, } +#[mt_derive(to = "clt", custom)] +pub struct MinimapModePkt { + current: u16, + modes: Vec<MinimapMode>, +} + +impl MtSerialize for MinimapModePkt { + fn mt_serialize<C: MtCfg>(&self, writer: &mut impl Write) -> Result<(), SerializeError> { + C::write_len(self.modes.len(), writer)?; + self.current.mt_serialize::<DefaultCfg>(writer)?; + for item in self.modes.iter() { + item.mt_serialize::<DefaultCfg>(writer)?; + } + Ok(()) + } +} /* TODO: rustify |