From 2d76b4916d30d10c1bfd2b0c07856b9469a015c3 Mon Sep 17 00:00:00 2001
From: FunkyFr3sh <cc.red.alert.1@googlemail.com>
Date: Wed, 21 Sep 2022 21:24:04 +0200
Subject: [PATCH] use real function and not the hooked one

---
 src/dd.c      | 20 ++++++++++++--------
 src/utils.c   |  8 ++++----
 src/wndproc.c | 16 ++++++++--------
 3 files changed, 24 insertions(+), 20 deletions(-)

diff --git a/src/dd.c b/src/dd.c
index 71b5a3c..7640560 100644
--- a/src/dd.c
+++ b/src/dd.c
@@ -678,15 +678,16 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl
             real_SetWindowLongA(
                 g_ddraw->hwnd,
                 GWL_STYLE,
-                GetWindowLong(
-                    g_ddraw->hwnd, GWL_STYLE) & ~(WS_CAPTION | WS_THICKFRAME | WS_MINIMIZE | WS_MAXIMIZE | WS_SYSMENU));
+                real_GetWindowLongA(
+                    g_ddraw->hwnd, 
+                    GWL_STYLE) & ~(WS_CAPTION | WS_THICKFRAME | WS_MINIMIZE | WS_MAXIMIZE | WS_SYSMENU));
         }
         else
         {
             real_SetWindowLongA(
                 g_ddraw->hwnd,
                 GWL_STYLE,
-                (GetWindowLong(g_ddraw->hwnd, GWL_STYLE) | WS_OVERLAPPEDWINDOW) & ~WS_MAXIMIZE);
+                (real_GetWindowLongA(g_ddraw->hwnd, GWL_STYLE) | WS_OVERLAPPEDWINDOW) & ~WS_MAXIMIZE);
         }
 
         if (g_ddraw->wine)
@@ -694,7 +695,7 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl
             real_SetWindowLongA(
                 g_ddraw->hwnd,
                 GWL_STYLE,
-                (GetWindowLong(g_ddraw->hwnd, GWL_STYLE) | WS_MINIMIZEBOX) & ~(WS_MAXIMIZEBOX | WS_THICKFRAME));
+                (real_GetWindowLongA(g_ddraw->hwnd, GWL_STYLE) | WS_MINIMIZEBOX) & ~(WS_MAXIMIZEBOX | WS_THICKFRAME));
         }
 
         /* center the window with correct dimensions */
@@ -705,8 +706,8 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl
 
         RECT dst = { x, y, g_ddraw->render.width + x, g_ddraw->render.height + y };
 
-        LONG style = GetWindowLong(g_ddraw->hwnd, GWL_STYLE);
-        LONG exstyle = GetWindowLong(g_ddraw->hwnd, GWL_EXSTYLE);
+        LONG style = real_GetWindowLongA(g_ddraw->hwnd, GWL_STYLE);
+        LONG exstyle = real_GetWindowLongA(g_ddraw->hwnd, GWL_EXSTYLE);
         
         AdjustWindowRectEx(&dst, style, GetMenu(g_ddraw->hwnd) != NULL, exstyle);
         
