How can I build and run Doom 3 from source in Windows?

cloudraven
  • How can I build and run Doom 3 from source in Windows? cloudraven

    I am trying to build and run Doom 3 from the open source release in order to better understand how the engine works. Unfortunately I am not able to run the game from the binary I built. I just get the console, but cannot run the actual game.

    Here is what I did:

    1. Downloaded the source code from the game repo
    2. Downloaded and installed the DirectX SDK
    3. Purchased, downloaded and installed Doom 3 from Steam
    4. Open the solution in the new folder using VS2010 SP1
    5. Built the project
    6. Ran it

    The doom solution by default on the debug settings sets the command line to refer to the default steam doom3 installation path. This is the default command line arguments used to run the project from vstudio.

    +set fs_basepath "C:\Program Files (x86)\Steam\steamapps\common\doom 3" +set com_allowConsole 1 +set si_pure 0

    Doing that resulted in the console opening with the following log:

    DOOM 1.3.1.1304 win-x86 Jan 23 2012 00:50:27
    1596 MHz Intel CPU with MMX & SSE & SSE2 & SSE3 & HTT
    8176 MB System Memory
    0 MB Video Memory
    Winsock Initialized
    Found interface: {A3B0D223-3776-4D39-B7AD-9053DDB2E8D5} Broadcom NetLink (TM) Gigabit Ethernet - 0.0.0.0 NULL netmask - skipped
    Found interface: {8FBA30BE-8F70-40B5-8C79-C32E8E1E74B8} Bluetooth Device (Personal Area Network) - 0.0.0.0 NULL netmask - skipped
    Found interface: {80300E42-A240-45A3-97C5-261C0ED3B93B} Intel(R) WiFi Link 5300 AGN - 192.168.1.111/255.255.255.0
    Sys_InitNetworking: adding loopback interface
    doom using MMX & SSE & SSE2 & SSE3 for SIMD processing
    enabled Flush-To-Zero mode
    enabled Denormals-Are-Zero mode
    ------ Initializing File System ------
    Loaded pk4 C:\Program Files (x86)\Steam\steamapps\common\doom 3\base\game00.pk4 with checksum 0x29cdb978
    Loaded pk4 C:\Program Files (x86)\Steam\steamapps\common\doom 3\base\game01.pk4 with checksum 0x51c6981f
    Loaded pk4 C:\Program Files (x86)\Steam\steamapps\common\doom 3\base\game02.pk4 with checksum 0xf3ec6f7
    Loaded pk4 C:\Program Files (x86)\Steam\steamapps\common\doom 3\base\game03.pk4 with checksum 0x5d4230ea
    Loaded pk4 C:\Program Files (x86)\Steam\steamapps\common\doom 3\base\pak000.pk4 with checksum 0x28d208f1
    Loaded pk4 C:\Program Files (x86)\Steam\steamapps\common\doom 3\base\pak001.pk4 with checksum 0x40244be0
    Loaded pk4 C:\Program Files (x86)\Steam\steamapps\common\doom 3\base\pak002.pk4 with checksum 0xc51ecdcd
    Loaded pk4 C:\Program Files (x86)\Steam\steamapps\common\doom 3\base\pak003.pk4 with checksum 0xcd79d028
    Loaded pk4 C:\Program Files (x86)\Steam\steamapps\common\doom 3\base\pak004.pk4 with checksum 0x765e4f8b
    Loaded pk4 C:\Program Files (x86)\Steam\steamapps\common\doom 3\base\pak005.pk4 with checksum 0x8ffc3621
    Loaded pk4 C:\Program Files (x86)\Steam\steamapps\common\doom 3\base\pak006.pk4 with checksum 0x95b65ab
    Loaded pk4 C:\Program Files (x86)\Steam\steamapps\common\doom 3\base\pak007.pk4 with checksum 0x666bdb3c
    Loaded pk4 C:\Program Files (x86)\Steam\steamapps\common\doom 3\base\pak008.pk4 with checksum 0x23ae5993
    Current search path:
    C:\Program Files (x86)\Steam\steamapps\common\doom 3/base
    C:\Program Files (x86)\Steam\steamapps\common\doom 3\base\pak008.pk4 (3 files)
    C:\Program Files (x86)\Steam\steamapps\common\doom 3\base\pak007.pk4 (38 files)
    C:\Program Files (x86)\Steam\steamapps\common\doom 3\base\pak006.pk4 (48 files)
    C:\Program Files (x86)\Steam\steamapps\common\doom 3\base\pak005.pk4 (63 files)
    C:\Program Files (x86)\Steam\steamapps\common\doom 3\base\pak004.pk4 (5137 files)
    C:\Program Files (x86)\Steam\steamapps\common\doom 3\base\pak003.pk4 (4676 files)
    C:\Program Files (x86)\Steam\steamapps\common\doom 3\base\pak002.pk4 (6120 files)
    C:\Program Files (x86)\Steam\steamapps\common\doom 3\base\pak001.pk4 (8972 files)
    C:\Program Files (x86)\Steam\steamapps\common\doom 3\base\pak000.pk4 (2698 files)
    C:\Program Files (x86)\Steam\steamapps\common\doom 3\base\game03.pk4 (2 files)
    C:\Program Files (x86)\Steam\steamapps\common\doom 3\base\game02.pk4 (2 files)
    C:\Program Files (x86)\Steam\steamapps\common\doom 3\base\game01.pk4 (2 files)
    C:\Program Files (x86)\Steam\steamapps\common\doom 3\base\game00.pk4 (2 files)
    game DLL: 0x0 in pak: 0x0
    Addon pk4s:
    file system initialized.
    --------------------------------------
    ----- Initializing Decls -----
    ------------------------------
    ------- Initializing renderSystem --------
    using ARB renderSystem
    renderSystem initialized.
    --------------------------------------
    5206 strings read from strings/english.lang
    Couldn't open journal files
    execing editor.cfg
    execing default.cfg
    execing DoomConfig.cfg
    couldn't exec autoexec.cfg
    5206 strings read from strings/english.lang
    ----- Initializing Sound System ------
    sound system initialized.
    --------------------------------------
    game using MMX & SSE & SSE2 & SSE3 for SIMD processing
    enabled Flush-To-Zero mode
    enabled Denormals-Are-Zero mode
    --------- Initializing Game ----------
    gamename: baseDOOM-1
    gamedate: Jan 23 2012
    Initializing event system
    ...473 event definitions
    Initializing class hierarchy
    ...142 classes, 191092 bytes for event callbacks
    Initializing scripts
    Compiled 'weapon_pistol::Raise': 3091.7 ms
    ---------- Compile stats ----------
    
    Memory usage:
         Strings: 79, 9648 bytes
      Statements: 67875, 1357500 bytes
       Functions: 2109, 250532 bytes
       Variables: 147376 bytes
        Mem used: 2476344 bytes
     Static data: 2277552 bytes
       Allocated: 3281600 bytes
     Thread size: 7068 bytes
    
    ...6 aas types
    game initialized.
    --------------------------------------
    -------- Initializing Session --------
    WARNING: idChoiceWindow::InitVars: gui 'guis/mainmenu.gui' window 'SNDBPrimary' references undefined cvar 's_driver'
    session initialized
    --------------------------------------
    --- Common Initialization Complete ---
    ------------- Warnings ---------------
    during DOOM 3 initialization...
    WARNING: idChoiceWindow::InitVars: gui 'guis/mainmenu.gui' window 'SNDBPrimary' references undefined cvar 's_driver'
    1 warnings
    
    Type 'help' for dedicated server info.
    

    I don't know if the warning I am getting is the problem or if there is something else. Also, this is when the configuration being used is "Dedicated release", but I have also tried with "Dedicated Debug". It is my understanding that the "dedicated" versions don't use OpenAL but is there any other difference?

    My main question is: How to just get this to run from source?

  • "Dedicated" in the configuration name refers to the game's dedicated multiplayer server. It's for sever operators exclusively, and runs an empty multiplayer server that exists solely to receive connections from other clients.

    You don't want that. Run a configuration that starts with "Debug" or "Release" instead of "Dedicated."

