DirectX11 missing DirectX9 components?

Discussion in 'Game Development (Technical)' started by Raptisoft, Jul 11, 2011.

  1. Raptisoft

    Indie Author

    Joined:
    Jul 29, 2004
    Messages:
    804
    Likes Received:
    0
    Hi all,
    I just moved to a new computer. Imagine my shock when my first compilation of a new game I'm working on said:

    Strangely, DirectX7 games compile and run just fine! I was concerned it might be that DX11 didn't contain the previous components, but apparently that's not it.

    Can anyone advise what I should do about this? I don't want to force users to reinstall DirectX, and I sure as heck don't want to distribute DX9 with my application. This is a fresh computer-- if my program won't run on it as is, then I have to change something, but why the heck isn't d3dx9_42.dll included in the DirectX runtimes?

    [EDIT]
    What I think is happening is that the D3DX9.lib I'm linking to wants d3dx9_42.dll... which Microsoft has stopped distributing with DirectX for some reason. Does anyone know where I could find a copy of D3DX9.lib that links to a version Microsoft is still distributing (d3dx9_43, d3dx9_39, perhaps)?

    Thanks!
     
    #1 Raptisoft, Jul 11, 2011
    Last edited: Jul 11, 2011
  2. Applewood

    Moderator Original Member Indie Author

    Joined:
    Jul 29, 2004
    Messages:
    3,858
    Likes Received:
    2
    Because it's not part of the run time?

    You should always install DirectX as part of your distro - that's why there's a redist folder. If you work at it you can get it down to about 3 Mb so there's really no reason to not do this.
     
  3. Raptisoft

    Indie Author

    Joined:
    Jul 29, 2004
    Messages:
    804
    Likes Received:
    0
    I don't want to seem ungrateful for help, but above I said "I sure as heck don't want to distribute DX9 with my application."
    I never had to do this with DX7, and if I can find a D3DX9.lib that links to D3DX9_43.dll, I won't have to do it now either.
     
  4. Applewood

    Moderator Original Member Indie Author

    Joined:
    Jul 29, 2004
    Messages:
    3,858
    Likes Received:
    2
    I'm not arguing with you as that would imply you have a choice.

    You have no guarantees whatsoever of which DLL's might exist on a host machine. It could none of them, all of them, or random. From DX9 onwards they changed how this all works. And I agree its wank, but bring it up and the MS boys will yawn you to death about "security" and "patches". None of which I've ever seen.
     
  5. Raptisoft

    Indie Author

    Joined:
    Jul 29, 2004
    Messages:
    804
    Likes Received:
    0
    Ah... that's different. I hadn't realized that Microsoft had adopted Apple's "no backwards compatibility" philosophy. Well that really sucks!

    I suppose the best solution is to toss D3DX completely and manually load my textures, since that's the only thing I'm using it for anyway...
     
  6. impossible

    Original Member

    Joined:
    Aug 9, 2004
    Messages:
    443
    Likes Received:
    0
    You're misunderstanding the purpose of this. Microsoft hasn't adopted "no backwards compatibility", in fact they changed the way D3DX works in order to support backwards compatibility. Different dlls with different DirectX SDK releases allows them to iterate on D3DX (adding new features and fixing bugs) without breaking old games that rely on old functionality. The D3DX redistributable is annoying if you want to send out a exe, but isn't a big deal if you have an installer for your game that can install the right dlls. Any PC game using DX9 in the last 5-6 years has done this, so its not a big deal. Check out this site for best practices, including tips on how to get small install sizes. http://msdn.microsoft.com/en-us/library/ee416805(v=vs.85).aspx.
     
  7. Raptisoft

    Indie Author

    Joined:
    Jul 29, 2004
    Messages:
    804
    Likes Received:
    0
    Dude... I'm an indie developer. This means my customers must not have to go through even the slightest amount of pain in order to get my software installed. I just removed D3DX, that's better for the people I'm writing for than forcing them to go through a DirectX update.
     
  8. Applewood

    Moderator Original Member Indie Author

    Joined:
    Jul 29, 2004
    Messages:
    3,858
    Likes Received:
    2
    Most of your customers probably won't know what an indie developer actually is. I really have no idea why you think that removing a file from an installer will somehow magically give your customers a better experience. It's even silent when you install this stuff so they won't even know.

    I really think you have this backwards. Relying on a setup just being there is in no way preferable to specifically putting your dependencies there by hand. This used to be a big deal BEFORE Microsoft split all this stuff up, but as of the last several years the install for DX has become miniscule.

    You think your punters are going to have a better experience running old drivers and stuff? You are aware that the redist for DirectX is meant to solve all the problems you're volunterring to walk right into?

    Whatever, think I've flogged this one to death now.
     

Share This Page

  • About Indie Gamer

    When the original Dexterity Forums closed in 2004, Indie Gamer was born and a diverse community has grown out of a passion for creating great games. Here you will find over 10 years of in-depth discussion on game design, the business of game development, and marketing/sales. Indie Gamer also provides a friendly place to meet up with other Developers, Artists, Composers and Writers.
  • Buy us a beer!

    Indie Gamer is delicately held together by a single poor bastard who thankfully gets help from various community volunteers. If you frequent this site or have found value in something you've learned here, help keep the site running by donating a few dollars (for beer of course)!

    Sure, I'll Buy You a Beer