Compiling FTEQW For Dummies

From FTE
Revision as of 16:19, 19 November 2005 by Moodles (talk | contribs)

Jump to: navigation, search

Key

- CVS: abbreviated for Concurrent Version System
- Binary: A binary is the executeable that is produced from the sourcecode (fteqw.exe for example)
- Sauce code: Don't squeeze the bottle too hard or you'll squirt sauce everywhere.
- VC++: Visual C++, referring to a program inside Microsoft Visual Studio.
- gcc: A free linux compiler
- mingw: A free windows compiler
- cygwin: Another free windows compiler
- Build: Refers to the process of compiling the sauce code.
- msvc: abbreviated for Microsoft Visual C++
- Compiling: Refers to the process of turning the sauce code into machine code, it's like putting a slice of cheese on bread, but you have to be careful not to but too much sauce code in your sandwich or else cows will be pissed at you for putting too much sauce on their hardship involvesd in making that cheese, well anyway they will come down and make you eat pies made from their hearts.... oh oh right i forgot thats what pies are realy made of.

Downloading The Source Code

All

The FTE sourcecode is stored on a CVS server.

You can manually view the FTE sourcecode through the webbased CVS client here

Windows

To download the FTE sourcecode from the CVS server, you will need a CVS client. I personally recommend TortoiseCVS for Windows.

Alittle info about Tortoise CVS:
"TortoiseCVS lets you work with files under CVS version control directly from Windows Explorer. It's freely available under the GPL.
With TortoiseCVS you can directly check out modules, update, commit and see differences by right clicking on files and folders within Explorer. You can see the state of a file with overlays on top of the normal icons within Explorer. It even works from within the file open dialog."

Now you have a CVS client. I would suggest making a new folder (usually on the root of the drive is nice and easy to find), name it whatever you like ("sourcecode" would be good).. so now you probably have c:\sourcecode\

Go into this folder, right click anywhere inside it and you should have a "CVS Checkout" option, click that.

- There will be a box for CVSROOT, put this in: ":pserver:anonymous@cvs.sf.net:/cvsroot/fteqw" (without the quotes)
- Next, there is a box for Module, put this in: "engine" (without the quotes)
- Hit OK, and now it should start downloading the source code. It will take afew minutes.

!FAQ: (q) DUDE WTF IS A MODULE?
(a) It's CVS speak, visit http://cvs.sourceforge.net/viewcvs.py/fteqw , you will notice some options:
- CVSROOT (ignore it)
- engine (is where fteqw is)
- fteqtv (is where the fte quaketv proxy)
- plugins (is where the fteqw plugins reside)
- quakec (is where the qcc stuff is)
- sourceforge (ignore it)

Compiling The Source Code

Windows

Note: FTE requires "ml.exe" which a standard Microsoft Visual Studio 6.0 install lacks, you can download the Service Pack 5 or 6 which has "ml.exe"... put links to service pack, and link to the ml.exe thingo itself so people dont waste 100mb to get a little file :)
Point of Interest: The Intel C++ Compiler 9.0, tends to perform some magic and manages to increase the OpenGL rendering in FTE by 5 to 10 percent. Of course I have a Pentium 4 cpu, I tried the same compiled binary on my Duron 900 and it made bugger all difference between a binary compiled with Microsoft Visual Studio.

You have 2 choices, to use Microsoft Visual Studio 6.0 used for releases (build files are in /engine/ftequake/) or Microsoft Visual Studio .NET 2003 (build files are in /engine/dotnet2003/ and-or /engine/dotnet/)

MinGW and Cygwin should also compile the sourcecode for windows. It is worth noting that builds with these tools currently lack support for png, jpeg, ogg, and pk3s.

Load up your compiling program, load the "workspace" and find a option to "Build" the client.. it might take 10 minutes, once done it'll end up in your sourcecode folder (example: c:\sourcecode\)

Understanding Each Build


Win32 MRelease = Merged Build
Win32 GLRelease = OpenGL_Renderer
Win32 MinGLRelease = Minimal_GL_Build
Win32 Release = Software_Renderer

Win32 MDebug for example, is the MRelease thing with debugging thingos for developement use. Same is said about any of the builds which mention Debug, Win32 MinGLDebug is obviously the debug build of Win32 MinGLRelease