Rust parser for valve bsp files.
Currently only supports the tf2 version of bsp files, but adding other sourcemod variants should be fairly straight forward.
fn main() -> Result<(), vbsp::BspError> {
let data = std::fs::read("maps/cp_steel.bsp")?;
let bsp = vbsp::Bsp::read(&data)?;
println!("{:?}", bsp);
Ok(())
}
This project is adapter from the quake bsp parser and wouldn't be possible without information from the source engine wiki.