Work on the Retribution Engine was begun by Andrew Gardner in 1997, inspired by games such as Doom and Quake and also John Bradley’s ‘Tumbling Tie-Fighter’ demo program. The original aim was to create a game titled Corridors of Power. The first public release of the game occurred in March 1999 and consisted of a simple two-level demo of the game. The game and engine were regularly updated and generated much interest. The biggest comment was that game designers would like to use the engine to make their own levels and so Paul Moxon joined the project to develop a level editor in October 2000.

Post tutorial Report RSS How to compile doom 3 with visual studio 2010

I'm here to tell you how to compile the doom 3 engine know as id tech 4.

Posted by on - Intermediate Client Side Coding

Please thank eTiTan for this tutorial
From the very basic until the goal, compile successful the code ( Github.comdistribution, until now this have more than 400 forks).Here are the steps:
1. Download Visual Studio 2010.
(if you have visual studio 2010 professional listen to step 2 then skip to step 7 then skip to step 8.4 )
2. Download the DirectX SDK (june 2010).
3. Download the source (
4. Install the VC and the DXSDK.
5. Uncompress the code were you want.That’s the easy part, now let’s go to the code:
6. Open /doom3src/neo/doom.sln, the compiler told you that some errors for uncompatible folders, that does not matter.
6.1 Erase this folders (dlls,exes,libs), don’t have worth.
7. Go to DoomDLL Project -> right click -> Properties -> VC++ Directories -> left click over “Includes Directories” combobox and left click, , and paste ALL the address were yo have instaled the DXSDK (e.g. “C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include”), repeat for the “Library Directories” (e.g. C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x86).REMEBER!!!, even you have windows 7 64 bits, everything should be 32 bits based code.
8. Left Click on “doom” solution and click on “Build Solution” (Remember configure the build option to “Release”), Right? everything should be OK?, NO!!! some error appear…Let’s fix it…8.1 \neo\idlib\../tools/comafx/StdAfx.h(38): fatal error C1083: Cannot open include file: ‘afxwin.h’: No such file or directory, that CRAP!!!, this error is because VCExpress don’t come with the MFC Libraries, ok let’s put it…
that’s some many poeple try, but no one can do it, well it’s the solution…
8.2 Download that:
8.3 Uncompress and paste the “altmfc” folder on “C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC” or where you was installed the VCExpress, curiously, if you right click on “doom” solution and left click on “Debug Source Files” will see this folder was added much after you copy, as if it were “taked” before birth.OK, run well now? NO… some things still missing yet…
8.4 sound\snd_system.cpp(167): error C2664: ‘ALenum (ALubyte *)’ : cannot convert parameter 1 from ‘const char [16]‘ to ‘ALubyte *’”Change the line 167 on [ sound\snd_system.cpp ]From thiscommon->Printf( " kB total OpenAL audio memory used\n", ( alGetInteger( alGetEnumValue( "AL_EAX_RAM_SIZE" ) ) - alGetInteger( alGetEnumValue( "AL_EAX_RAM_FREE" ) ) ) >> 10 );To thiscommon->Printf( " kB total OpenAL audio memory used\n", ( alGetInteger( alGetEnumValue( (ALubyte *) "AL_EAX_RAM_SIZE" ) ) - alGetInteger( alGetEnumValue( (ALubyte *) "AL_EAX_RAM_FREE" ) ) ) >> 10 );Only need a simple cast.Ok, until here, it’s should compiled fine, but can appear two more errors:- "TypeInfo.exe is returning -1" or "EXEC : FATAL error : Couldn't load default.cfg"
Solution: copy the “base” folder is at the root of doom source code folder to “build/Win32/Release” folder created by the compiler, TypeInfo.exe need that for avoid errors.Look well…6> —— Initializing File System ——
6> Current search path:
6> C:\Users\Me\Desktop\id-Software-DOOM/base <– IMPORTANT!!!
6> game DLL: 0×0 in pak: 0×0
6> Addon pk4s:
6> file system initialized.
6> ————————————–
6>EXEC : warning : idFileSystemLocal::StartBackgroundDownloadThread: failed
6>EXEC : FATAL error : Couldn’t load default.cfg [ id-Software-DOOM ] Folder is where the compiler is lookin for default.cfg file, remember this…- Something About the LINKER
warning MSB8012: TargetName(DoomDLL) does not match the Linker's OutputFile property value (DOOM3), only need to clean an build again the solution, that’s all.Well, it’s all about this theme now, i’ll make other post to say other things


That mediafire link to ATL and MFC is broken and probably not strictly legal.
It's possible to get ATL and MFC from Microsoft for VS2010 express by downloading the Windows Driver Dev Kit!
On Windows 7 get version 7.1.0 from here:

Use 7zip or something to extract the ISO and then install the DDK.
You will have all the headers and libs needed to build Doom3 BFG.
Assuming the default install location you need to add the following to the include directories for the Doom3BFG project:
For the library directories you need to add:

I didn't need to make any mods to sound\snd_system.cpp as in the above tutorial with the latest git repo.
I did however need to disable some warnings in Model_md5.cpp:

static void TransformJoints( idJointMat *__restrict outJoints, const int numJoints, const idJointMat *__restrict inJoints1, const idJointMat *__restrict inJoints2 ) {

#pragma warning(disable:4189)

Reply Good karma Bad karma+1 vote

This comment is currently awaiting admin approval, join now to view.


This comment is currently awaiting admin approval, join now to view.

Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Invitation only
Send Message
Join company
Group watch
Related Groups
apgsoftware Developer