mirror of
https://codeberg.org/demostf/parser.git
synced 2026-06-04 02:24:12 +02:00
skip messages we dont care about
This commit is contained in:
parent
b9a92be010
commit
128bf1ceb2
17 changed files with 237 additions and 71 deletions
|
|
@ -1,4 +1,4 @@
|
|||
use bitstream_reader::{BitRead, LazyBitReadSized, LittleEndian};
|
||||
use bitstream_reader::{BitRead, LittleEndian};
|
||||
|
||||
use crate::{ReadResult, Stream};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
use bitstream_reader::{BitRead, BitSize, LazyBitRead, LittleEndian};
|
||||
|
||||
use crate::demo::message::Message;
|
||||
use crate::demo::vector::Vector;
|
||||
use crate::{Parse, ParserState, ReadResult, Result, Stream};
|
||||
use crate::demo::message::{Message, MessageType};
|
||||
use crate::demo::vector::Vector;
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct MessagePacket {
|
||||
|
|
@ -57,10 +57,13 @@ impl Parse for MessagePacket {
|
|||
|
||||
let mut messages: Vec<Message> = Vec::with_capacity(25);
|
||||
while packet_data.bits_left() > 6 {
|
||||
let message = Message::parse(&mut packet_data, state)?;
|
||||
match message {
|
||||
Message::Empty => {}
|
||||
_ => messages.push(message),
|
||||
let message_type = MessageType::parse(&mut packet_data, state)?;
|
||||
|
||||
if state.parse_message_types.contains(&message_type) {
|
||||
let message = Message::from_type(message_type, &mut packet_data, state)?;
|
||||
messages.push(message);
|
||||
} else {
|
||||
let _ = Message::skip_type(message_type, &mut packet_data)?;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ impl BitRead<LittleEndian> for UserCmdPacket {
|
|||
let tick = stream.read()?;
|
||||
let sequence_out = stream.read()?;
|
||||
let len: u32 = stream.read()?;
|
||||
let _ = stream.skip(len as usize * 8)?;
|
||||
let _ = stream.skip_bits(len as usize * 8)?;
|
||||
// TODO parse the packet data
|
||||
Ok(UserCmdPacket { tick, sequence_out })
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue