1
0
Fork 0
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:
Robin Appelman 2024-04-16 20:45:19 +02:00
commit ab87b34de8
6 changed files with 16415 additions and 4409 deletions

View file

@ -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)
})?)
}
}