1
0
Fork 0
mirror of https://codeberg.org/demostf/parser.git synced 2026-06-03 10:14:06 +02:00

cvar write

This commit is contained in:
Robin Appelman 2021-07-18 15:11:19 +02:00
commit 35b0bb15ee
3 changed files with 33 additions and 6 deletions

4
Cargo.lock generated
View file

@ -79,9 +79,9 @@ dependencies = [
[[package]]
name = "bitbuffer"
version = "0.9.3"
version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e73a154e33cb38a0561f1ba4677c66f2dfd7db72300e49d81ab3125f54a6a01"
checksum = "2c41563e0f9c44c22a5a9f5246b51a6a566c7ede85c5d9d7668dddd6829a16ff"
dependencies = [
"bitbuffer_derive",
"err-derive",

View file

@ -58,7 +58,7 @@ impl BitWrite<LittleEndian> for ClassInfoMessage {
}
#[test]
fn test_say_text2_roundtrip() {
fn test_class_info_roundtrip() {
crate::test_roundtrip_write(ClassInfoMessage {
count: 8,
create: true,

View file

@ -1,8 +1,8 @@
use bitbuffer::{BitRead, BitReadStream, Endianness};
use bitbuffer::{BitRead, BitReadStream, BitWrite, BitWriteStream, Endianness};
use crate::ReadResult;
#[derive(Debug)]
#[derive(Debug, BitWrite, PartialEq)]
pub struct ConVar {
key: String,
value: String,
@ -20,9 +20,36 @@ impl<E: Endianness> BitRead<'_, E> for ConVar {
}
}
#[derive(Debug, BitRead)]
#[derive(Debug, BitRead, PartialEq)]
pub struct SetConVarMessage {
length: u8,
#[size = "length"]
vars: Vec<ConVar>,
}
impl<E: Endianness> BitWrite<E> for SetConVarMessage {
fn write(&self, stream: &mut BitWriteStream<E>) -> ReadResult<()> {
self.length.write(stream)?;
self.vars.write(stream)
}
}
#[test]
fn test_set_con_var_roundtrip() {
crate::test_roundtrip_write(SetConVarMessage {
length: 0,
vars: Vec::new(),
});
crate::test_roundtrip_write(SetConVarMessage {
length: 2,
vars: vec![
ConVar {
key: "foo1".to_string(),
value: "bar1".to_string(),
},
ConVar {
key: "foo2".to_string(),
value: "bar2".to_string(),
},
],
});
}