From f54a3ec17185411458a52341fe7e2f0a3b434da9 Mon Sep 17 00:00:00 2001 From: FunkyFr3sh Date: Wed, 3 Jul 2024 01:31:12 +0200 Subject: [PATCH] fix dds caps --- src/ddsurface.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/ddsurface.c b/src/ddsurface.c index ba876c0..b6913ed 100644 --- a/src/ddsurface.c +++ b/src/ddsurface.c @@ -1397,10 +1397,15 @@ HRESULT dd_CreateSurface( dst_surface->caps |= DDSCAPS_FRONTBUFFER; } + if (!(dst_surface->caps & DDSCAPS_SYSTEMMEMORY)) + { + dst_surface->caps |= DDSCAPS_VIDEOMEMORY; + } + + dst_surface->caps |= DDSCAPS_VISIBLE; + dst_surface->width = g_ddraw.width; dst_surface->height = g_ddraw.height; - - dst_surface->caps |= DDSCAPS_VIDEOMEMORY; } else { @@ -1575,11 +1580,21 @@ HRESULT dd_CreateSurface( desc.ddsCaps.dwCaps |= DDSCAPS_FLIP; } + if (dst_surface->caps & DDSCAPS_COMPLEX) + { + desc.ddsCaps.dwCaps |= DDSCAPS_COMPLEX; + } + if (dst_surface->caps & DDSCAPS_VIDEOMEMORY) { desc.ddsCaps.dwCaps |= DDSCAPS_VIDEOMEMORY; } + if (dst_surface->caps & DDSCAPS_SYSTEMMEMORY) + { + desc.ddsCaps.dwCaps |= DDSCAPS_SYSTEMMEMORY; + } + desc.dwWidth = dst_surface->width; desc.dwHeight = dst_surface->height;