For some reason my programs written in DX8 and assembly don't work on computers without the SDK. is there any way to fix this??
I have confirmed this by unistalling the SDK and running the file, and it didn't work. Also all the demos from you guys don't work without the SDK.

Posted on 2001-11-11 13:33:10 by D_Claw
Hi !

Creating the D3D-device you have to give the version-number as a parameter. All the examples here have been made with the sdk-version-number defined by D3D_SDK_VERSION

So you need the standard version-number defined by DIRECT3D_VERSION (I hope I remember the right one ;) )

Greetings, CALEB
Posted on 2001-11-11 14:46:22 by Caleb
It doesn't crash now, but DX doesn't work either. it just shows the window. The SDK says you MUST pass the SDK constant. Also its for creating the main D3D object, not the device object. It works on both my computers with the SDK, but will not work without it.

Posted on 2001-11-11 15:14:16 by D_Claw
Afternoon, D_Claw.

Have you got the d3dx8d.dll in your system directory?

Posted on 2001-11-12 20:09:27 by Scronty
Scronty, that file isn't in the standard install of WinXP (w/ DX8.1) or Win2K (w/ DX8) -- the only two set-ups I've tried. The SDK samples don't require it.

Edit: What I mean to say, it that I'm a bit leary about linking to a 500K DLL that isn't going to be installed on DX8 systems. Has anyone heard more about the 8.0 -> 8.0b -> 8.1 transition. The DX8.1 SDK was just updated 09NOV2001, and the 8.0b fix states it's 'unsupported'.
Posted on 2001-11-12 21:48:46 by bitRAKE
Afternoon, bitRAKE.

What dll can we use, then? My installation of DX8 only came with d3d8.dll. Where is the d3dx8.dll? I've never seen it.

Posted on 2001-11-13 03:02:43 by Scronty
What's with all these DLL files anyway? :). Why use something that
isn't installed when you install DX8, and requires something (presumably)
from the DX8 SDK? And is that DLL even redistributable? Who has
screwed up? Micro$oft? =)
Posted on 2001-11-13 07:11:13 by f0dder
I dynamically link to the dll, so I just put it in my applications directory and told my funciton to find it there. But the problem is creating the main D3D Object, it doesn't even get to use the d3dx8d.dll file.
Posted on 2001-11-13 09:31:48 by D_Claw
Generally Microsoft's DLLs ending with a 'd' include debug informations. I hope it helps.
Posted on 2001-11-13 12:44:41 by LuHa
Actually i was wrong. the place it is crashing is when i create the D3DDevice object. But i still can't find any solution to this. Im not linking to a dll with a d at the end
Posted on 2001-11-13 13:43:39 by D_Claw
Afternoon, D_Claw.

Would it be possible for you to attached your source to this thread? Then we may be able to see the problem.

Posted on 2001-11-13 15:51:31 by Scronty
I was assembling DX8 code without the *d.dll files, but I needed to link in the VC++ libs - which is just as bad, if you ask me. ;) I will try again, when I get home to produce an SDK-less DX8 proggie.

Edit: Okay, can someone let me know if this runs without the DX8 SDK? There are no dependancies on d3dx8b.dll, but that's because I created a dummy object file. ;) I'll be testing soon on another system, but it'll be a ~week before I can.
Posted on 2001-11-13 22:57:31 by bitRAKE
Works just fine, bitrake. No DX8 SDK here, plain win2ksp2.
Posted on 2001-11-14 07:30:07 by f0dder
Caleb, this constant is for all applications, not just the SDK ones.
The D3D_SDK_VERSION identifier is passed to Direct3DCreate8 in order to ensure that an application was built against the correct header files. This value is incremented whenever a header or other change would require applications to be rebuilt. If the version does not match, Direct3DCreate8 will fail.
f0dder, thanks for testing.
Posted on 2001-11-14 08:47:23 by bitRAKE
I finally figured out why it didn't work in those machines. The main reason in my one machine was i accidently changed the value of the SDK number constant, but on the other it was because it doesn't have hardware support for direct3d.

I was really confused because it is a 1 gig. Hz P3 machine and yet it has no support for direct3d graphics, so i had to run it in software rendering mode. Its my schools computer, so i didn't really know all the specs. Also there driver is really old as it is the one that came with win 2000.

It has an integrated TNT2. Should D3D stuff work on that? Is it because they have an out of date driver? Its sort of rediculous that a gigahertz machine can't have hardware support for direct3d graphics.

Thanks for all the help anyways.

Posted on 2001-11-14 10:33:04 by D_Claw
As long as you don't use hardware T&L, a tnt2 should have fine
support for D3D. Even with default win2k drivers I think, as a TNT2
is a pretty standard piece of hardware, and has been out for quite
some while before win2k hit the streets. You might want to try dxdiag
on your school machine, and see what version of DX it supports,
as well as which features. I believe win2k comes default with DX7,
while XP has DX8.
Posted on 2001-11-14 10:40:26 by f0dder
It has directx 8 on it. but in the DX diagnostic tool it won't let me enable Direct3D acceleration. it will ony run in software mode. An it won't even let me create a device.

My FVF format is: XYZ, RHW, and diffuse, so i'm not using T&L.
Posted on 2001-11-14 14:43:53 by D_Claw
It *should* work fine on a TNT2. I have a TNT1 with outdated drivers, and all my DX8 stuff works fine on it, just so long as I have DX8 installed :)
Posted on 2001-11-15 05:04:20 by Kenny
I KNOW it has directX8 installed, first because the diagnostic says it does and second because directSound8 and DirectInput8 works on it. So why is it not letting me have hardware acceleration.

Also it runs in software mode, but not in hardware, so DX8 must be installed.
Posted on 2001-11-15 09:41:31 by D_Claw