Before you read any further, this script is currently Linux only, perhaps OSX will work too but it's written in bash so I don't know if you can get it working with cygwin or what.
Unlike other existing SVN checkout solutions, NDT is very modular in it's approach to development. Rather than a top-down everything must update and everything must compile approach, NDT offers the flexibility of allowing you compile every individual part of Nexuiz independently. The engine (darkplaces), the compiler (fteqcc), the Nexuiz server, the Nexuiz menu, the Nexuiz client. Recently, I've just integrated the ability to checkout/update/compile NetRadiant.
All these things can be checked out/updated/compiled separately but ALSO together with a quick command (./ndt -u) making it an ideal solution to replace existing scripts if you have any interest in developing.
NDT was created with developers in mind. Because of this, it assumes you're going to be making code modifications and so it exports (by default) to two directories, nexuiz_vanilla and nexuiz_dev which use custom userdirs, ~/.nexuiz_vanilla and ~/.nexuiz_dev respectively.
Having this separation in code, means you can easily take advantage of the patching features I've included. --create_patch, --apply_patch and --revert_patch, see --help for more.
Even if you're not a developer, you can still take advantage of this script, pay attention mappers!. You don't have to install nexuiz for development, in fact, you can just use this script to install NetRadiant from SVN with the following commands:
- Code: Select all
./ndt --checkout_netradiant
./ndt --compile_netradiant
and to update in the future
- Code: Select all
./ndt --update_netradiant
./ndt --compile_netradiant
This program is still in early beta (0.7 as I'm writing this) but I plan on actively developing it as I learn more about QuakeC and developing for the game itself.
Here's a screenshot to better illustrate what the hell I'm doing:

I've checked the code into git, so my advice to you is to use git to stay updated. If you're on a ubuntu system, do something like the following:
- Code: Select all
sudo apt-get install git-core
mkdir ~/nexuiz_development/ && cd ~/nexuiz_development
git clone git://github.com/z/ndt.git
cd ndt
cp default.ndt.conf my.ndt.conf
gedit my.ndt.conf
edit the settings in my.ndt.conf to reflect your environment then:
- Code: Select all
sed -i 's/default.ndt.conf/my.ndt.conf/' ndt.sh
chmod +x ndt.sh
./ndt.sh -i
This will checkout, compile and export Nexuiz (and optionally NetRadiant) for you, "installing" your development environment.
Anytime you need to update the script, use the following command:
- Code: Select all
git pull
sed -i 's/default.ndt.conf/my.ndt.conf/' ndt.sh
To track progress of the project: http://github.com/z/ndt/