The Game Creators
The Game Creators Home Click to Login
  Hot: Official TGC CompetitionLee is tweeting!July NewsletterSmart PackerBox2DWeb Hosting SurveyDGS BonanzaFPS Creator Bonanza;
The Game Creators
Dark GDK / No multiplayer.lib please. How to make a dummy multiplayer.lib

Go to the first page of this board Return to the Forum Menu Post Message
4 Messages - Page   of 1   
Bookmark and Share Search the Forum

Author Message
Todd Riggins

User


Joined: Fri Oct 29th 2004
Location: Texas, USA
Posted: 10th Nov 2008 17:57     Edited: 6th Aug 2009 03:11     | link | toggle

Hi, now the new 7.0 upgrade for the gdk has come out, I went to reinstall the gdk. I forgot about the frustrating prerequisites of needing an old directx verision to use this. I can't no longer simply place the old dplayx.lib in the libs folder to make it stop giving me errors that it cant find certain networking related functions. Dunno why... something about a bad format...
All that happens because I choose to keep up with latest DirectX SDK technology and have the latest DX SDK installed.

Anyways, to the main point! How to make a dummy multiplayer.lib!

Create a new visual studio 2008 "Win32 Project", named "multiplayer". Make sure before you create the new project, that in the application settings, you select "Static Library". Then Press "finish".

Here's my multiplayer.cpp code...
+ Code Snippet

After compiling it, you will want to place your new multiplayer.lib in the DarkGDK -> lib -> vs9 directory. BUT FIRST, make sure you rename the old multiplayer.lib or copy it to a safe folder so you dont loose it. Now you should be able to use DarkGDK with the latest version of the DirectX SDK installed on your machine.

--------------
UPDATE[August 6, 2009]: For some reason I was getting some kind of warning with my dummy multiplayer.lib. Doesn't matter what it was. I just recompiled it a bit different this time. Works a charm now. Different how?

Like above except on the page where you select it to be static library, make sure you have nothing else checked( ie: make sure the precompiled headers is NOT checked ).

So this time you will not have the #include "stdafx.h" code generated. good. So rest of code is the same:

+ Code Snippet

When I compile this code this way, my seperate Dark GDK project will say this to me:
multiplayer.lib(main.obj) : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance

The is because as default for my Visual Studio 2008 Standard, it has link time code generation turned on. That allows a program that uses a library with that turned on to optimize the library as it sees fit. Forget that. Do this:

In the Configuration Options-> C/C++ -> Optimizations window: Set Whole Program Optimization to No. Then if you want, Set Faver Size Or Speed to either or neither. I would set it to size because it has nothing really to optimize for speed. Now when I compile my dummy muliplayer.lib, I get no warnings what so ever with my Dark GDK projects. Hoorah!

--------------

Well, on a side note. I see other people had this problem as I look through old threads. After making the dummy multiplayer.lib to stop the nutty errors, I got this specific error:
1>LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library
... basically needing me to set /NODEFAULTLIB:msvcrtd.lib. I placed "/NODEFAULTLIB:msvcrtd.lib" in the configuration properties -> Linker -> Command Line -> Additional Options. Just in case somebody else runs into that problem.

Now it runs without errors for me. That multiplayer dll really needs to be ditched, IMHO. It uses old unsecure DirectX network technology. At least give us an option to disable it somehow. Heck, Michael P's MikeNet library could be used in place of it. Or even better, TGC hires Michael P to create a new DarkNETWORK dll. That would be cool. [ EDIT: Wow, I said that before DarkNet officialy came out! Had no idea... ]

----------------------------
UPDATE[April 29, 2009]: No longer have an attachment of that library here. Due to a microsoft service update, the library errors out when compiling with it. The fix, simply compile your own dummy "multiplayer.lib" static library with the above code.

Back to top
www.exodev.com
Report this message as abusive
sydbod

User


Joined: Sat Jun 14th 2008
Location: Just look at the picture
Posted: 10th Nov 2008 18:34           | link | toggle

Let me get this straight.

The later versions of DirectX SDK no longer have support for the networking within DirectX DirectPlay ?????

Ouch, that hurts.

Is it true that they have also removed DirectDraw? ..... or don't we use DirectDraw within Dark GDK?

By the way, thanks for creating that library
Back to top
Report this message as abusive
Google Ad
Back to top
 
Todd Riggins

User


Joined: Fri Oct 29th 2004
Location: Texas, USA
Posted: 10th Nov 2008 18:45           | link | toggle

NP sydbod. I forget what version it was, but they no longer include the directplay library with the SDK distributions. I have no idea about DirectDraw stuff. Never really dealt with it ever since DirectX 8 came along.

Inspirational Music: Descent ][ Redbook Audio CD Soundtrack
Back to top
www.exodev.com
Report this message as abusive
Ood

User


Joined: Mon Aug 18th 2008
Location: Cyberspace
Posted: 22nd Nov 2008 19:23           | link | toggle

You just saved me a lot of headaches figuring out how to get around this problem
Back to top
Report this message as abusive

Go to the first page of this board Return to the Forum Menu Post Message
4 Messages - Page   of 1   
Search the Forum

Sorry, but it has been so long since anyone replied to this Thread that it has been automatically locked.
You may read it but not reply.

Forum Search

Enter a word or phrase to search our Forum for:

Thread Subject Search
Search Phrase:
Search Scope: Entire forum
Just this board
 
Google Forum Search
Search Phrase:
 
Apollo v2.02


Dark Game Studio
Privacy Policy AUP Top of Page