From 33476726d2c39268c5db8ed250bd590fd7413975 Mon Sep 17 00:00:00 2001 From: FunkyFr3sh Date: Wed, 29 May 2024 06:16:57 +0200 Subject: [PATCH] update learning company games presets --- inc/config.h | 1 + src/config.c | 55 +++++++++++++++++----------------------------------- src/dd.c | 7 +++++-- 3 files changed, 24 insertions(+), 39 deletions(-) diff --git a/inc/config.h b/inc/config.h index 135f0df..4d56eac 100644 --- a/inc/config.h +++ b/inc/config.h @@ -78,6 +78,7 @@ typedef struct CNCDDRAWCONFIG BOOL center_cursor_fix; char fake_mode[128]; BOOL wine_allow_resize; + BOOL lock_mouse_top_left; /* Hotkeys */ diff --git a/src/config.c b/src/config.c index 379ce15..2604d52 100644 --- a/src/config.c +++ b/src/config.c @@ -91,6 +91,7 @@ void cfg_load() GET_BOOL(g_config.center_cursor_fix, "center_cursor_fix", FALSE); GET_STRING("fake_mode", "", g_config.fake_mode, sizeof(g_config.fake_mode)); GET_BOOL(g_config.wine_allow_resize, "wine_allow_resize", FALSE); + GET_BOOL(g_config.lock_mouse_top_left, "lock_mouse_top_left", FALSE); /* Hotkeys */ @@ -112,6 +113,9 @@ void cfg_load() GameHandlesClose = GameHandlesClose || g_config.infantryhack; + if (g_config.lock_mouse_top_left) + g_config.adjmouse = FALSE; + ini_free(&g_config.ini); } @@ -305,6 +309,7 @@ static void cfg_create_ini() "center_cursor_fix=false\n" ";fake_mode=640x480x32\n" "wine_allow_resize=false\n" + "lock_mouse_top_left=false\n" "\n" "\n" "\n" @@ -489,7 +494,7 @@ static void cfg_create_ini() "[TIME32]\n" "allow_wmactivate=true\n" "renderer=gdi\n" - "adjmouse=false\n" + "lock_mouse_top_left=true\n" "width=0\n" "height=0\n" "resizable=false\n" @@ -680,59 +685,43 @@ static void cfg_create_ini() "\n" "; ClueFinders 4th Grade Adventures\n" "[4thadv32]\n" - "adjmouse=false\n" "fixchilds=3\n" - "maintas=false\n" - "boxing=false\n" + "lock_mouse_top_left=true\n" "\n" "; ClueFinders 4th Grade Adventures\n" "[4thad32]\n" - "adjmouse=false\n" "fixchilds=3\n" - "maintas=false\n" - "boxing=false\n" + "lock_mouse_top_left=true\n" "\n" "; ClueFinders 5th Grade Adventures\n" "[5thadv32]\n" - "adjmouse=false\n" "fixchilds=3\n" - "maintas=false\n" - "boxing=false\n" + "lock_mouse_top_left=true\n" "\n" "; ClueFinders 5th Grade Adventures\n" "[5thad32]\n" - "adjmouse=false\n" "fixchilds=3\n" - "maintas=false\n" - "boxing=false\n" + "lock_mouse_top_left=true\n" "\n" "; ClueFinders 6th Grade Adventures\n" "[CF6]\n" - "adjmouse=false\n" "fixchilds=3\n" - "maintas=false\n" - "boxing=false\n" + "lock_mouse_top_left=true\n" "\n" "; ClueFinders(R) Reading Adventures Ages 9-12\n" "[cfread]\n" - "adjmouse=false\n" "fixchilds=3\n" - "maintas=false\n" - "boxing=false\n" + "lock_mouse_top_left=true\n" "\n" "; ClueFinders Math Adventures 1.0\n" "[TCFM32]\n" - "adjmouse=false\n" "fixchilds=3\n" - "maintas=false\n" - "boxing=false\n" + "lock_mouse_top_left=true\n" "\n" "; ClueFinders Math Adventures 2.0\n" "[cfmath32]\n" - "adjmouse=false\n" "fixchilds=3\n" - "maintas=false\n" - "boxing=false\n" + "lock_mouse_top_left=true\n" "\n" "; Divine Divinity\n" "[div]\n" @@ -1023,31 +1012,23 @@ static void cfg_create_ini() "\n" "; Reader Rabbit Toddler: Fly the Dreamship\n" "[Fly the Dreamship]\n" - "adjmouse=false\n" "fixchilds=3\n" - "maintas=false\n" - "boxing=false\n" + "lock_mouse_top_left=true\n" "\n" "; Reader Rabbit Toddler: Playtime for Baby\n" "[rrbaby]\n" - "adjmouse=false\n" "fixchilds=3\n" - "maintas=false\n" - "boxing=false\n" + "lock_mouse_top_left=true\n" "\n" "; Reader Rabbit Learn To Read With Phonics\n" "[Superr]\n" - "adjmouse=false\n" "fixchilds=3\n" - "maintas=false\n" - "boxing=false\n" + "lock_mouse_top_left=true\n" "\n" "; Reader Rabbit's(R) Math Ages 6 - 9 (2002)\n" "[RRM69_32]\n" - "adjmouse=false\n" "fixchilds=3\n" - "maintas=false\n" - "boxing=false\n" + "lock_mouse_top_left=true\n" "\n" "; Reader Rabbit Reading Ages 4-6\n" "[rrirjw32]\n" diff --git a/src/dd.c b/src/dd.c index 494177a..5a72770 100644 --- a/src/dd.c +++ b/src/dd.c @@ -878,8 +878,11 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl g_ddraw.mouse.unscale_y = ((float)(g_ddraw.height - 1) / (g_ddraw.render.viewport.height - 1)); } - g_ddraw.mouse.x_adjust = g_ddraw.render.viewport.x; - g_ddraw.mouse.y_adjust = g_ddraw.render.viewport.y; + if (!g_config.lock_mouse_top_left) + { + g_ddraw.mouse.x_adjust = g_ddraw.render.viewport.x; + g_ddraw.mouse.y_adjust = g_ddraw.render.viewport.y; + } g_ddraw.mouse.rc.left = g_ddraw.mouse.x_adjust; g_ddraw.mouse.rc.top = g_ddraw.mouse.y_adjust;