From 0e173ef6a859d1b3715a5ed4c0c437a87054aec2 Mon Sep 17 00:00:00 2001 From: FunkyFr3sh Date: Sun, 1 Sep 2024 13:32:03 +0200 Subject: [PATCH] add preset for lego loco --- src/config.c | 12 +++++++++++- src/winapi_hooks.c | 20 ++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/src/config.c b/src/config.c index 79d6e62..efe3bd2 100644 --- a/src/config.c +++ b/src/config.c @@ -711,7 +711,8 @@ static void cfg_create_ini() "adjmouse=true\n" "\n" "; Chris Sawyer's Locomotion\n" - "[LOCO]\n" + "[LOCO/2]\n" + "checkfile=.\\LOCO.EXE\n" "adjmouse=true\n" "\n" "; Cultures 2\n" @@ -1057,6 +1058,15 @@ static void cfg_create_ini() "fixchilds=3\n" "lock_mouse_top_left=true\n" "\n" + "; LEGO LOCO - NOT WORKING YET\n" + "[LOCO]\n" + "checkfile=.\\LEGO.INI\n" + "fake_mode=1024x768x16\n" + "posX=0\n" + "posY=0\n" + "border=false\n" + "fullscreen=false\n" + "\n" "; Little Bear Kindergarten/Preschool Thinking Adventures: Parent's Progress Report\n" "[LBPR]\n" "adjmouse=false\n" diff --git a/src/winapi_hooks.c b/src/winapi_hooks.c index 12e6056..78e18ff 100644 --- a/src/winapi_hooks.c +++ b/src/winapi_hooks.c @@ -1664,6 +1664,26 @@ HWND WINAPI fake_CreateWindowExA( Y = pt.y + align_y; } + /* Center Lego Loco overlays */ + if (_strcmpi(lpWindowName, "LEGO LOCO") == 0 && + g_ddraw.ref && g_ddraw.hwnd && hWndParent == g_ddraw.hwnd && + g_ddraw.width && + (dwStyle & WS_POPUP)) + { + /* not working currently, game probably moves it with SetWindowPos or MoveWindow afterwards + POINT pt = { 0, 0 }; + real_ClientToScreen(g_ddraw.hwnd, &pt); + + int added_height = g_ddraw.render.height - g_ddraw.height; + int added_width = g_ddraw.render.width - g_ddraw.width; + int align_y = added_height > 0 ? added_height / 2 : 0; + int align_x = added_width > 0 ? added_width / 2 : 0; + + X = pt.x + align_x; + 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 &&