http://bugs.winehq.org/show_bug.cgi?id=9775
--- Comment #12 from Tobias Jakobi liquid.acid@gmx.net 2008-06-12 13:26:02 --- Hi there,
I think I have found a fix for the problem.
MSDN documentation states that a call to the D3D8 method CreateImageSurface uses a "internal" D3DPOOL_SCRATCH flag.
Read here: http://msdn.microsoft.com/en-us/library/bb204851(VS.85).aspx (in "CreateImageSurface Changes")
Also see http://msdn.microsoft.com/en-us/library/bb174358(VS.85).aspx
But I also found this website stating that the MSDN is erroneous here: http://www.xmission.com/~legalize/book/dx9-bugs.html
I tested this my modifying dlls/d3d8/device.c: In IDirect3DDevice8Impl_CreateImageSurface I changed the pool parameter from D3DPOOL_SCRATCH to D3DPOOL_SYSTEMMEM.
This seems to fix the problem with the empty sreenshots. Game scenes are now displayed in the savegame loading menu.
Can someone (Alexander?) take a look at this "fix"? I'm really no expert in D3D so I'm absolutely not sure if that's correct at all. At least it fixes the problem here, I don't know about Max Payne 2 though.
Cheers, Tobias