From 2efe3567ca966784b3cd514185337342317cc8e2 Mon Sep 17 00:00:00 2001 From: FunkyFr3sh Date: Mon, 27 May 2024 06:36:18 +0200 Subject: [PATCH] add workaround for learning company games --- inc/config.h | 1 + src/config.c | 10 ++++++++++ src/dd.c | 5 +++-- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/inc/config.h b/inc/config.h index 135f0df..0e8f869 100644 --- a/inc/config.h +++ b/inc/config.h @@ -99,6 +99,7 @@ typedef struct CNCDDRAWCONFIG BOOL infantryhack; BOOL stronghold_hack; BOOL mgs_hack; + BOOL learning_company_hack; } CNCDDRAWCONFIG; diff --git a/src/config.c b/src/config.c index e83191a..e1c62f0 100644 --- a/src/config.c +++ b/src/config.c @@ -109,6 +109,7 @@ void cfg_load() GET_BOOL(g_config.infantryhack, "infantryhack", FALSE); GET_BOOL(g_config.stronghold_hack, "stronghold_hack", FALSE); GET_BOOL(g_config.mgs_hack, "mgs_hack", FALSE); + GET_BOOL(g_config.learning_company_hack, "learning_company_hack", FALSE); GameHandlesClose = GameHandlesClose || g_config.infantryhack; @@ -665,6 +666,7 @@ static void cfg_create_ini() "\n" "; ClueFinders 4th Grade Adventures\n" "[4thadv32]\n" + "learning_company_hack=true\n" "adjmouse=false\n" "fixchilds=3\n" "maintas=false\n" @@ -672,6 +674,7 @@ static void cfg_create_ini() "\n" "; ClueFinders 4th Grade Adventures\n" "[4thad32]\n" + "learning_company_hack=true\n" "adjmouse=false\n" "fixchilds=3\n" "maintas=false\n" @@ -679,6 +682,7 @@ static void cfg_create_ini() "\n" "; ClueFinders 5th Grade Adventures\n" "[5thadv32]\n" + "learning_company_hack=true\n" "adjmouse=false\n" "fixchilds=3\n" "maintas=false\n" @@ -686,6 +690,7 @@ static void cfg_create_ini() "\n" "; ClueFinders 5th Grade Adventures\n" "[5thad32]\n" + "learning_company_hack=true\n" "adjmouse=false\n" "fixchilds=3\n" "maintas=false\n" @@ -693,6 +698,7 @@ static void cfg_create_ini() "\n" "; ClueFinders 6th Grade Adventures\n" "[CF6]\n" + "learning_company_hack=true\n" "adjmouse=false\n" "fixchilds=3\n" "maintas=false\n" @@ -700,6 +706,7 @@ static void cfg_create_ini() "\n" "; ClueFinders(R) Reading Adventures Ages 9-12\n" "[cfread]\n" + "learning_company_hack=true\n" "adjmouse=false\n" "fixchilds=3\n" "maintas=false\n" @@ -707,6 +714,7 @@ static void cfg_create_ini() "\n" "; ClueFinders Math Adventures 1.0\n" "[TCFM32]\n" + "learning_company_hack=true\n" "adjmouse=false\n" "fixchilds=3\n" "maintas=false\n" @@ -714,6 +722,7 @@ static void cfg_create_ini() "\n" "; ClueFinders Math Adventures 2.0\n" "[cfmath32]\n" + "learning_company_hack=true\n" "adjmouse=false\n" "fixchilds=3\n" "maintas=false\n" @@ -998,6 +1007,7 @@ static void cfg_create_ini() "\n" "; Reader Rabbit's(R) Math Ages 6 - 9 (2002)\n" "[RRM69_32]\n" + "learning_company_hack=true\n" "adjmouse=false\n" "fixchilds=3\n" "maintas=false\n" diff --git a/src/dd.c b/src/dd.c index d5a2fec..53faeec 100644 --- a/src/dd.c +++ b/src/dd.c @@ -918,11 +918,12 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl } else { + DWORD rem_flags = (g_config.learning_company_hack ? WS_SYSMENU : 0) | WS_MAXIMIZE; + real_SetWindowLongA( g_ddraw.hwnd, GWL_STYLE, - (real_GetWindowLongA(g_ddraw.hwnd, GWL_STYLE) | WS_OVERLAPPEDWINDOW) & ~(WS_MAXIMIZE)); - //(real_GetWindowLongA(g_ddraw.hwnd, GWL_STYLE) | WS_OVERLAPPEDWINDOW) & ~(WS_MAXIMIZE | WS_SYSMENU)); + (real_GetWindowLongA(g_ddraw.hwnd, GWL_STYLE) | WS_OVERLAPPEDWINDOW) & ~(rem_flags)); } LONG exstyle = real_GetWindowLongA(g_ddraw.hwnd, GWL_EXSTYLE);