Crate dem

Source
Expand description

GoldSrc demo parser and writer

§Example

let mut demo = open_demo("./src/tests/demotest.dem").unwrap();

for entry in &mut demo.directory.entries {
    for frame in &mut entry.frames {
        if let FrameData::NetworkMessage(ref mut box_type) = &mut frame.frame_data {
            let data = &mut box_type.as_mut().1;
             
            if let MessageData::Parsed(messages) = &mut data.messages {
                messages.push(NetMessage::EngineMessage(Box::new(EngineMessage::SvcBad)));
            };
        }
    }
}

demo.write_to_file("./src/tests/demo2test.dem").unwrap();

Re-exports§

pub extern crate bitvec;

Modules§

bit
demo_parser
demo_writer
netmsg_doer
prelude
Prelude
types

Macros§

nbit_num
Writes a u32 into types::BitVec
nbit_str
Writes a string into types::BitVec

Functions§

bitslice_to_string
open_demo
Opens a demo
open_demo_from_bytes
parse_netmsg
Parses all bytes in data.msg for each demo frame.
write_netmsg
Should be used for replacing data.msg of each frame.