1
0
Fork 0
mirror of https://codeberg.org/icewind/vbsp.git synced 2026-06-03 10:44:07 +02:00
No description
  • Rust 99.1%
  • Nix 0.9%
Find a file
2025-02-22 09:18:27 -08:00
.github/workflows update workflow 2025-02-15 17:02:38 +01:00
benches clippy fixes 2025-02-15 17:02:38 +01:00
examples move entities to game folder behind feature flag 2025-02-14 21:16:30 +01:00
fuzz flake update 2023-12-09 16:31:34 +01:00
src use array match syntax for Color::deserialize 2025-02-22 09:18:27 -08:00
.envrc add flake 2022-12-05 16:51:22 +01:00
.gitignore entity utf8 fixes? 2023-12-27 20:12:26 +01:00
Cargo.lock updates 2025-02-22 01:32:21 +01:00
Cargo.toml updates 2025-02-22 01:32:21 +01:00
flake.lock clippy fixes 2025-02-15 17:02:38 +01:00
flake.nix formatting 2025-02-15 17:02:38 +01:00
koth_bagel_rc2a.bsp valve bsp wip 2020-06-25 00:25:48 +02:00
LICENSE update readme 2020-06-26 19:50:06 +02:00
README.md formatting 2025-02-15 17:02:38 +01:00
test.bsp Improve speed, add lightmaps and light volumes, allow parsing entity section 2019-04-09 16:50:48 +02:00

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.