@@ -736,7 +737,7 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl
     }
     else
     {
-        LONG style = GetWindowLong(g_ddraw->hwnd, GWL_STYLE);
+        LONG style = real_GetWindowLongA(g_ddraw->hwnd, GWL_STYLE);
 
         if ((style & WS_CAPTION))
         {
@@ -769,7 +770,10 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl
 
         if (g_ddraw->wine)
         {
-            real_SetWindowLongA(g_ddraw->hwnd, GWL_STYLE, GetWindowLong(g_ddraw->hwnd, GWL_STYLE) | WS_MINIMIZEBOX);
+            real_SetWindowLongA(
+                g_ddraw->hwnd, 
+                GWL_STYLE, 
+                real_GetWindowLongA(g_ddraw->hwnd, GWL_STYLE) | WS_MINIMIZEBOX);
         }
 
         real_SetWindowPos(
diff --git a/src/utils.c b/src/utils.c
index ed078c7..e789703 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -214,8 +214,8 @@ void util_toggle_maximize()
     RECT client_rc;
     RECT dst_rc;
 
-    LONG style = GetWindowLong(g_ddraw->hwnd, GWL_STYLE);
-    LONG exstyle = GetWindowLong(g_ddraw->hwnd, GWL_EXSTYLE);
+    LONG style = real_GetWindowLongA(g_ddraw->hwnd, GWL_STYLE);
+    LONG exstyle = real_GetWindowLongA(g_ddraw->hwnd, GWL_EXSTYLE);
     BOOL got_menu = GetMenu(g_ddraw->hwnd) != NULL;
 
     if (real_GetClientRect(g_ddraw->hwnd, &client_rc) && SystemParametersInfo(SPI_GETWORKAREA, 0, &dst_rc, 0))
@@ -302,7 +302,7 @@ void util_toggle_fullscreen()
         mouse_unlock();
 
         g_config.window_state = g_ddraw->windowed = FALSE;
-        LONG style = GetWindowLong(g_ddraw->hwnd, GWL_STYLE);
+        LONG style = real_GetWindowLongA(g_ddraw->hwnd, GWL_STYLE);
 
         real_SetWindowLongA(
             g_ddraw->hwnd,
@@ -402,7 +402,7 @@ BOOL CALLBACK util_enum_child_proc(HWND hwnd, LPARAM lparam)
 
         if (g_ddraw->fixchilds == FIX_CHILDS_DETECT_HIDE)
         {
-            LONG style = GetWindowLong(hwnd, GWL_EXSTYLE);
+            LONG style = real_GetWindowLongA(hwnd, GWL_EXSTYLE);
 
             if (!(style & WS_EX_TRANSPARENT))
             {
diff --git a/src/wndproc.c b/src/wndproc.c
index 4d10469..2ad8151 100644
--- a/src/wndproc.c
+++ b/src/wndproc.c
@@ -259,9 +259,9 @@ LRESULT CALLBACK fake_WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam
                     CopyRect(&clientrc, windowrc) &&
                     util_unadjust_window_rect(
                         &clientrc, 
-                        GetWindowLong(hWnd, GWL_STYLE), 
+                        real_GetWindowLongA(hWnd, GWL_STYLE),
                         GetMenu(hWnd) != NULL,
-                        GetWindowLong(hWnd, GWL_EXSTYLE)) &&
+                        real_GetWindowLongA(hWnd, GWL_EXSTYLE)) &&
                     SetRect(&clientrc, 0, 0, clientrc.right - clientrc.left, clientrc.bottom - clientrc.top))
                 {
                     float scaleH = (float)g_ddraw->height / g_ddraw->width;
@@ -296,9 +296,9 @@ LRESULT CALLBACK fake_WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam
                 if (CopyRect(&clientrc, windowrc) &&
                     util_unadjust_window_rect(
                         &clientrc, 
-                        GetWindowLong(hWnd, GWL_STYLE), 
+                        real_GetWindowLongA(hWnd, GWL_STYLE),
                         GetMenu(hWnd) != NULL,
-                        GetWindowLong(hWnd, GWL_EXSTYLE)) &&
+                        real_GetWindowLongA(hWnd, GWL_EXSTYLE)) &&
                     SetRect(&clientrc, 0, 0, clientrc.right - clientrc.left, clientrc.bottom - clientrc.top))
                 {
                     if (clientrc.right < g_ddraw->width)
@@ -352,9 +352,9 @@ LRESULT CALLBACK fake_WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam
                 if (CopyRect(&clientrc, windowrc) &&
                     util_unadjust_window_rect(
                         &clientrc, 
-                        GetWindowLong(hWnd, GWL_STYLE), 
+                        real_GetWindowLongA(hWnd, GWL_STYLE),
                         GetMenu(hWnd) != NULL,
-                        GetWindowLong(hWnd, GWL_EXSTYLE)))
+                        real_GetWindowLongA(hWnd, GWL_EXSTYLE)))
                 {
                     g_config.window_rect.left = clientrc.left;
                     g_config.window_rect.top = clientrc.top;
@@ -429,7 +429,7 @@ LRESULT CALLBACK fake_WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam
     {
         if (!g_ddraw->wine) /* hack: disable aero snap */
         {
-            LONG style = GetWindowLong(g_ddraw->hwnd, GWL_STYLE);
+            LONG style = real_GetWindowLongA(g_ddraw->hwnd, GWL_STYLE);
 
             if (!(style & WS_MAXIMIZEBOX))
             {
@@ -442,7 +442,7 @@ LRESULT CALLBACK fake_WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam
     {
         if ((wParam & ~0x0F) == SC_MOVE && !g_ddraw->wine) /* hack: disable aero snap */
         {
-            LONG style = GetWindowLong(g_ddraw->hwnd, GWL_STYLE);
+            LONG style = real_GetWindowLongA(g_ddraw->hwnd, GWL_STYLE);
 
             if ((style & WS_MAXIMIZEBOX))
             {