id Tech Forums

id Tech 4 (Doom3/Prey/Q4) => id Tech 4 Mod Coding => Topic started by: VGames on June 22, 2015, 09:53:39 PM

Title: Compiling Doom 3 SDK 1.3.1 with Visual C++ 2010 Express
Post by: VGames on June 22, 2015, 09:53:39 PM
Could somebody please point me in the right direction? It's been so long since I've messed around with this sucker. I can't for the life of me remember how to set it up properly for compiling a dll for Doom 3.
Title: Re: Compiling Doom 3 SDK 1.3.1 with Visual C++ 2010 Express
Post by: motorsep on June 22, 2015, 11:16:03 PM
Quote from: VGames on June 22, 2015, 09:53:39 PM
Could somebody please point me in the right direction? It's been so long since I've messed around with this sucker. I can't for the life of me remember how to set it up properly for compiling a dll for Doom 3.

Stock Doom 3 GPL release is crap. Try dhewm3. Also, MSVC 2013 Community Edition is free.
Title: Re: Compiling Doom 3 SDK 1.3.1 with Visual C++ 2010 Express
Post by: aphexjh on June 23, 2015, 01:28:47 AM
Hi VGames,

This tutorial worked for me.

http://www.moddb.com/company/apgsoftware/tutorials/how-to-compile-doom-3-with-visual-studio-2010 (http://www.moddb.com/company/apgsoftware/tutorials/how-to-compile-doom-3-with-visual-studio-2010)

agree with motorstep about using community if you can, but should be fine without as well. Hope this helps. The advantage to using a more complete form of vs is that it will include all the libraries out of the box, instead of having to d/l and link them yourself.

Title: Re: Compiling Doom 3 SDK 1.3.1 with Visual C++ 2010 Express
Post by: VGames on June 23, 2015, 08:05:53 AM
if I use dhewm3 would I be able to just copy all of my sdk files that I've made changes too into the game folder like I do now? Or would I have to cut and paste each piece of code that was added or altered one at a time?

I've tried using that tut but some of it is unclear. The part where it says to put the directories of the place u installed dxsdk kind of left me unsure of how it's supposed to be added. Am I supposed to overwrite everything in that little window or what?
Title: Re: Compiling Doom 3 SDK 1.3.1 with Visual C++ 2010 Express
Post by: motorsep on June 23, 2015, 08:57:57 AM
Wait a sec. So if you can't compile the engine, and you made C++ modifications, how on Earth do you know if they work or not?! Usually one would try building engine first, and once engine builds flawlessly, one begins modifying the code. Not other way around.
Title: Re: Compiling Doom 3 SDK 1.3.1 with Visual C++ 2010 Express
Post by: VGames on June 23, 2015, 10:05:25 AM
I'm that good.  8)

No it was just a small change recommended by somebody. Nothing game breaking. I'll look into it later when I get home. Thanks for the help.
Title: Re: Compiling Doom 3 SDK 1.3.1 with Visual C++ 2010 Express
Post by: motorsep on June 23, 2015, 10:28:04 AM
You can't copy over files into dhewm3 since they changed a few things around  (unrolled precompiled headers and that forced them to change a few includes and things). And since you say changes are minimal, you can just copy/paste your changes into dhewm3.
Title: Re: Compiling Doom 3 SDK 1.3.1 with Visual C++ 2010 Express
Post by: VGames on June 23, 2015, 11:34:42 AM
No no the changes I just made were minimal. My source is based off of the sikkmod source. My friend doomtrinity added more things having to do with secondary fire modes, dual weapon wielding, and so on. Plus many changes to the sikkmod code aswell. This isnt the first time I've built this source. It's just been so long since I did anything with it. I'm having trouble getting it going again. But I think I've figured it out. I just have to get home to try it out. Have u ever played my mod Perfected Doom 3?
Title: Re: Compiling Doom 3 SDK 1.3.1 with Visual C++ 2010 Express
Post by: VGames on June 23, 2015, 11:13:01 PM
Ok I've got it to start compiling but I'm getting errors that should not be there. This source use to compile with no issues at all. Here's the errors:



1>------ Skipped Build: Project: Game-d3xp, Configuration: Release Win32 ------
1>Project not selected to build for this solution configuration
2>------ Skipped Build: Project: MayaImport, Configuration: Release Win32 ------
2>Project not selected to build for this solution configuration
3>------ Build started: Project: Game, Configuration: Release Win32 ------
3>Compiling...
3>Player.cpp
3>Linking...
3>   Creating library ./ReleaseDLL/gamex86.lib and object ./ReleaseDLL/gamex86.exp
3>Player.obj : error LNK2019: unresolved external symbol "public: void __thiscall idGrabEntity::Update(class idPlayer *)" (?Update@idGrabEntity@@QAEXPAVidPlayer@@@Z) referenced in function "private: void __thiscall idPlayer::UpdateWeapon(void)" (?UpdateWeapon@idPlayer@@AAEXXZ)
3>Player.obj : error LNK2019: unresolved external symbol "public: void __thiscall idGrabEntity::Clear(void)" (?Clear@idGrabEntity@@QAEXXZ) referenced in function "public: void __thiscall idPlayer::Restore(class idRestoreGame *)" (?Restore@idPlayer@@QAEXPAVidRestoreGame@@@Z)
3>Player.obj : error LNK2019: unresolved external symbol "public: void __thiscall idGrabEntity::StartDrag(class idPlayer *,class idEntity *,int)" (?StartDrag@idGrabEntity@@QAEXPAVidPlayer@@PAVidEntity@@H@Z) referenced in function "public: void __thiscall idPlayer::PerformImpulse(int)" (?PerformImpulse@idPlayer@@QAEXH@Z)
3>Player.obj : error LNK2019: unresolved external symbol "public: void __thiscall idGrabEntity::StopDrag(class idPlayer *,bool)" (?StopDrag@idGrabEntity@@QAEXPAVidPlayer@@_N@Z) referenced in function "public: void __thiscall idPlayer::PerformImpulse(int)" (?PerformImpulse@idPlayer@@QAEXH@Z)
3>Player.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall idGrabEntity::~idGrabEntity(void)" (??1idGrabEntity@@UAE@XZ) referenced in function __unwindfunclet$??0idPlayer@@QAE@XZ$0
3>Player.obj : error LNK2019: unresolved external symbol "public: __thiscall idGrabEntity::idGrabEntity(void)" (??0idGrabEntity@@QAE@XZ) referenced in function "public: __thiscall idPlayer::idPlayer(void)" (??0idPlayer@@QAE@XZ)
3>./ReleaseDLL/gamex86.dll : fatal error LNK1120: 6 unresolved externals
3>Build log was saved at "file://c:\Doom3_SDK\src\Game\ReleaseDLL\BuildLog.htm"
3>Game - 7 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 1 up-to-date, 2 skipped ==========



If anybody is familiar with the Sikkmod source please help.
Title: Re: Compiling Doom 3 SDK 1.3.1 with Visual C++ 2010 Express
Post by: VGames on June 24, 2015, 12:48:09 AM
Figured it out. I needed to add some extra CPP and H files added to the source by Sikkpin. It's all good.