Sign in to follow this  
sasho648

DirectX 9.0a SDK

Recommended Posts

DgekGD    374
You can download sdk from [url="http://www.microsoft.com/en-us/download/details.aspx?id=6812"]here[/url] . It includes everything you need for directx programming(9, 10, 11); Edited by DgekGD

Share this post


Link to post
Share on other sites
Tispe    1468
The community is split between the older guys saying "why don't you just make an installer" and the newer folks saying "I want a single executable that works on all WinXP machines regardless". Personally I like the latter when doing mini-projects that I may want to distribute to a small volume of people. I would hardly install a simple modelviewer, I would sure want one that is a single exe, no installs required.

Share this post


Link to post
Share on other sites
kubera    1587
[b]Hi![/b]

The old versions of DirectX has been removed from Mirosoft's servers.

I had the same problem. They would answer such question, but they rather do not publish them...
I aksed Chuck Waolburn, an expert at MS and he has suggested a newer version.
You would search the SDK through the Internet or ask someone only.

Share this post


Link to post
Share on other sites
Tispe    1468
[quote name='sasho648' timestamp='1354783660' post='5007681']
Excuse me but wtf? What is this doing with DirectX 9.0a?
[/quote]

The only reason I can think of to use the 2003 SDK for is to build a release that works for all early WinXP releases. The only way to get a 2012 SDK to work on the early WinXP releases is to accompny your program with an installer packed with redistibutables. Edited by Tispe

Share this post


Link to post
Share on other sites
kubera    1587
I am not sure, but WinXP SP2 is required from DIrectX June 2010 (because of Visual C++ 2010 runtime).
You would find something newer, that will be able to work on such platform.

Share this post


Link to post
Share on other sites
sasho648    78
No this is not my problem. I'm reverse engenering program which was compiled with this SDK so that's way I need it.
[quote]You would search the SDK through the Internet or ask someone only.[/quote]
Hwo to ask ? Any ideas ?

Share this post


Link to post
Share on other sites
sasho648    78
Why you think I have colleagues? [img]http://public.gamedev.net//public/style_emoticons/default/rolleyes.gif[/img]

Anyway if somebody have this SDK I'll be glad if he/she upload it and send me the link.

Share this post


Link to post
Share on other sites
sasho648    78
Thank you but I already have it (from one chinese site) and actually there're some mistmatches with the SDK used and this one. I'll show what actually I need defined:

[CODE]
class SYS_DI_ADAPTER
{
public:
SYS_DI_ADAPTER(DIDEVICEINSTANCEA const &, SYS_DI *, SYS_ERROR &);
~SYS_DI_ADAPTER();

SYS_ERROR GetSettings(SYS_DI_DEVICE_SETTINGS &);
SYS_ERROR SetSettings(SYS_DI_DEVICE_SETTINGS &);
SYS_DI_ADAPTER_OBJECT * FindObject(unsigned long, unsigned long)const;

private:
SYS_ERROR RegOpenKeyA(bool,HKEY &);
SYS_ERROR SetSettings_Registry(SYS_DI_DEVICE_SETTINGS &);
SYS_ERROR GetSettings_Registry(SYS_DI_DEVICE_SETTINGS &);
SYS_ERROR GetSettings_Default(SYS_DI_DEVICE_SETTINGS &);
SYS_ERROR GetAdapterInfo(SYS_DI *);
static int __stdcall DIEnumDeviceObjectsCallback(DIDEVICEOBJECTINSTANCEA const *,void *);
static int __stdcall DIEnumDeviceEffectsCallback(DIEFFECTINFOA const *, void *);

public:
DIDEVICEINSTANCEA m_0; //size 580
SYS_DI_ADAPTER_OBJECT* m_580; //size 4
DIDEVCAPS m_588; //size 44
SYS_DI_ADAPTER* m_632; //size 4
} ; //size of 636
class SYS_DI
{
public:
SYS_DI(SYS_COMMAND_LINE const &,HWND,SYS_ERROR &);
SYS_ERROR Create();
void ClearPS2PAD();
void CloseDevices();

SYS_ERROR Setup_Playback(char *);
SYS_ERROR Setup_Recording(char *);
BOOL LoadControl(CONTROLLER_TAG &);
SYS_ERROR CreateDI();
SYS_ERROR EnumDevices();
static int __stdcall DIEnumDevicesCallback(DIDEVICEINSTANCEA const *, void *);

SYS_COMMAND_LINE const & m_0; //size 4
HWND m_4; //size 4
BYTE m_8;
BYTE m_9;
HMODULE m_12; //size 4
HRESULT (*m_16)(
HINSTANCE hinst,
DWORD dwVersion,
REFIID riidltf,
LPVOID * ppvOut,
LPUNKNOWN punkOuter
); //size 4
LPDIRECTINPUT8A m_20; //size 4
unsigned char m_256;
unsigned char m_257;
HANDLE m_260; //size 4
HANDLE m_264; //size 4
SYS_DI_ADAPTER* m_268;
} ;
SYS_ERROR SYS_DI_ADAPTER::GetAdapterInfo(SYS_DI * a0)
{
SYS_ERROR result = SYS_ERROR_UNKNOWN;
__try {
LPDIRECTINPUTDEVICE8A v0 = 0;
if(a0->m_20->CreateDevice(m_4, &v0, 0)>=0)
{
DIDATAFORMAT tDat;
tDat./*m_24*/ = 24; //offset HERE!!!!!!!!!!!!!!!!
tDat.dwSize = sizeof(DIDATAFORMAT);
tDat.dwObjSize = sizeof(DIOBJECTDATAFORMAT);
tDat.dwFlags = 0;
tDat.dwDataSize = 0;
tDat.dwNumObjs = 0;
tDat.rgodf = NULL;
if(v0->SetDataFormat(&tDat)>=0)
{
if(v0->SetCooperativeLevel(a0->m_4, DISCL_EXCLUSIVE | DISCL_FOREGROUND)>=0)
{
memset(&m_588, 0, sizeof(DIDEVCAPS));
m_147 = sizeof(DIDEVCAPS);
if(v0->GetCapabilities(&m_588)>=0)
{
if(v0->EnumObjects(&DIEnumDeviceObjectsCallback, this, DIDFT_ALL)>=0)
{
sysDXListReverse(m_580);
if(v0->EnumEffects(&DIEnumDeviceEffectsCallback, this, DIDFT_ALL)>=0)
result = SYS_ERROR_NO;
}
}
}
}
}
RELEASE(&v0);
}
__except(1){}
return result;
}
[/CODE]

So what is this the DIDATAFORMAT structure is with 24 bytes size but the program code is trying to access the element in it at 24 offset (this mean there need to be one extra member). Is this defined only in DirectX 9.0a but not in DirectX 9.0?

And the other strange thing is this http://www.gamedev.net/topic/634619-enum-d3dformat-problem/. Where is these format defined? Actually there isn't such an enumeration member in DirectX 9.0. The program ReadMe file says that it was used DirectX 9.0a. So that's way I think this is my problem.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this