NZ:P Toolbox (or just "Toolbox") is a small suite of glue code and infrastructure to support NZ:P developers, modders, and map makers in creation of content by leveraging our systems we use for both CI and local development.
Toolbox leverages Docker to set up a virtual environment separate from your host to do this, while also utilizing Python venvs to allow various development components to share a space and not interfere with one another.
Toolbox can do the following in its current state:
-
fetch: Clones various repositories under the nzp-team GitHub organization, setting up Python virtual environments where necessary. Runningfetchafter a clone will pull latest changes from main. This will run on first start-up if not manually invoked. -
new-map: Create a new.mapfile from the template in assets, already in a buildable state with some basic rooms built for testing. -
build-wads: Builds WAD texture archives in assets stored as PNG files insource/textures/wad/for easy modification or creation of texture WADs. -
build-map: Builds all or a specific.mapinto a BSP going through the entire map compilation process, including Spawn Zone generation. Special arguments are supported via.argfiles in the same path as the.map. This can easily be hooked up to TrenchBroom to never have to self-manage map compilation. -
build-quakec: Compiles latest QuakeC changes frommainbranch. Useful for mods or debugging.
1: Install Docker
2: Download this repository (releases are TBD and depend on growth and strategy changes)
3a: On systems with Bash or other UNIX shells:
./nzp fetch3b: On Windows:
nzp.cmd fetch4: Profit. You can use nzp help for the complete command list (including optional and required parameters)