Hi,
On 13 May 2011 19:03, Ralph Little<littlesincanada(a)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