I think it is better to separate the vtables first - ie, give IDirectDrawSurface4, IDirectDrawSurface2 and IDirectDrawSurface their own vtable
Also the last iteration of Michael Karcher's patches missed out some getters, like IDirect3DDevice*::GetRenderTarget. There may be other functions that need to be adjusted to AddRef/Release version specific refcounts.
2009/8/22 Stefan Dösinger stefandoesinger@gmx.at:
I think it is better to separate the vtables first - ie, give IDirectDrawSurface4, IDirectDrawSurface2 and IDirectDrawSurface their own vtable
Also the last iteration of Michael Karcher's patches missed out some getters, like IDirect3DDevice*::GetRenderTarget. There may be other functions that need to be adjusted to AddRef/Release version specific refcounts.
Here are my likely broken patches that separate the surface thunks for refcounting, from months ago. I think the first 4 are OK, but I named the last one "broken" so I guess that one isn't ;)
Still it's a starting point.
Luke.