From 911c3bdfeb133a5393e19d80adc62c8bef0823cf Mon Sep 17 00:00:00 2001 From: FunkyFr3sh Date: Sun, 15 Dec 2024 23:40:41 +0100 Subject: [PATCH] #367 fix videos in Imperialism 2: The Age of Exploration --- src/winapi_hooks.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/winapi_hooks.c b/src/winapi_hooks.c index e88d249..c6907e3 100644 --- a/src/winapi_hooks.c +++ b/src/winapi_hooks.c @@ -982,7 +982,10 @@ BOOL WINAPI fake_StretchBlt( return result; } } - else if (g_ddraw.width > 0 && g_ddraw.render.hdc) + else if ( + g_ddraw.width > 0 && + g_ddraw.render.hdc && + (hwnd == g_ddraw.hwnd || (real_GetWindowLongA(hwnd, GWL_EXSTYLE) & WS_EX_TRANSPARENT))) { return real_StretchBlt( hwnd == g_ddraw.hwnd ? hdcDest : g_ddraw.render.hdc, @@ -1078,7 +1081,10 @@ BOOL WINAPI fake_BitBlt( return result; } } - else if (g_ddraw.width > 0 && g_ddraw.render.hdc) + else if ( + g_ddraw.width > 0 && + g_ddraw.render.hdc && + (hwnd == g_ddraw.hwnd || (real_GetWindowLongA(hwnd, GWL_EXSTYLE) & WS_EX_TRANSPARENT))) { return real_StretchBlt( hwnd == g_ddraw.hwnd ? hdc : g_ddraw.render.hdc, @@ -1174,7 +1180,10 @@ int WINAPI fake_SetDIBitsToDevice( return result; } } - else if (g_ddraw.width > 0 && g_ddraw.render.hdc) + else if ( + g_ddraw.width > 0 && + g_ddraw.render.hdc && + (hwnd == g_ddraw.hwnd || (real_GetWindowLongA(hwnd, GWL_EXSTYLE) & WS_EX_TRANSPARENT))) { return real_StretchDIBits( @@ -1262,7 +1271,10 @@ int WINAPI fake_StretchDIBits( return result; } } - else if (g_ddraw.width > 0 && g_ddraw.render.hdc) + else if ( + g_ddraw.width > 0 && + g_ddraw.render.hdc && + (hwnd == g_ddraw.hwnd || (real_GetWindowLongA(hwnd, GWL_EXSTYLE) & WS_EX_TRANSPARENT))) { return real_StretchDIBits(