Using D3D8 in Latest SDK

Started by
7 comments, last by Evil Steve 15 years, 4 months ago
Hi, I'm having a bit of trouble compiling some D3D8 code. I followed some tutorials on D3D9 which were fine, then I decided I wanted to write the code using D3D8 so that I can port to my old XBOX. The original code started as... // Include DirectX Headers and Libs #include <d3d9.h> #include <d3dx9.h> #pragma comment (lib, "d3d9.lib") #pragma comment (lib, "d3dx9.lib") : : LPDIRECT3D9 m_D3D9; // The pointer to our Direct3D interface : Do stuff with m_D3D9... : End But when I try to use the old interface... LPDIRECT3D8 m_D3D8; // The pointer to our Direct3D interface I get... error C2146: syntax error : missing ';' before identifier 'm_D3D8' Isn't the SDK supposed to be backwards compatible? I've tried defining the version as 0x0800 and that made a mess and also tried #include "d3d8.h" but no joy. m_D3D9->QueryInterface only shows Direct3D9 versions. Any clues? I'm using the November 2008 SDK (most current) and VC++ 2008. Thanks Jonz
Advertisement
Did you include the D3D8 headers instead of the D3D9 headers?
The SDK no longer includes Direct3D8. I believe it hasn't been included for some time now.

EDIT: August 2007 was the last release to have it. This was released before VC++ 2008 was out...I would think it should still work though. However I'm reasonably sure that the Xbox SDK will only work with .NET 2003 and prior.
Great thanks, I've started downloading the DX8 SDK, that should sort it out.

I haven't yet tested the XBOX SDK, but hopefully it will work with VC++ 2008 as it *should* be backwards compatible.
Do you think the XDK will work with VC6?
You will not likely find much useful information concerning the XDK here, due to the NDA many developers are required to be under when they license it. You should probably direct your questions to developer support.
Quote:Original post by jonzy_x86
Do you think the XDK will work with VC6?
Considering no DirectX SDK for the past 4 years has supported VC6, a large number of other SDKs no longer support VC6, and VC6 being one of the worst compilers / IDEs "available", I'm going to say no.

There's almost no reason you should be using VC6 anyway, unless you only code in C, it really is a terrible terrible compiler. Visual Studio 2008 Express can do pretty much everything that VC6 can do, and the things it can't do (MFC is the only major one) you probably won't need. And it's free.

EDIT: Oh, you mean the original XBOX? Then maybe actually; I believe it was the only decent IDE around at that time. However, I don't know where you'd get a copy of VC6, it's over 10 years old.
Yeah, I still got my trusty old compiler that I bought years ago, which I still like to use when I cannot be bothered converting to wchar_t and all the other problems you get when converting to .NET or when running old tutorials like LaMothe etc.
Quote:Original post by jonzy_x86
Yeah, I still got my trusty old compiler that I bought years ago, which I still like to use when I cannot be bothered converting to wchar_t and all the other problems you get when converting to .NET or when running old tutorials like LaMothe etc.
You just need to change one project setting to use the multi-byte character set, you don't need to change everything to unicode.

This topic is closed to new replies.

Advertisement