2D Game with DX9 SDK

Started by
26 comments, last by G24UK 15 years, 3 months ago
App built with the latest version of the SDK will work exactly like they did with old versions when it comes to XP: Release versions can be run on other CPU's if the appropriate redistributables (Visual C++ Runtime and DirectX Runtime) are installed, and debug versions will only work on PC's with the full SDK installed.
Advertisement
Quote:Original post by MJP
App built with the latest version of the SDK will work exactly like they did with old versions when it comes to XP: Release versions can be run on other CPU's if the appropriate redistributables (Visual C++ Runtime and DirectX Runtime) are installed, and debug versions will only work on PC's with the full SDK installed.
AFAIK there's no difference between compiling an app in debug or release mode when it comes to DirectX (Platform SDK is another matter). The debug version of D3DX is a static library (Or it was at one point certainly), so it won't require linking to any strange libraries.
a bit confused. so I should not install the latest SDK?

My requirements: this CD will be compiled and run on the XP machine, along with the already compiled release version from my PC

3. The source-code and artefacts for the program on CD or DVD.

4. The compiled executable able to be run from CD or DVD (dlls and other files may need to be included so make sure you test this).

5. The workspace and project files for Visual Studio so that the program can be easily compiled.

so if I get the latest SDK, compile the project, burn it onto a disk - the release executable will work on XP however the project files will not?

shall I continue with aug07 SDK and disabled debugging?
Quote:Original post by G24UK
a bit confused. so I should not install the latest SDK?

My requirements: this CD will be compiled and run on the XP machine, along with the already compiled release version from my PC

3. The source-code and artefacts for the program on CD or DVD.

4. The compiled executable able to be run from CD or DVD (dlls and other files may need to be included so make sure you test this).

5. The workspace and project files for Visual Studio so that the program can be easily compiled.

so if I get the latest SDK, compile the project, burn it onto a disk - the release executable will work on XP however the project files will not?

shall I continue with aug07 SDK and disabled debugging?
You always need the latest SDK. Enabling the debug runtimes just enables debugging of any DirectX application on your PC - including commercial games. It has (as far as I know), no effect on the compiled file - so it'll work fine on XP or Vista, no matter if that PC is using the debug or the release runtimes.
Quote:Original post by Evil Steve
Quote:Original post by MJP
App built with the latest version of the SDK will work exactly like they did with old versions when it comes to XP: Release versions can be run on other CPU's if the appropriate redistributables (Visual C++ Runtime and DirectX Runtime) are installed, and debug versions will only work on PC's with the full SDK installed.
AFAIK there's no difference between compiling an app in debug or release mode when it comes to DirectX (Platform SDK is another matter). The debug version of D3DX is a static library (Or it was at one point certainly), so it won't require linking to any strange libraries.


Oh it is a static lib? Never mind then. :P

What is important to me is the smooth running of the project files on the XP machine. If I make this game with the latest SDK on my PC and then try to compile it on the older SDK XP pc - Will it work?
Quote:Original post by G24UK
What is important to me is the smooth running of the project files on the XP machine. If I make this game with the latest SDK on my PC and then try to compile it on the older SDK XP pc - Will it work?
So long as the DirectX SDK isn't too old. Some of the functions (Only D3DX ones I think) have changed slightly.

Having said that, you should be using pretty much the same SDK on all machines you develop on. I have 4 PCs I develop on, all of them have different SDK versions, but all are from 2008 (Jan or Feb, March, June or July, and November). So long as the SDK versions aren't wildly different, you have a good chance the code will compile fine (Although it's not guaranteed).
I see. I think its best if I stick to the Aug 07 release as it is the latest DX9 release(correct me if Im wrong) since it will most likely be a lot diff to the Nov08 version
Quote:Original post by G24UK
I see. I think its best if I stick to the Aug 07 release as it is the latest DX9 release(correct me if Im wrong) since it will most likely be a lot diff to the Nov08 version
The latest DX9 release is the November 2008 SDK - it contains the headers and libraries for DX10 as well, but it still has the DX9 files.

I'd strongly recommend getting the latest SDK so you can enable the debug runtimes, they're absolutely invaluable. You can always install the November 2008 SDK on your XP and Vista machines.

I've used them already in the hour I've been programming tonight - trying to Reset() the device to go to fullscreen 640x480 on my widescreen laptop gives:
Direct3D9: :Subclassing window 00180768
Direct3D9: :StartExclusiveMode
Direct3D9: (ERROR) :Display mode is unsupported
Direct3D9: (ERROR) :Display mode is unsupported
Direct3D9: (ERROR) :Display mode is unsupported
Direct3D9: (ERROR) :Display mode is unsupported
Direct3D9: (ERROR) :Unable to set the new mode. CreateDevice/Reset Fails
Direct3D9: (ERROR) :ResetEx failed and ResetEx/TestCooperativeLevel/Release are the only legal APIs to be called subsequently
wheras Reset() returns the less than useful D3DERR_INVALIDCALL. Without the debug runtimes, I'd probably be trying all sorts of things before I discovered that this laptop can't do 640x480.
Quote:Original post by G24UK
I see. I think its best if I stick to the Aug 07 release as it is the latest DX9 release(correct me if Im wrong) since it will most likely be a lot diff to the Nov08 version


You will have no problems running an app on XP that you develop with the latest SDK, as long as you only use the DX9 portions.

This topic is closed to new replies.

Advertisement