Hello,
It's almost ready for DirectX 8 but there quite a bit of work intergrating things with ddraw surfaces before DirectX 7 can be moved over.
I decided to give it a try without thinking for a long time, and I've made little progress: I've replaced the old OpenGL interface with a stub which is ready to take calls to WineD3D. I've noticed the following problems so far:
* Headers: WineD3D depends on the d3d8 or d3d9 headers. I've made the check pass with d3d.h, but I had to copy a lot of definitions from d3d9types.h. The thing compiles without errors or warnings now, but there may be side effects I don't know for now.
* Surfaces... You mentioned it, I think I don't need to explain anything here ;-)
* Not a problem, but a suggestion: Does it make sense to have DirectDraw using WineD3D? Without direct access to the video memory it's slow, and DGA has permission problems. Using WineD3D here might make surfaces less trouble, and it could give better performance without needing rw access to /dev/mem.
http://www.winehq.org/pipermail/wine-patches/2005-September/020829.html
I've seen it, but I've spent all my time hacking on D3D7->WineD3D
Stefan