Jump to content

  • Log In with Google      Sign In   
  • Create Account


DirectX 9.0a SDK


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
12 replies to this topic

#1 sasho648   Members   -  Reputation: 137

Like
0Likes
Like

Posted 05 December 2012 - 01:27 PM

I know it's very old but I need it. I can't find it anywhere. Please help me! I need download link to it.

Sponsor:

#2 DgekGD   Members   -  Reputation: 374

Like
0Likes
Like

Posted 05 December 2012 - 01:45 PM

You can download sdk from here . It includes everything you need for directx programming(9, 10, 11);

Edited by DgekGD, 05 December 2012 - 01:45 PM.


#3 sasho648   Members   -  Reputation: 137

Like
0Likes
Like

Posted 05 December 2012 - 02:25 PM

No I need exactly DirectX 9.0a SDK from 2003. Not the new one. Please help!

#4 Tispe   Members   -  Reputation: 1024

Like
0Likes
Like

Posted 06 December 2012 - 01:29 AM

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.

#5 sasho648   Members   -  Reputation: 137

Like
-1Likes
Like

Posted 06 December 2012 - 02:47 AM

Excuse me but wtf? What is this doing with DirectX 9.0a?

#6 kubera   Members   -  Reputation: 903

Like
0Likes
Like

Posted 06 December 2012 - 03:10 AM

Hi!

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.

#7 Tispe   Members   -  Reputation: 1024

Like
0Likes
Like

Posted 06 December 2012 - 03:20 AM

Excuse me but wtf? What is this doing with DirectX 9.0a?


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, 06 December 2012 - 03:21 AM.


#8 kubera   Members   -  Reputation: 903

Like
0Likes
Like

Posted 06 December 2012 - 03:29 AM

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.

#9 sasho648   Members   -  Reputation: 137

Like
0Likes
Like

Posted 06 December 2012 - 03:40 AM

No this is not my problem. I'm reverse engenering program which was compiled with this SDK so that's way I need it.

You would search the SDK through the Internet or ask someone only.

Hwo to ask ? Any ideas ?

#10 kubera   Members   -  Reputation: 903

Like
0Likes
Like

Posted 06 December 2012 - 04:05 AM

I mean your colleagues.
I searched my bakcup CDs, I do not have it.

#11 sasho648   Members   -  Reputation: 137

Like
0Likes
Like

Posted 06 December 2012 - 04:18 AM

Why you think I have colleagues? Posted Image

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

#12 kubera   Members   -  Reputation: 903

Like
0Likes
Like

Posted 06 December 2012 - 04:22 AM

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.

#13 sasho648   Members   -  Reputation: 137

Like
0Likes
Like

Posted 06 December 2012 - 09:23 AM

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.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS