7 releases (breaking)

0.6.0 Aug 29, 2024
0.5.0 Dec 27, 2023
0.4.1 Dec 21, 2023
0.3.0 Dec 20, 2023
0.1.0 Feb 18, 2022

#248 in Game dev

Download history 19/week @ 2024-07-25 5/week @ 2024-08-01 139/week @ 2024-08-29 12/week @ 2024-09-12 25/week @ 2024-09-19 23/week @ 2024-09-26 11/week @ 2024-10-03

71 downloads per month
Used in tf-asset-loader

MIT license

110KB
3K SLoC

VBSP

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.

Example usage

fn main() -> Result<(), vbsp::BspError> {
    let data = std::fs::read("maps/cp_steel.bsp")?;
    let bsp = vbsp::Bsp::read(&data)?;
    println!("{:?}", bsp);

    Ok(())
}

See vbsp-to-gltf or vbspviewer for some more examples of how to use the bsp data.

TODO

  • smooth normals for displacements
  • smooth normals for faces

Credits

This project is adapted from the quake bsp parser and wouldn't be possible without information from the source engine wiki.

Dependencies

~11MB
~161K SLoC