wiki:Compiling Quagents

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

--

Compiling Quagents

Our code is derived from the http://www/ioquake3.org svn repository as of 23 June 2011. 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. Our code was updated to include revisions made in ioquake3 up to and including revision 2147 on August 23rd.

The best way to compile is to either use the install.sh bash script located in the trunk directory, which will invoke "make release tidy relocate", or to invoke "make release tidy relocate" yourself. The script will compile the executibles and vm code, remove unnecessary files, and copy some .pk3 files (zip archives) from other areas of the repository into the proper directory.

Linux

If you don't have SDL or cURL you'll need to get them. There are different libraries available for different distributions of linux, so do your best to install.

Following that, navigate to the directory you've placed quagents in and run install.sh, passing it one argument that is the directory where you want the final executables to go. Alternatively, you can enter the ioquake3 folder and run "make release tidy relocate" to generate an in-place build directory.

Either method will result in the creation of an executable called ioquake3.i386 or ioquake3.x86_64, which can then be run like any other executable (see Running Quagents).

Mac OSX

Run the install script at trunk/install.sh. If you do not have SDL installed, you may need to move the libSDL-1.2.0.dylib file from the trunk/ioquake3/code/libs/macosx into some location included in your PATH.

This will result in the creation of an executable called ioquake3.i386 or ioquake3.x86_64. Due to a bug in ioquake3 (existing in ioquake3 revision 2147 and many before), the Quake Virtual Machine does not work on MacOSX. You must disable running with the virtual machine by passing ioquake3.i386 (or ioquake3.x86_64) the following command line arguments: "+set sv_pure 0 +set vm_game 0 +set vm_cgame 0 +set vm_ui 0". This may be accomplished using the run.sh script. See Running Quagents

To compile the client scenarios, navigate to client/API/ and enter command "ant".

Windows

I've only attempted compilation under Windows using MinGW and Msys. To follow those instructions, you'll need both of those (get them at http://sourceforge.net/projects/mingw/). Additionally, you'll need the zip program (http://gnuwin32.sourceforge.net/packages/zip.htm) accessible from the command line, and SDL.dll in your path somewhere (get it at http://www.libsdl.org/download-1.2.php).

Installing MinGW: Download MinGW from the above link, and run the installation executable. During installation, check all the boxes except the non-C compilers (unless you want those) to install all the parts you need.

Installing zip: Download zip from the above link and run the installer. You will need zip.exe in your PATH - the easiest way to accomplish this if you don't know what you're doing is to copy it (and the .dlls it is with) to C:\Windows\. Alternatively, you can set up your environment variables to include zip's directory in the PATH through use of the Control Panel. You can test that zip is in your PATH by opening up a command line (Start->Run->cmd) and typing "zip". If a line pops up saying it's not a valid program or can't be found, it's not in the path. Otherwise, you should see several lines detailing what flags and parameters you can run zip with.

Installing SDL: Download SDL from the above link (you want the "runtime libraries") and make sure SDL.dll is in your path. Three ways to accomplish this are to move it into C:\Windows\ (or any other folder in the PATH), change your environment PATH variable to include the directory you place it in, or to wait until you've finished compiling and then place it in the same directory as the compiled quagents executable.

Compiling Quagents: Open a command line (Start->Run->cmd.exe or start C:/Windows/System32/cmd.exe). Navigate to where you placed msys by using the cd command, then run msys.bat. Usually msys will mount your drives by default, so in the new msys window, type cd "/c" and then navigate to where you've downloaded quagents from the svn (see Getting Quagents). Type "./install.sh DIRNAME" where DIRNAME is the directory where you want to place the final executables of quagents. Note that if this directory is protected (as many directories are in Windows 7), you'll need administrator privileges to place it there. It would probably be simpler in that case to specify a temporary directory (such as "C:\temp\winquagents" to put it into and then later move it to where you want it to be.

Running Quagents: Wherever you put it, the install script will begin to compile Quagents automatically and (if everything is successful), move it into the directory you specified. You will then have something like C:\temp\winquagents\ioquake3.mingw32.exe, which you can double click to run, or run from the command line to allow yourself to specify useful command line options such as "+map firstroom". See Running Quagents for more information.

Everything Else

You're currently on your own. Give the install script or the makefile a shot and see what happens.