This repository and this tool are only of interest for historical purpose.
The maintained navigation mesh generation code can now be found in Unvanquished repository:
The precious navmesh code was meant to be moved from this tool to the game itself because the only way for a game to get proper navmeshes after having modified model size or added or removed models is to get the navmeshes produced by the engine or the game itself using game settings.
The navmesh code itself is meant to live and get a bright future, in a more convenient place which is the game iself.
This tool hosting the navmesh code was meant to be left over once such migration would have been done. Which is now done.
This tool was a temporary hack. There was no effort to merge this tool into NetRadiant upstream and there will be be no effort done on that purpose in the future. The only project having used this tool stopped using it after having imported the navigation mesh generation code elsewhere.
Daemonmap was an external navigation mesh (navmesh) compiler for Unvanquished.
DaemonMap is a q3map2 fork from NetRadiant tree, with navmesh computation code by Fuma using recastnavigation.
Everything but navmesh code was removed but original file layout was kept, allowing code exchange with NetRadiant upstream if required.
The q3map2
tool from Xonotic's NetRadiant tree should be used for every other task done on maps like BSP compilation, visibility computation, light casting, etc.
The navmesh settings are hardcoded with Unvanquished models and sizes.
git clone --recurse-submodules https://github.com/Unvanquished/daemonmap.git
cd daemonmap
If you have standard needs and use well-known platform and operating system, you may try the provided easy-builder
script which may be enough for you:
./easy-builder
If everything went right, you'll find your daemonmap build in install/
subdirectory.
If you need to build a debug build (to get help from a developer, for example), you can do it that way:
./easy-builder --debug
By default, build tools and compilers are using the build/
directory as workspace.
This project uses the usual CMake workflow:
cmake -G "Unix Makefiles" -S. -Bbuild -DCMAKE_BUILD_TYPE=Debug
cmake --build build -- -j$(nproc) install
cmake -G "Unix Makefiles" -S. -Bbuild -DCMAKE_BUILD_TYPE=Release
cmake --build build -- -j$(nproc) install
daemonmap -game unvanquished -nav /path/to/maps/mapname.bsp
daemonmap --help
daemonmap --help nav