#path-finding #world-of-warcraft

namigator

Rust bindings for the namigator pathfinding library for World of Warcraft

1 unstable release

0.1.0 Oct 10, 2024

#472 in Game dev

Download history 130/week @ 2024-10-06 29/week @ 2024-10-13

159 downloads per month

MIT/Apache

4MB
86K SLoC

C++ 46K SLoC // 0.2% comments C 27K SLoC // 0.3% comments Python 10K SLoC // 0.1% comments Rust 2K SLoC // 0.0% comments Forge Config 38 SLoC Shell 25 SLoC // 0.3% comments INI 15 SLoC // 0.3% comments

namigator

Crate containing Rust bindings for the namigator pathfinding library for World of Warcraft version 1.12.x, 2.4.3.8606, and 3.3.5.x.

Usage

Add the crate with the required features:

cargo add --features 'vanilla tbc wrath' namigator

Then read the docs.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


lib.rs:

Rust bindings for the namigator World of Warcraft pathfinding library.

Bindings usable for any version of World of Warcraft.

let data_path = "/WoW3.3.5/Data";
let output_path = "/output";
let threads = 8;

build_bvh(output_path, data_path, 8)?;
build_map(data_path, output_path, "Azeroth", "", threads)?;

let mut azeroth = PathfindMap::new(output_path, "Azeroth")?;
azeroth.load_all_adts()?;
let (zone, area) = azeroth.get_zone_and_area(-8949.95, -132.493, 83.5312)?;
assert_eq!(zone, 12);
assert_eq!(area, 9);

Dependencies

~9.5MB
~223K SLoC