mirror of
https://codeberg.org/demostf/parser.git
synced 2026-06-03 10:14:06 +02:00
cvar write
This commit is contained in:
parent
a55217cc55
commit
35b0bb15ee
3 changed files with 33 additions and 6 deletions
4
Cargo.lock
generated
4
Cargo.lock
generated
|
|
@ -79,9 +79,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bitbuffer"
|
name = "bitbuffer"
|
||||||
version = "0.9.3"
|
version = "0.9.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "3e73a154e33cb38a0561f1ba4677c66f2dfd7db72300e49d81ab3125f54a6a01"
|
checksum = "2c41563e0f9c44c22a5a9f5246b51a6a566c7ede85c5d9d7668dddd6829a16ff"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitbuffer_derive",
|
"bitbuffer_derive",
|
||||||
"err-derive",
|
"err-derive",
|
||||||
|
|
|
||||||
|
|
@ -58,7 +58,7 @@ impl BitWrite<LittleEndian> for ClassInfoMessage {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_say_text2_roundtrip() {
|
fn test_class_info_roundtrip() {
|
||||||
crate::test_roundtrip_write(ClassInfoMessage {
|
crate::test_roundtrip_write(ClassInfoMessage {
|
||||||
count: 8,
|
count: 8,
|
||||||
create: true,
|
create: true,
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
use bitbuffer::{BitRead, BitReadStream, Endianness};
|
use bitbuffer::{BitRead, BitReadStream, BitWrite, BitWriteStream, Endianness};
|
||||||
|
|
||||||
use crate::ReadResult;
|
use crate::ReadResult;
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug, BitWrite, PartialEq)]
|
||||||
pub struct ConVar {
|
pub struct ConVar {
|
||||||
key: String,
|
key: String,
|
||||||
value: String,
|
value: String,
|
||||||
|
|
@ -20,9 +20,36 @@ impl<E: Endianness> BitRead<'_, E> for ConVar {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, BitRead)]
|
#[derive(Debug, BitRead, PartialEq)]
|
||||||
pub struct SetConVarMessage {
|
pub struct SetConVarMessage {
|
||||||
length: u8,
|
length: u8,
|
||||||
#[size = "length"]
|
#[size = "length"]
|
||||||
vars: Vec<ConVar>,
|
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(),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue