diff --git a/src/ddsurface.c b/src/ddsurface.c index d5bb5de..e50fb21 100644 --- a/src/ddsurface.c +++ b/src/ddsurface.c @@ -1454,9 +1454,10 @@ HRESULT dd_CreateSurface( ((DWORD*)dst_surface->bmi->bmiColors)[2] = 0x0000FF; } - + /* Claw hack: 128x128 surfaces need a DC for custom levels to work properly */ if (InterlockedExchangeAdd(&g_dds_gdi_handles, 0) < 4000 || - (dst_surface->width == g_ddraw->width && dst_surface->height == g_ddraw->height)) + (dst_surface->width == g_ddraw->width && dst_surface->height == g_ddraw->height) || + (dst_surface->width == 128 && dst_surface->height == 128)) { dst_surface->hdc = CreateCompatibleDC(g_ddraw->render.hdc);