From 38b553191f7632a652f4980aa8b1ea2b06062fb2 Mon Sep 17 00:00:00 2001
From: FunkyFr3sh <cc.red.alert.1@googlemail.com>
Date: Wed, 8 May 2024 07:17:54 +0200
Subject: [PATCH] allow zooming on low resolutions as well (worms2)

---
 src/dd.c    | 7 ++++++-
 src/utils.c | 2 +-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/dd.c b/src/dd.c
index 94147ab..c71a4d0 100644
--- a/src/dd.c
+++ b/src/dd.c
@@ -1192,7 +1192,7 @@ HRESULT dd_SetCooperativeLevel(HWND hwnd, DWORD dwFlags)
         g_ddraw.iskkndx = strcmp(g_ddraw.title, "KKND Xtreme") == 0;
         g_ddraw.isworms2 = strcmp(g_ddraw.title, "worms2") == 0;
 
-        if (g_ddraw.iskkndx || g_ddraw.isworms2)
+        if (g_ddraw.iskkndx)
         {
             g_ddraw.upscale_hack_width = 640;
             g_ddraw.upscale_hack_height = 480;
@@ -1202,6 +1202,11 @@ HRESULT dd_SetCooperativeLevel(HWND hwnd, DWORD dwFlags)
             g_ddraw.upscale_hack_width = 640;
             g_ddraw.upscale_hack_height = 400;
         }
+        else if (g_ddraw.isworms2)
+        {
+            g_ddraw.upscale_hack_width = 80;
+            g_ddraw.upscale_hack_height = 60;
+        }
 
         if (g_config.vhack && !g_ddraw.isredalert && !g_ddraw.iscnc1 && !g_ddraw.iskkndx && !g_ddraw.isworms2)
         {
diff --git a/src/utils.c b/src/utils.c
index 7054a2e..41876b1 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -685,7 +685,7 @@ BOOL util_detect_low_res_screen()
     }
     else if (g_ddraw.isworms2)
     {
-        if ((*pW2DS)->RenderWidth < g_ddraw.width && (*pW2DS)->RenderHeight < g_ddraw.height)
+        if ((*pW2DS)->RenderWidth && (*pW2DS)->RenderWidth < g_ddraw.width && (*pW2DS)->RenderHeight < g_ddraw.height)
         {
             if (g_ddraw.upscale_hack_width != (*pW2DS)->RenderWidth || g_ddraw.upscale_hack_height != (*pW2DS)->RenderHeight)
             {