mirror of
https://codeberg.org/demostf/parser.git
synced 2026-06-04 02:24:12 +02:00
make gameevent parsing more backwards compatible
This commit is contained in:
parent
8ff5e5e6df
commit
ab87b34de8
6 changed files with 16415 additions and 4409 deletions
|
|
@ -52,14 +52,17 @@ impl Parse<'_> for GameEventMessage {
|
|||
}
|
||||
|
||||
impl Encode for GameEventMessage {
|
||||
fn encode(
|
||||
&self,
|
||||
stream: &mut BitWriteStream<LittleEndian>,
|
||||
_state: &ParserState,
|
||||
) -> Result<()> {
|
||||
fn encode(&self, stream: &mut BitWriteStream<LittleEndian>, state: &ParserState) -> Result<()> {
|
||||
let definition = state
|
||||
.event_definitions
|
||||
.iter()
|
||||
.find(|def| def.event_type == self.event_type)
|
||||
.ok_or_else(|| {
|
||||
ParseError::MalformedGameEvent(GameEventError::UnknownType(self.event_type_id))
|
||||
})?;
|
||||
Ok(stream.reserve_length(11, |stream| {
|
||||
self.event_type_id.write(stream)?;
|
||||
self.event.write(stream)
|
||||
self.event.write(stream, definition)
|
||||
})?)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue