mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-24 17:49:52 +01:00
fix palette issues on GetDC
This commit is contained in:
parent
5477e5139a
commit
8e53cdc5fa
@ -43,8 +43,13 @@ void DrawFrameInfoStart()
|
|||||||
RECT debugrc = { 0, 0, ddraw->width, ddraw->height };
|
RECT debugrc = { 0, 0, ddraw->width, ddraw->height };
|
||||||
|
|
||||||
if (ddraw->primary && ddraw->primary->palette)
|
if (ddraw->primary && ddraw->primary->palette)
|
||||||
DrawText(ddraw->primary->hDC, debugText, -1, &debugrc, DT_NOCLIP);
|
{
|
||||||
|
if (ddraw->primary->palette->data_rgb)
|
||||||
|
SetDIBColorTable(ddraw->primary->hDC, 0, 256, ddraw->primary->palette->data_rgb);
|
||||||
|
|
||||||
|
DrawText(ddraw->primary->hDC, debugText, -1, &debugrc, DT_NOCLIP);
|
||||||
|
}
|
||||||
|
|
||||||
DWORD tick_start = timeGetTime();
|
DWORD tick_start = timeGetTime();
|
||||||
if (tick_start >= tick_fps)
|
if (tick_start >= tick_fps)
|
||||||
{
|
{
|
||||||
|
@ -376,6 +376,15 @@ HRESULT __stdcall ddraw_surface_GetDC(IDirectDrawSurfaceImpl *This, HDC FAR *a)
|
|||||||
#if _DEBUG_X
|
#if _DEBUG_X
|
||||||
printf("IDirectDrawSurface::GetDC(This=%p, ...)\n", This);
|
printf("IDirectDrawSurface::GetDC(This=%p, ...)\n", This);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
RGBQUAD *data =
|
||||||
|
This->palette && This->palette->data_rgb ? This->palette->data_rgb :
|
||||||
|
ddraw->primary && ddraw->primary->palette ? ddraw->primary->palette->data_rgb :
|
||||||
|
NULL;
|
||||||
|
|
||||||
|
if (data)
|
||||||
|
SetDIBColorTable(This->hDC, 0, 256, data);
|
||||||
|
|
||||||
*a = This->hDC;
|
*a = This->hDC;
|
||||||
return DD_OK;
|
return DD_OK;
|
||||||
}
|
}
|
||||||
@ -648,12 +657,6 @@ HRESULT __stdcall ddraw_CreateSurface(IDirectDrawImpl *This, LPDDSURFACEDESC lpD
|
|||||||
Surface->bmi->bmiColors[i].rgbReserved = 0;
|
Surface->bmi->bmiColors[i].rgbReserved = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if _DEBUG
|
|
||||||
Surface->bmi->bmiColors[255].rgbRed = 250;
|
|
||||||
Surface->bmi->bmiColors[255].rgbGreen = 250;
|
|
||||||
Surface->bmi->bmiColors[255].rgbBlue = 250;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
Surface->lXPitch = Surface->bpp / 8;
|
Surface->lXPitch = Surface->bpp / 8;
|
||||||
Surface->lPitch = Surface->width * Surface->lXPitch;
|
Surface->lPitch = Surface->width * Surface->lXPitch;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user