With a normal install of dx9, I cannot find d3dx8.dll in my dllcache folder. So are the d3dx8 'helper' functions (d3dxloadsurfacefromfile, etc..) not part of the standard dx9 install??
Posted on 2004-03-14 21:59:11 by The Dude of Dudes
Afternoon, The Dude of Dudes.

There is no such thing as a D3DX8.dll .;)

The D3DX8.lib file is a static library; meaning any functions you use are added to your .exe .

Cheers.
Scronty
Posted on 2004-03-15 01:57:17 by Scronty
Isn't there a d3dx8d, though? Indicating debug version, with slower code etc?
Posted on 2004-03-15 03:08:11 by f0dder
Thanx Scronty!
Posted on 2004-03-15 19:39:13 by The Dude of Dudes
Afternoon, f0dder.

There is, however it only comes with the SDK install and isn't distributable.
If he's only installed the runtime files, then he wouldn't have the debug dll (I think).

Cheers,
Scronty
Posted on 2004-03-15 21:21:07 by Scronty
Ah, isn't redistributable. Figures, who'd want to link to debug code anyway :)
Posted on 2004-03-16 04:28:16 by f0dder
Looking through past threads about converting the D3D8 *.h files, it seems no one has had success with using the D3DX8.lib file in assembly. Is linking to the dx8 degub dll the only way to use these functions? Sorry if I'm bringing up a topic thats already been discussed, I can only find out so much by searching.
Posted on 2004-03-16 21:00:36 by The Dude of Dudes
Some HLL programer could try to make a wrapper so it is like linking to a C function.

I should check. Someone made some lib version for MingW, or some other non-MS-compiler.
Posted on 2004-03-17 19:51:22 by ThoughtCriminal
As Scronty said, you just bind the LIB, and any functions you call will be embedded in your exe... what's the problem?
Posted on 2004-03-18 05:53:27 by Homer
Doesn't the d3dx8 static lib requre visual studio C runtime libs? Problem might be not having access to these?
Posted on 2004-03-18 05:58:21 by f0dder
Is there a difference between 'binding' and 'linking' a lib?

f0dder might be down the right path. There are some compiler? constants like:

__fltused

Stuff that was not simple like the WinAPI libs.
Posted on 2004-03-18 06:57:06 by ThoughtCriminal
The "WinAPI libs" are (mostly) nothing but import libraries for the DLL files. The Visual C++ runtime libraries (aka libc) are static libraries with a lot of code in them. I don't think those libraries are redistributable, so you'll have to pay for visual studio to get them legally.

However, you might be able to link to the import library for msvcrt.dll, it's basically "libc in a dll".

And well... there's always the option of figuring out what d3dx8.lib requires, and write those functions yourself. __fltused is a "dummy symbol" generated by the compiler when you use floating-point code, to be able to automatically pull in floating-point support routines.

In windows terminology, you link with a library, "bind" is used in the context of "bound imports" for DLLs - a technique of speeding up importing - so evilhomer's use of "bind" is a bit wrong :)
Posted on 2004-03-18 07:08:58 by f0dder
No extraneous imports, you end up with "d3d8 module" code in your exe straight from the lib :)

Yes, I shouldn't have used the term "bind" so loosely (pun:tongue: )
Posted on 2004-03-18 07:16:04 by Homer
fOdder, I think you've got it pegged. The only msvcrt.lib I have is from the MS SDK and I get an error when linking-

module machine type ia64 conflicts with module machine type ix86

I assume I am linking to a 64bit lib. The msvcrt.dll comes with xp, but I cant find a lib for it.
Posted on 2004-03-19 18:18:01 by The Dude of Dudes
hmmm, there should be plain old 32bit import libs for msvcrt available? If not, I think it's a pure import lib, so you should be able to generate .inc+.lib from the .dll
Posted on 2004-03-19 18:19:49 by f0dder
No theres no import libs avail for msvcrt, it stands for microsoft visual c runtime, if we didn't guess already :)
Posted on 2004-03-20 09:34:35 by Homer
well, there is import libraries included with visual studio, not as a part of the PlatformSDK though. It seems there's a few non-import stuff in the .lib, but nothing too important. Nothing stops you from making your own import lib for msvcrt.dll (which should be present on about every windows version). Other free tools come with import libraries, I think lcc-win32 has coff import libs for msvcrt.
Posted on 2004-03-20 09:41:39 by f0dder