From 6ddc2ad00b6a5db52c46a184fde76acaa93433ec Mon Sep 17 00:00:00 2001 From: FunkyFr3sh Date: Fri, 26 Apr 2024 01:13:50 +0200 Subject: [PATCH] #306 support cutscene upscaling for road rash --- src/utils.c | 3 ++- src/winapi_hooks.c | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/utils.c b/src/utils.c index 8fbe733..347a143 100644 --- a/src/utils.c +++ b/src/utils.c @@ -581,7 +581,8 @@ BOOL CALLBACK util_enum_child_proc(HWND hwnd, LPARAM lparam) strcmp(class_name, "VideoRenderer") == 0 || strcmp(class_name, "MCIAVI") == 0 || strcmp(class_name, "AVIWnd32") == 0 || - strcmp(class_name, "MCIWndClass") == 0) + strcmp(class_name, "MCIWndClass") == 0 || + strcmp(class_name, "AVI Window") == 0) { if (g_config.fixchilds != FIX_CHILDS_DETECT_HIDE) { diff --git a/src/winapi_hooks.c b/src/winapi_hooks.c index 9431121..12ce224 100644 --- a/src/winapi_hooks.c +++ b/src/winapi_hooks.c @@ -783,6 +783,7 @@ BOOL WINAPI fake_StretchBlt( (hwnd == g_ddraw.hwnd || (g_config.fixchilds && IsChild(g_ddraw.hwnd, hwnd) && (g_config.fixchilds == FIX_CHILDS_DETECT_HIDE || + strcmp(class_name, "AVI Window") == 0 || strcmp(class_name, "MCIAVI") == 0 || strcmp(class_name, "AVIWnd32") == 0 || strcmp(class_name, "MCIWndClass") == 0)))) @@ -1301,6 +1302,16 @@ HWND WINAPI fake_CreateWindowExA( Y = pt.y + align_y; } + /* Road Rash movies */ + if (HIWORD(lpClassName) && + _strcmpi(lpClassName, "AVI Window") == 0 && + g_ddraw.ref && g_ddraw.hwnd && g_ddraw.width && + (dwStyle & WS_POPUP)) + { + dwStyle = WS_CHILD; + hWndParent = g_ddraw.hwnd; + } + /* Fix for SMACKW32.DLL creating another window that steals the focus */ if (HIWORD(lpClassName) && _strcmpi(lpClassName, "MouseTypeWind") == 0 && g_ddraw.ref && g_ddraw.hwnd) {