mirror of
https://codeberg.org/demostf/parser.git
synced 2026-06-04 10:34:11 +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,14 +1,15 @@
|
|||
use std::collections::HashMap;
|
||||
use std::iter::FromIterator;
|
||||
|
||||
use bitstream_reader::{BitRead, LittleEndian};
|
||||
use bitstream_reader::{BitRead, LittleEndian, BitSkip};
|
||||
|
||||
use crate::demo::gameevent_gen::GameEventType;
|
||||
use crate::demo::gamevent::{
|
||||
GameEvent, GameEventDefinition, GameEventEntry, GameEventValue, GameEventValueType,
|
||||
RawGameEvent,
|
||||
};
|
||||
use crate::{Parse, ParserState, ReadResult, Result, Stream};
|
||||
use crate::{Parse, ParserState, ReadResult, Result, Stream, ParseError};
|
||||
use crate::demo::parser::ParseBitSkip;
|
||||
|
||||
fn read_event_value(stream: &mut Stream, definition: &GameEventEntry) -> Result<GameEventValue> {
|
||||
Ok(match definition.kind {
|
||||
|
|
@ -52,6 +53,13 @@ impl Parse for GameEventMessage {
|
|||
}
|
||||
}
|
||||
|
||||
impl ParseBitSkip for GameEventMessage {
|
||||
fn parse_skip(stream: &mut Stream) -> Result<()> {
|
||||
let length: u16 = stream.read_sized(11)?;
|
||||
stream.skip_bits(length as usize).map_err(ParseError::from)
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct GameEventTypeId(u16);
|
||||
|
||||
|
|
@ -102,3 +110,5 @@ impl BitRead<LittleEndian> for GameEventListMessage {
|
|||
Ok(GameEventListMessage { event_list })
|
||||
}
|
||||
}
|
||||
|
||||
impl BitSkip<LittleEndian> for GameEventListMessage{}
|
||||
Loading…
Add table
Add a link
Reference in a new issue