How exactly this is supposed to work?
I'm not exactly sure what you mean. The dll implements two COM interfaces that seem to be used for providing directx support.
When you mentioned such dx8-vb style wrappers exist I thought about usual scripting way to create and access them, yet your idls don't define a type library and interface wrappers are not IDispatch descendants. Normal way is to create factory object using ProgID for example, in this case DXD8, and then all method are requested using IDispatch.
Well, the native dll doesn't seem to be using IDispatch, just took a look at its typelib. I'm not sure, am I doing something wrong here?
Also, is it possible to reuse actual dx8 headers for enums and the like ?
Ah yes, some of them surely can be replaced with stuff from the headers. I'll try as much as is possible.
P.S. for enum members please use hex notation for fourcc values, and FORCE_DWORD things.
Will do.
Regards, Fabian Maurer