From 77cb46f91d643301f3a981d835f33fe313b612aa Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Sun, 18 May 2025 19:45:09 +0200 Subject: [PATCH] Add support for 8bit color key (#110) --- miniwin/miniwin/src/miniwin_ddsurface.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/miniwin/miniwin/src/miniwin_ddsurface.cpp b/miniwin/miniwin/src/miniwin_ddsurface.cpp index b2a9961f..854d3cb9 100644 --- a/miniwin/miniwin/src/miniwin_ddsurface.cpp +++ b/miniwin/miniwin/src/miniwin_ddsurface.cpp @@ -236,6 +236,17 @@ HRESULT DirectDrawSurfaceImpl::SetClipper(LPDIRECTDRAWCLIPPER lpDDClipper) HRESULT DirectDrawSurfaceImpl::SetColorKey(DDColorKeyFlags dwFlags, LPDDCOLORKEY lpDDColorKey) { + if (!lpDDColorKey) { + return DDERR_INVALIDPARAMS; + } + if (m_surface->format != SDL_PIXELFORMAT_INDEX8) { + return DDERR_GENERIC; // Not currently supported + } + + if (SDL_SetSurfaceColorKey(m_surface, true, lpDDColorKey->dwColorSpaceLowValue) != 0) { + return DDERR_GENERIC; + } + return DD_OK; }