mirror of
https://codeberg.org/icewind/sourcenav.git
synced 2026-06-03 18:24:10 +02:00
parsing of SourceEngine .nav files
- Rust 97.9%
- Nix 2.1%
| .forgejo/workflows | ||
| benches | ||
| data | ||
| src | ||
| .envrc | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| README.md | ||
SourceNav
parsing of SourceEngine .nav files
Usage
This library is currently focused on getting the z-height from an x/y coordinate in a map and the api is tailored towards that usage. For other usages the raw navigation areas are exposed.
use sourcenav::get_quad_tree;
use std::fs::File;
use std::io::BufReader;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut file = BufReader::new(File::open("data/pl_badwater.nav")?);
let tree = get_quad_tree(&mut file)?;
assert_eq!(220.83125, tree.find_best_height(320.0, -1030.0, 0.0));
Ok(())
}
Credits and Licence
This library is largely based on gonav, a
parser for .nav files written in Go and is licenced under AGPL-3.0.