From 340febc65ecbdef992f039f5fbbad7125e4cd0a8 Mon Sep 17 00:00:00 2001
From: FunkyFr3sh <cc.red.alert.1@googlemail.com>
Date: Sun, 10 Sep 2023 02:31:28 +0200
Subject: [PATCH] fix flags

---
 src/dd.c        | 3 ++-
 src/ddsurface.c | 8 ++++++--
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/dd.c b/src/dd.c
index cf167d8..206cb8a 100644
--- a/src/dd.c
+++ b/src/dd.c
@@ -406,7 +406,8 @@ HRESULT dd_GetCaps(LPDDCAPS_DX1 lpDDDriverCaps, LPDDCAPS_DX1 lpDDEmulCaps)
             DDCAPS_BLTSTRETCH | 
             DDCAPS_CANCLIP | 
             DDCAPS_CANBLTSYSMEM |
-            DDCAPS_CANCLIPSTRETCHED;
+            DDCAPS_CANCLIPSTRETCHED | 
+            DDCAPS_COLORKEY;
 
         lpDDDriverCaps->dwCaps2 =
             DDCAPS2_NOPAGELOCKREQUIRED |
diff --git a/src/ddsurface.c b/src/ddsurface.c
index e9a2eb8..ce4404e 100644
--- a/src/ddsurface.c
+++ b/src/ddsurface.c
@@ -686,8 +686,7 @@ HRESULT dds_GetSurfaceDesc(IDirectDrawSurfaceImpl* This, LPDDSURFACEDESC lpDDSur
             DDSD_HEIGHT | 
             DDSD_PITCH | 
             DDSD_PIXELFORMAT | 
-            DDSD_LPSURFACE | 
-            DDSD_BACKBUFFERCOUNT;
+            DDSD_LPSURFACE;
 
         lpDDSurfaceDesc->dwWidth = This->width;
         lpDDSurfaceDesc->dwHeight = This->height;
@@ -697,7 +696,12 @@ HRESULT dds_GetSurfaceDesc(IDirectDrawSurfaceImpl* This, LPDDSURFACEDESC lpDDSur
         lpDDSurfaceDesc->ddpfPixelFormat.dwFlags = DDPF_RGB;
         lpDDSurfaceDesc->ddpfPixelFormat.dwRGBBitCount = This->bpp;
         lpDDSurfaceDesc->ddsCaps.dwCaps = This->caps;
+
+        if (This->flags & DDSD_BACKBUFFERCOUNT)
+        {
+            lpDDSurfaceDesc->dwFlags |= DDSD_BACKBUFFERCOUNT;
         lpDDSurfaceDesc->dwBackBufferCount = This->backbuffer_count;
+        }
 
         if (This->bpp == 8)
         {