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

better packet baseline encode?

This commit is contained in:
Robin Appelman 2021-07-20 21:24:24 +02:00
commit 9d8bf2da63

View file

@ -97,10 +97,17 @@ impl PacketEntity {
&'a self,
baseline: &'a [SendProp],
) -> impl Iterator<Item = &'a SendProp> + 'a {
// self.props.iter().filter(move |prop| {
// !baseline
// .iter()
// .any(|base_prop| base_prop.index == prop.index && base_prop.value == prop.value)
// })
self.props.iter().filter(move |prop| {
!baseline
baseline
.iter()
.any(|base_prop| base_prop.index == prop.index && base_prop.value == prop.value)
.find(|base_prop| base_prop.index == prop.index)
.map(|base_prop| base_prop.value != prop.value)
.unwrap_or(true)
})
}
}
@ -299,7 +306,7 @@ impl Encode for PacketEntitiesMessage {
send_table,
)?;
Self::write_update(
entity.diff_from_baseline(&baseline),
entity.props.iter().skip(baseline.len()),
stream,
send_table,
)?;