Tags
c++ windows
Related questions and answers
  • a crash. Here is the source code for the main class : https://github.com/balazsbela/OgreVisualizer/blob/master/src/VisualizerApplication.cpp#L221 Also the crashes seem to happen less often when I... also posted on Ogre3d forums but I received no responses. http://www.ogre3d.org/forums/viewtopic.php?f=2&t=63207 I also tried stackoverflow: https://stackoverflow.com/questions/5050147/how... /usr/lib/debug/lib/i686/cmov/librt-2.11.2.so...done. done. Loaded symbols for /lib/i686/cmov/librt.so.1 Reading symbols from /usr/lib/libdirectfb-1.2.so.9...(no debugging symbols found)...done. Loaded

  • (pBackBuffer, NULL, &rtv); pBackBuffer->Release(); // set the back buffer as the render target device->OMSetRenderTargets(1, &rtv, dsv); D3D10_VIEWPORT viewport; // create a struct to hold...Basically when placed in the same file this works fine, but if placed in separate files (and I have tested this) just after Init() is called, the pointer to ID3D10* device's value is suddenly... 2, 1, 3, 4, 0, 6, // side 2 6, 0, 2, 7, 5, 6, // side 3 6, 5, 4, 3, 1, 7, // side 4 7, 1, 5, 4, 5, 0, // side 5 0, 5, 1, 3, 7, 2, // side 6 2

  • }; // for the old/new screen command // Some nCurses setup int r = 0, c = 0; // current row and column (upper-left is (0,0)) const int nrows = 56, // number of rows in window ncols = 79... = initscr(); // curses call to initialize window and curses mode //cbreak(); // curses call to set no waiting for Enter key noecho(); // curses call to set no echoing //curs_set(a number); (0... theScreen("ascreen"); string splashScreen[24] = { // HERE"S THE SPLASH ! // 1 2 3 4 5 6 7 8

  • I'm trying to get a 2 pass post-processing system going in OpenGL in a cross-platform manor using FBOs. I'm starting the dev on mac OSX (since in the past I've found it the most finicky to get working of windows/linux/osx), I have a toggle to toggle between using the FBO(post-processing) and not. The shaders are working, but it seems the FBO didn't load the texture unit bound to it. The following...); glDrawArrays(GL_TRIANGLES, 0, 6); glBindTexture(GL_TEXTURE_2D, 0); } Tried everything I can think of or find in a FBO tutorial or have read about. I don't get any errors and it returns as complete

  • , In); // Get The Current Line ( NEW ) shaderData[i][0] = shaderData[i][1] = shaderData[i][2] = float(atof (Line)); // Copy Over The Value ( NEW ) } fclose... (1, &shaderTexture[0]); // Get A Free Texture ID ( NEW ) glBindTexture (GL_TEXTURE_1D, shaderTexture[0]); // Bind This Texture. From Now On It Will Be 1D... ) glColor3fv (&outlineColor[0]); // Set The Outline Color ( NEW ) // HERE I AM PARSING THE VERTICES AGAIN (NOT IN THE ORIGINAL FUNCTION) FOR THE OUTLINE AS PER

  • well... I'm building the animation system of my game engine (the skeletal and skinned animation stuff), and I came to a point where I added so much functionality in the frame and node structures... something that will be default values in most of the scene objects (I believe the scene won't be built from skinned hierarchy meshes but mostly static and even in some cases the animation is purely... know if my speculations are ok, as I don't have much experience with 3d animations yet. I want to make a well decision as any option I choose would require a lot of work to get it to render and I

  • i think i just found the solution. 1) the problem is that backbuffer surface and source surface are of different formats - that is why exception was thrown. 2) the image path needed double slash "C\\......." ;) ================================= I have been googling for a while but still cant come up with a solution to the problem - D3DXGetImageInfoFromFile function just doesn't load any images...(D3D_SDK_VERSION))) return false; std::wstring wsPath = L"C:\wood.bmp"; // path to the image D3DXIMAGE_INFO Info; if (FAILED(D3DXGetImageInfoFromFile(wsPath.c_str(), &Info

  • but something is breaking when it does tries to delete it. I don't know what the problem is. It seems to do this on other parts of my program that get strings from the file and place in std::string... compiler vs100 (vs10's compiler) settings. dbgheap.c Line:1322 Expression: _CrtISValidHeapPointer(pUserData) also when i use debugger none of my vars from this function show up after the error. ... = nodeChildren[i]->getCharData(); stringstream stm(data); stm >> matWorld.m[3][0]; stm >> matWorld.m[3][1]; stm >> matWorld.m[3][2]; matWorld.m

  • code in them... Right now for testing purposes, I just have the main loop call Level1 level1; and use the functions, but when I run the game I get a segmentation fault. This is the first time I've...I'm trying to write my level classes by having a base class that each level class inherits from...The base class uses pure virtual functions. My base class is only going to be used as a vector that'll have the inherited level classes pushed onto it...This is what my code looks like at the moment, I've tried various things and get the same result (segmentation fault). //level.h class Level

Data information