Follow these steps to compile the Tremulous client on Windows:
1.) Go to http://www.mingw.org/download.shtml
2.) Go to http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
download svn-1.4.2-setup.exe (or the latest *-setup.exe for svn)
3.) If your papers are in order you can get the DirectX SDK from Microsoft
Alternatively, you can grab the two header files you need out of here from my website
4.) Install subversion, use default paths etc
5.) Install MSys, but NOT to a path with a space in it! That means NO "Program Files", put it in C:\MSys
6.) Install MinGW to your C:\MSys\MinGW (folder should exist already)
7.) Install the MinGW Windows API by extracting it into the C:\MSys\mingw directory. You can do this either with WinRAR
or through the MSys terminal using Unix tar commands:
- Move the win32-api tar file to the C:\MSys\mingw directory.
- Open the MSys link on your desktop or start C:\MSys\msys.bat
- Change to the mingw directory ('cd ../../mingw' should do it)
- Untar the tar file ('tar xzf w32api-3.6.tar.gz')
That should work though I personally used WinRAR.
8.) Install the DirectX SDK if you downloaded it and copy dinput.h and dsound.h from either the DirectX SDK include folder or from my archive to MSys\MinGW\include
9.) Download the latest Tremulous SVN code by opening a console, cd'ing to your MinGW home folder ('cd C:\MinGW\home\User'), and typing the SVN command:svn co -r 895 svn://svn.icculus.org/tremulous/trunk Tremulous
(if you feel confident, you can remove the '-r 895' part to download the latest SVN, but safety is not guaranteed)
If your code is not in a subdirectory of your MinGW home folder you will need to mount it (skip this otherwise):
- Open C:\MSys\etc\fstab.sample
- Comment out (add #s) to the two lines at the bottom
- Add your Tremulous SVN folder and mount point (e.g. 'C:\Tremulous /home/User/Tremulous')
- Open your mount point in the MSys directory tree and create the folder (MSys\home\User\Tremulous)
- Rename fstab.sample to fstab
10.) If you let it, MSys has created a shortcut on your desktop, start it; if not start C:\MSys\msys.bat
11.) cd to your Tremulous mount point ('cd Tremulous')
12.) If you don't want to compile the QVMs create a Makefile.local file that contains 'BUILD_GAME_QVM=0', otherwise add 'INCLUDE=' and 'LIBRARY=' (original fix
). Add 'USE_CURL=1' if you want WWW redirection support.
13.) Run make ('make' NOT 'mingw32-make' which doesn't work for some reason...)
14.) If all went well, your brand new tremulous.x86.exe and/or QVMs are waiting for you in build/release-mingw-x86/
I couldn't compile game QVMs this way as it would hang when running one of the Quake QVM tools. This wasn't a problem for me as I can build the QVMs from Linux.
There are several mysteries about this process. I don't understand why it compiled without the OpenAL or SDL libraries (though they may have defaulted to off). Also, why are two DirectX headers necessary when the game never links to DirectX libraries?
If you also compile on Linux in the same directory, you may receive an error about missing q3asm.exe or the like. The problem is you already have the binaries built so the Makefile doesn't think it needs to remake them (for a different platform!!). You need to 'make clean' under Linux or manually enter each directory and delete the Linux binaries.