wiki:Compiling Quagents

Version 10 (modified by jherwitz, 13 years ago) (diff)

--

Compiling Quagents

So you've got the source code and are looking to compile it so that it runs in sweet native glory.

Our code is derived from the http://www/ioquake3.org svn repository as of 23 June 2011.

    svn co svn://svn.icculus.org/quake3/trunk ioquake3

Possibly this was revision 2053. There doesn't appear to a tag or branch in the repo corresponding to exactly the code used for the available binaries, which simply say "built from Subversion 1.36 branch." The branch viewed in TRAC shows no recent changes.

Linux

According to ioquake3's website, you need SDL and the associated development packages, but I've never had to do anything for this step under Linux. Perhaps I was already set up? Well, anyways, that issue aside, just run make and then copy the assets files (as described below).

It seems that GNU make on some distros expects to use yacc for .y files when GNU bison is the modern standard. We modified the ioquake3 Makefile to do the right thing.

Mac OSX

There's another shell script to compile for OSX in the top level directory, and it seems to compile fine up until SDL. I don't think I did the right thing to install SDL. :( Maybe someone who has clocked more than 2 hours on a Mac in their life can help me on this one...

Windows

Working on it. Looks like the best solution is MinGW and the make. Try http://wiki.ioquake3.org/Building_ioquake3, and the ioquake3 readme.

Everthing Else

You're currently on your own, sorry. Give the makefile a shot and see what happens.

*Copy Assets Files*

[This needs to be elaborated -gf]

Quagents3 looks for the majority of its assets in .pk3 (zip) files located in the "build/release-*-*/quagents3 folder (when running basic Quagents3). You can also run Quagents3 with the Team Arena mod, in which case it will look for assets there (build/release-*-*/missionpack). The makefile automatically packages all virtual machine code into a quagents_vm.pk3 file when you compile, but you will have to copy art assets and the like from the openarena_assets and urochester_assets directories.

So for example,

	cp ~/quagents/trunk/openarena_assets/* ~/quagents/trunk/ioquake3/build/release-linux-i386/quagents3/
	cp ~/quagents/trunk/urochester_assets/* ~/quagents/trunk/ioquake3/build/release-linux-i386/quagents3/
	cp ~/quagents/trunk/openarena_assets/* ~/quagents/trunk/ioquake3/build/release-linux-i386/missionpack/
	cp ~/quagents/trunk/urochester_assets/* ~/quagents/trunk/ioquake3/build/release-linux-i386/missionpack/