I finally came around to implement DX8 capture \o/. At the moment the only accepted color format of the framebuffer is 32bit X8R8G8B8. I will implement 16bit R5G6R5 and 16bit A1R5G5B5 in the future (as well as maybe exotic 8bit), if requested I will try to speed up my efforts (being a bit lazy as usual).
Three things regarding the plugin:
When you exit a game while capturing ddraw or dx8, the game will crash. I'm not exactly sure what the reason for that happening is, but I'm investigating.
I did not bother to optimize log output, so it can happen that you get some megabytes of logfiles especially if you reset the capture by switching scenes. You've been warned. Scene switching works btw.
DX8 capture might be very slow with 16bit framebuffer formats in the future, but I can try to optimize. Because DirectX8 did not support shared textures, I had to use memory capture which is very slow - basically I have to download the framebuffer from graphics memory and then copy it to a shared OBS-buffer, which in turn copies it back to graphics memory. You might have noticed that there are a lot of copies involved already, and it gets even worse when you have to convert 16bit pixels to 32bit (the format OBS likes). But I'm confident that capture performance will be alright (it's alright for DirectDraw).
That said, please give me feedback when you use the plugin so I can be confident when I send Jim a pull request to merge the code into master. :)