Ok, what I'll try to do is tidy up parts and submit them, such as the headers and the skeleton of the com objects. Once thats all committed, I can start filling in the gaps which I guess is where the real discussion will start! In the meantime, I'll carry on playing as well.
However, I will need answers to the following few questions fairly quickly:
1. To get this working without a low level driver, I have currently added the following line to x11drv.spec: # Hack for now, d3d @ cdecl d3dhack(long) X11DRV_get_client_window Unfortunately I couldnt find anyway to get a GL context from a HWND as it stood. Without this line, nothing is going to appear, but long term I realize it will need fixing. Does anyone have any thoughts as to how to handle this, or would this hack be acceptable until a better solution is found?
2. Currently I have all my modules in the d3d8 directory: d3d8_main.c d3d8.dll.dbg.c d3d8.spec.c IDirect3D8.c IDirect3DDevice8.c IDirect3DResource8.c IDirect3DVertexBuffer8.c IDirect3DVolume8.c IDirect3DSwapChain8.c IDirect3DSurface8.c IDirect3DIndexBuffer8.c IDirect3DBaseTexture8.c IDirect3DCubeTexture8.c IDirect3DTexture8.c IDirect3DVolumeTexture8.c This does not tie in with the direct draw code - Do you want me to try and put implementations into the ddraw directories, so that a common implementation can be attempted (will require us to somehow bridge the d3d8.dll / ddraw.dll gap), or carry on as I have done, which will minimize the code size pulled in for directx8 programs? Note that long term if we do go to a HAL route, I guess one hal fits all, so the amount of code duplication would be severly reduced anyway. I know nothing about the hal interface (if there is a documented one?)
I have far too many other questions, but perhaps once I start to get code into the beginnings of a submittable form then I'll ask them!
Finally Can anyone point me at VERY basic, free programs which use directx 8.? - As examples, I was working through: http://www.two-kings.de/tutorials/d3d03/d3d03.html (Tutorials 3->13, most produce something except 9 and 13 although 7 is wrong) http://www.codeguru.com/directx/UDirect3D8.html Lighting is wrong but it sort of appears http://www.flipcode.com/tutorials/tut_dx8adv2d.shtml Looks about right Please do this via private email, so as not to clutter the wine-devel forum.
Jason