Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
NDT - Nexuiz Development Toolz
05-29-2009, 12:40 AM (This post was last modified: 06-20-2009 02:57 PM by -z-.)
Post: #1
NDT - Nexuiz Development Toolz
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.

[size=large][b]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.[/b][/size]

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.


[b]NDT was created with developers in mind[/b]. 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.


[b]Even if you're not a developer, you can still take advantage of this script, pay attention mappers![/b]. 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:
./ndt.sh --checkout_netradiant
./ndt.sh --compile_netradiant

and to update in the future

Code:
./ndt.sh --update_netradiant
./ndt.sh --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:
[URL=http://pics.nexuizninjaz.com/viewer.php?file=9liowd2lx3rwur7lsun9.png][img]http://pics.nexuizninjaz.com/images/9liowd2lx3rwur7lsun9_thumb.png[/img][/URL]


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:

Install dependencies for Nexuiz:
Code:
sudo apt-get install build-essential xserver-xorg-dev x11proto-xf86dri-dev x11proto-xf86dga-dev x11proto-xf86vidmode-dev  libxxf86dga-dev libxcb-xf86dri0-dev libxpm-dev libxxf86vm-dev libsdl1.2-dev libsdl-image1.2-dev libsdl1.2debian-alsa subversion libclalsadrv-dev libasound2-dev libxext-dev zenity

Install git core and checkout ndt:
Code:
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:
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:
sed -i 's/my.ndt.conf/default.ndt.conf/' ndt.sh
git pull
sed -i 's/default.ndt.conf/my.ndt.conf/' ndt.sh


To track progress of the project: [url]http://github.com/z/ndt/[/url]
Inspire your neighbor, they'll inspire you back.

[url=http://maps.nexuizninjaz.com]maps.nn[/url] | [url=http://pics.nexuizninjaz.com]pics.nn[/url] | [url=http://chat.nexuizninjaz.com]chat.nn[/url] | [url=http://toolz.nexuizninjaz.com/cvar]2.5 cvar browser[/url]
Visit this user's website Find all posts by this user
Quote this message in a reply
05-30-2009, 12:55 PM (This post was last modified: 05-30-2009 01:25 PM by Moo.)
Post: #2
RE: NDT - Nexuiz Development Toolz
I'm gonna download this and try it out for netradiant. I'll bring back a post edit about how it works :). Thanks -z-!


EDIT: This is great. It updated and compiled NetRadiant all automagically. I'm about to compile the full Nexuiz. NDT is fully configurable, although you did it again in the default.ndt.conf file, -z-:

"#rootdir=/home/tyler/nn_dev/nexuiz # Root path of your Nexuiz development environment" :P

--Moo
[url=http://dojov2.nexuizninjaz.com][img]http://dojov2.nexuizninjaz.com/css/img/signature.png[/img][/url]
Visit this user's website Find all posts by this user
Quote this message in a reply
05-30-2009, 05:18 PM (This post was last modified: 05-30-2009 05:20 PM by -z-.)
Post: #3
RE: NDT - Nexuiz Development Toolz
# means commented out, rootidir was deprecated. Read the check-in log.

I left it there just in-case I found any bugs with the new automagic system, it'll probably be removed completely soon.


btw, when you upgrade NetRadiant with NDT, it'll automagically link to your latest checked out Nexuiz engine, given you did the checkout of Nexuiz with NDT.
Inspire your neighbor, they'll inspire you back.

[url=http://maps.nexuizninjaz.com]maps.nn[/url] | [url=http://pics.nexuizninjaz.com]pics.nn[/url] | [url=http://chat.nexuizninjaz.com]chat.nn[/url] | [url=http://toolz.nexuizninjaz.com/cvar]2.5 cvar browser[/url]
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump:


Contact Us | Nexuiz Ninjaz Home | Return to Top | Return to Content | Lite (Archive) Mode | RSS Syndication