Crate hldemo [] [src]

A parser for Goldsource demo files (this includes Half-Life and its mods) written in Rust using nom.

Supports parsing demos completely as well as just header and directory when the frame data isn't needed.

Examples

Check the examples folder for more complete program examples which output various data from demos.

extern crate hldemo;
extern crate nom;

use std::fs::File;
use std::io::Read;

let mut bytes = Vec::new();
let mut f = File::open("demo.dem")?;
f.read_to_end(&mut bytes);

let demo = match hldemo::parse::demo(&bytes) {
    nom::IResult::Done(_, demo) => Ok(demo),
    _ => Err("need more bytes or parsing failure"),
}?;

Modules

parse

Functions for parsing demos.

Structs

ClientDataData
ConsoleCommandData
Demo
DemoBufferData
Directory
DirectoryEntry
EventArgs
EventData
Frame
Header
MoveVars
NetMsgData
NetMsgInfo
RefParams
SoundData
UserCmd
WeaponAnimData

Enums

FrameData