mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-24 17:49:52 +01:00
add some additional checks
This commit is contained in:
parent
4bb1cffee7
commit
b97af7a4f9
@ -999,7 +999,7 @@ HRESULT dds_GetDC(IDirectDrawSurfaceImpl* This, HDC FAR* lpHDC)
|
|||||||
if (This->backbuffer || (This->caps & DDSCAPS_BACKBUFFER))
|
if (This->backbuffer || (This->caps & DDSCAPS_BACKBUFFER))
|
||||||
dc = (HDC)InterlockedExchangeAdd((LONG*)&This->hdc, 0);
|
dc = (HDC)InterlockedExchangeAdd((LONG*)&This->hdc, 0);
|
||||||
|
|
||||||
if (data)
|
if (This->bpp == 8 && data)
|
||||||
SetDIBColorTable(dc, 0, 256, data);
|
SetDIBColorTable(dc, 0, 256, data);
|
||||||
|
|
||||||
if (lpHDC)
|
if (lpHDC)
|
||||||
@ -1170,7 +1170,7 @@ HRESULT dds_Unlock(IDirectDrawSurfaceImpl* This, LPRECT lpRect)
|
|||||||
if (hwnd && (This->caps & DDSCAPS_PRIMARYSURFACE))
|
if (hwnd && (This->caps & DDSCAPS_PRIMARYSURFACE))
|
||||||
{
|
{
|
||||||
HDC primary_dc;
|
HDC primary_dc;
|
||||||
dds_GetDC(g_ddraw->primary, &primary_dc);
|
dds_GetDC(This, &primary_dc);
|
||||||
|
|
||||||
/* GdiTransparentBlt idea taken from Aqrit's war2 ddraw */
|
/* GdiTransparentBlt idea taken from Aqrit's war2 ddraw */
|
||||||
|
|
||||||
@ -1225,7 +1225,7 @@ HRESULT dds_Unlock(IDirectDrawSurfaceImpl* This, LPRECT lpRect)
|
|||||||
if (hwnd && (This->caps & DDSCAPS_PRIMARYSURFACE))
|
if (hwnd && (This->caps & DDSCAPS_PRIMARYSURFACE))
|
||||||
{
|
{
|
||||||
HDC primary_dc;
|
HDC primary_dc;
|
||||||
dds_GetDC(g_ddraw->primary, &primary_dc);
|
dds_GetDC(This, &primary_dc);
|
||||||
|
|
||||||
RECT rc;
|
RECT rc;
|
||||||
if (fake_GetWindowRect(hwnd, &rc))
|
if (fake_GetWindowRect(hwnd, &rc))
|
||||||
|
@ -328,7 +328,9 @@ DWORD WINAPI d3d9_render_main(void)
|
|||||||
|
|
||||||
EnterCriticalSection(&g_ddraw->cs);
|
EnterCriticalSection(&g_ddraw->cs);
|
||||||
|
|
||||||
if (g_ddraw->primary && (g_ddraw->bpp == 16 || g_ddraw->bpp == 32 || g_ddraw->primary->palette))
|
if (g_ddraw->primary &&
|
||||||
|
g_ddraw->primary->bpp == g_ddraw->bpp &&
|
||||||
|
(g_ddraw->bpp == 16 || g_ddraw->bpp == 32 || g_ddraw->primary->palette))
|
||||||
{
|
{
|
||||||
if (g_ddraw->vhack)
|
if (g_ddraw->vhack)
|
||||||
{
|
{
|
||||||
|
@ -47,7 +47,9 @@ DWORD WINAPI gdi_render_main(void)
|
|||||||
|
|
||||||
EnterCriticalSection(&g_ddraw->cs);
|
EnterCriticalSection(&g_ddraw->cs);
|
||||||
|
|
||||||
if (g_ddraw->primary && (g_ddraw->bpp == 16 || g_ddraw->bpp == 32 || g_ddraw->primary->palette))
|
if (g_ddraw->primary &&
|
||||||
|
g_ddraw->primary->bpp == g_ddraw->bpp &&
|
||||||
|
(g_ddraw->bpp == 16 || g_ddraw->bpp == 32 || g_ddraw->primary->palette))
|
||||||
{
|
{
|
||||||
if (warning_end_tick)
|
if (warning_end_tick)
|
||||||
{
|
{
|
||||||
|
@ -582,7 +582,9 @@ static void ogl_render()
|
|||||||
|
|
||||||
EnterCriticalSection(&g_ddraw->cs);
|
EnterCriticalSection(&g_ddraw->cs);
|
||||||
|
|
||||||
if (g_ddraw->primary && (g_ddraw->bpp == 16 || g_ddraw->bpp == 32 || g_ddraw->primary->palette))
|
if (g_ddraw->primary &&
|
||||||
|
g_ddraw->primary->bpp == g_ddraw->bpp &&
|
||||||
|
(g_ddraw->bpp == 16 || g_ddraw->bpp == 32 || g_ddraw->primary->palette))
|
||||||
{
|
{
|
||||||
if (g_ddraw->vhack)
|
if (g_ddraw->vhack)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user