DirectX 9.0a SDK

Started by
11 comments, last by sasho648 11 years, 4 months ago
Why you think I have colleagues? rolleyes.gif

Anyway if somebody have this SDK I'll be glad if he/she upload it and send me the link.
Advertisement
It is rather a different version of DX, but I have a legacy DirectX9 without "a" suffix.
If you need it, please let me know.
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:


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;
}


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.

This topic is closed to new replies.

Advertisement