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

fix gameevent list

This commit is contained in:
Robin Appelman 2019-03-02 19:32:23 +01:00
commit 6186fa2e8c

View file

@ -69,6 +69,7 @@ impl BitRead<LittleEndian> for GameEventDefinition {
name: entry_name, name: entry_name,
kind: entry_type, kind: entry_type,
}); });
entry_type = stream.read()?;
} }
Ok(GameEventDefinition { Ok(GameEventDefinition {
@ -82,9 +83,9 @@ impl BitRead<LittleEndian> for GameEventDefinition {
impl BitRead<LittleEndian> for GameEventListMessage { impl BitRead<LittleEndian> for GameEventListMessage {
fn read(stream: &mut Stream) -> ReadResult<Self> { fn read(stream: &mut Stream) -> ReadResult<Self> {
let count: u16 = stream.read_sized(9)?; let count: u16 = stream.read_sized(9)?;
let length: u16 = stream.read_sized(20)?; let length: u32 = stream.read_sized(20)?;
let data = stream.read_bits(length as usize)?; let mut data = stream.read_bits(length as usize)?;
let event_list_vec: Vec<GameEventDefinition> = stream.read_sized(count as usize)?; let event_list_vec: Vec<GameEventDefinition> = data.read_sized(count as usize)?;
let event_list = HashMap::from_iter( let event_list = HashMap::from_iter(
event_list_vec.into_iter().map(|def| (def.id, def)) event_list_vec.into_iter().map(|def| (def.id, def))
); );