NDT - Nexuiz Development Toolz

Developer discussion of experimental fixes, changes, and improvements.

Moderators: Nexuiz Moderators, Moderators

NDT - Nexuiz Development Toolz

Postby [-z-] » Thu May 28, 2009 6:58 pm

NDT or Nexuiz Development Toolz is a set of bash helper functions I've been developing over the past three days to provide myself with a script that sandboxes Nexuiz for development, making up for the downfalls of some of the existing SVN checkout scripts.

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:
Image


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/
[-z-]
Site Admin and Nexuiz Ninja
 
Posts: 1794
Joined: Mon Nov 13, 2006 12:20 am
Location: Florida

Postby GreEn`mArine » Thu May 28, 2009 8:22 pm

very well, thanks for providing a real "non-hacky" solution of an update script for linux users!
IRC quote:
[kojn] I've been coming a bit more recently
[kojn] she took it the dirty way
GreEn`mArine
Forum addon
 
Posts: 1509
Joined: Tue Feb 28, 2006 9:33 pm
Location: Germany


Return to Nexuiz - Development

Who is online

Users browsing this forum: No registered users and 1 guest

cron