News:

One Minute Game Review by The Happy Friar: https://ugetube.com/@OneMinteGameReviews
Also on Rumble: https://rumble.com/c/c-1115371

idTech 4 (aka Doom 3 tech) Discord Server! https://discord.gg/9wtCGHa

Main Menu

Doom3.gpl (TTimo) and VS 2013.5 community edition

Started by bitterman, August 10, 2015, 07:45:41 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

bitterman

I have a laptop with windows 7 sp1, doom3.gpl source code (from TTimo, not BFG) and VS 2010 Express.

So on this config I can (and I do) build a doom3lite.exe (without MFC, ATL, DoomEdit, <Edit*> console commands etc).

In fact I build a release version w/o any inline tools.

But now I need build a "developer" verison with all inline stuff.

As I think it is possible in VS 2013 Community edition (with MFC, ATL etc).

So my questions:

1. It is possible?

2. Is VS2010E must uninstall before install VS2013CE?

3. Is laptop must have a internet access to install/registration/product key from VS2013CE.iso?
A key from installed VS2010E is valid?

4. Can I use /neo/doom.sln (perhaps for VS NET 2002) in VS2013CE or I must reconfigure it (make my own solution)? How to do this?

Thanks for any advise.


The Happy Friar

I don't think I tried the stock code with Community but 2013 community (now 2015 if you have win 10) DOES build the tools with the modified code I tried.

bitterman

#2
Ok, thanks.

My results is not impressive.

Yes, these IDE (2010e & 2013CE) can install together.

Yes, for 2013CE must have access to internet.
Yes, it have 30-days trial period and then need update (sign in with MS account).

Yes, it install/uninstall very long (~11 Gb).

Yes, it have "atlmfc" folder.

But no, I can't get original doom3.exe with tools.

I belive that dependences (MFC, ATL) in doom3.gpl are not so big.

But perhaps they are not compatible with new "atlmfc" or I compile it wrong.
(many syntax and other errors in afx* files).

I tried VS2013CE and both method for 2010e (with "altmfc" folder and with WinDDK "atl" "mfc42").
(http://www.moddb.com/company/apgsoftware/tutorials/how-to-compile-doom-3-with-visual-studio-2010)

I also try (don't ask me why) MBCS (MS multybyte lib) - it's a scary thing and I don't understand it :)

Now I'm very unhappy :(

The Happy Friar

I got the error
QuoteError    322    error C1189: #error :  The C++ Standard Library forbids macroizing keywords. Enable warning C4005 to find the forbidden macro.    C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\xkeycheck.h    250    1    Game

That's one I'm not familiar with, but it's the only error I got.

Not sure how to deal with that one.

bitterman

#4
Is this stock source code?
Some additional options?
Can you describe build process please?

The Happy Friar

I downloaded the stock code to my machine, loaded up Community 2013, loaded the SLN, let it convert & then compiled.

I want to point out that I have the edition that lets me compile Windows 8/Phone apps & also have the DX9 SDK installed. 

bitterman

#6
Thanks, Obi-Wan Kenobi. You're my only hope :)

***************************

Some "atl..." and "MBCS..." problems.

Why debug files are linked with VC 10?


****************************

Ok, I see missed include files in C:\Program Files (x86)\Windows Kits\8.0 and C:...\Microsoft SDKs'Windows\v7.0A\Include.

Try to add this path in Properties->VC++ directories->Include

bitterman


bitterman

Ok, I'm install vs2013ce w/o internet access and preinstalled WinSDK, so some registry variables and VC++ directories (e.g. WindowsSDKdir, _include) was incorrect.

And looks like manual fix can't resolve this problem.
Try to "Repair" option.

bitterman

#9
Ok, now I'm get only few errors.

"LINK1181: cannot open input file "nafxcw.lib".

But I can't find "nafxcw.lib" on my disk.

As I see this problem is still related with MFC version (_DEBUG or _UNICODE define).

afx.h:

#ifndef _UNICODE

#ifdef _DEBUG

#pragma comment(lib, "nafxcwd.lib")

#else

#pragma comment(lib, "nafxcw.lib")

#endif

#else

#ifdef _DEBUG

#pragma comment(lib, "uafxcwd.lib")

#else

#pragma comment(lib, "uafxcw.lib")

#endif

#endif


In DoomDLL -> Properties -> General I see options "Character Set", "Use of MFC", "Platform Toolset" and others.

The options set by default, and I don't sure about any changes.

The Happy Friar can you show me a printscreen of "DoomDLL Property Pages" (RMB on "DoomDLL" in Solution Explorer then "Properties") -> "Configuration Properties" (General and VC++ Directories as I think) please?


Ok, don't worry.

*******************************************

QuoteIn Visual Studio 2013 and later, the MBCS versions of the MFC DLLs are available as a free add-in to Visual Studio from the MSDN download site. For more information, see MFC MBCS DLL Add-in.

https://msdn.microsoft.com/en-us/library/ey142t48%28v=vs.120%29.aspx

https://www.microsoft.com/en-us/download/details.aspx?id=40770

http://wiki.openttd.org/Compiling_on_Windows_using_Microsoft_Visual_C++_2012

bitterman

#10
Done!

I'm happy almost like Friar (thanks!) :)

A important option is "Properties -> General -> Platform Toolset"
(it must be v120_xp for WindowsXP and v120 for Windows 7, there is a deal with DX SDK version).

Quote====== Build: 4 succeeded, 0 failed, 0 up-to-date, 0 skipped =========

0 errors, ~173 warnings (most about MBCS deprecated).

:) :) :)




motorsep

Good job!

Now you just need to write a tutorial about that ;)

bitterman

Well, all as say The Happy Friar except mbcs add-in (see links above).
Other things are my mistakes by incorrect installation MSVC.

The Happy Friar

Bringing the topic back from the dead!  :)

MSVC Community 2015 wants to give me errors saying "S_COLOR_RED" & "SOURCE_CODE_BASE_FOLDER" not found.  They're defined in str.h & license.h, respectively.  Both headers are included but don't seem to be read.  Has anyone else tried the GPL code (not a fork, want to tools to compile) in Community 2015?

The Happy Friar

Well, I just tried adding a space in the line.
Was
idLib::common->Printf( "   simd->Memset() "S_COLOR_RED"X\n" );
changed to
idLib::common->Printf( "   simd->Memset() " S_COLOR_RED"X\n" );
it eliminated the errors related to s_color_red & source_code_base_folder.  Go figure. :?