From 1e61ebc099d88a0ea79ab2909b41eb3d66a71513 Mon Sep 17 00:00:00 2001 From: EmoonX Date: Fri, 6 Dec 2024 14:55:50 -0300 Subject: [PATCH] Fix stretched HQ cutscene videos on Claw --- src/winapi_hooks.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/winapi_hooks.c b/src/winapi_hooks.c index 3818fb5..929a1ff 100644 --- a/src/winapi_hooks.c +++ b/src/winapi_hooks.c @@ -889,13 +889,19 @@ int WINAPI fake_StretchDIBits( } else if (g_ddraw->width > 0 && g_ddraw->render.hdc) { + int base_width = g_ddraw->height * 4.0/3.0; + double scaling_factor = (double)g_ddraw->render.height / g_ddraw->height; + DestWidth = base_width * scaling_factor; + DestHeight = g_ddraw->render.height; + xDest += (g_ddraw->render.width - DestWidth) / 2; + return real_StretchDIBits( g_ddraw->render.hdc, - xDest + g_ddraw->render.viewport.x, - yDest + g_ddraw->render.viewport.y, - (int)(DestWidth * g_ddraw->render.scale_w), - (int)(DestHeight * g_ddraw->render.scale_h), + xDest, + yDest, + DestWidth, + DestHeight, xSrc, ySrc, SrcWidth,