From 43224a0f65fffb5fd022a32bb5e7ae71e293eb2d Mon Sep 17 00:00:00 2001 From: FunkyFr3sh Date: Tue, 13 Aug 2019 15:46:05 +0200 Subject: [PATCH] add resizeable bool --- inc/main.h | 1 + src/main.c | 23 ++++++++++++++++++++++- src/settings.c | 1 + 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/inc/main.h b/inc/main.h index a5d81a1..bfaa25a 100644 --- a/inc/main.h +++ b/inc/main.h @@ -128,6 +128,7 @@ typedef struct IDirectDrawImpl BOOL altenter; BOOL hidecursor; BOOL accurateTimers; + BOOL resizable; BOOL bnetActive; BOOL bnetWasFullscreen; SpeedLimiter ticksLimiter; diff --git a/src/main.c b/src/main.c index a594974..4f720cf 100644 --- a/src/main.c +++ b/src/main.c @@ -1016,10 +1016,31 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) case WM_NCLBUTTONUP: case WM_NCACTIVATE: case WM_NCPAINT: - case WM_NCHITTEST: { return DefWindowProc(hWnd, uMsg, wParam, lParam); } + case WM_NCHITTEST: + { + LRESULT result = DefWindowProc(hWnd, uMsg, wParam, lParam); + + if (!ddraw->resizable) + { + switch (result) + { + case HTBOTTOM: + case HTBOTTOMLEFT: + case HTBOTTOMRIGHT: + case HTLEFT: + case HTRIGHT: + case HTTOP: + case HTTOPLEFT: + case HTTOPRIGHT: + return HTBORDER; + } + } + + return result; + } case WM_SETCURSOR: { // show resize cursor on window borders diff --git a/src/settings.c b/src/settings.c index 80c75aa..a0876d9 100644 --- a/src/settings.c +++ b/src/settings.c @@ -42,6 +42,7 @@ void Settings_Load() ddraw->noactivateapp = GetBool("noactivateapp", FALSE); ddraw->vhack = GetBool("vhack", FALSE); ddraw->accurateTimers = GetBool("accuratetimers", FALSE); + ddraw->resizable = GetBool("resizable", TRUE); WindowRect.right = GetInt("width", 0); WindowRect.bottom = GetInt("height", 0);