Hi,
On 13 May 2011 19:03, Ralph Littlelittlesincanada@yahoo.co.uk wrote:
trace:ddraw:CreateSurface DDSURF==== dwFlags(124)
Is that correct? It doesn't have DDSD_PIXELFORMAT set.
Wait, you're right. I misread what the code was doing.
/* No pixelformat given? Use the current screen format */ if(!(desc2.dwFlags & DDSD_PIXELFORMAT)) { WARN("No pixelformat given\n"); desc2.dwFlags |= DDSD_PIXELFORMAT; desc2.u4.ddpfPixelFormat.dwSize=sizeof(DDPIXELFORMAT);
It sees that there is no pixelformat specified, then tries to fill one in.
Here:
else { WARN("pixformat=default\n"); PixelFormat_WineD3DtoDD(&desc2.u4.ddpfPixelFormat, Mode.Format); }
it calls the function PixelFormat_WineD3DtoDD() to determine the format details, assuming that there is something in ddpfPixelFormat worth looking at. In this case, it is wrong.
With the surface ptr. being NULL, I suspect that all talk of pixelformat is moot in this case. There are no pixels to render. I really do wonder if this is a "trick" to blank the screen.
Cheers, Ralph