From e77e983754542a8b02ac7319655d7658284d6953 Mon Sep 17 00:00:00 2001 From: Iru Cai Date: Thu, 13 May 2021 21:03:06 +0800 Subject: use window_util.c --- asm/window_util.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 asm/window_util.c (limited to 'asm/window_util.c') diff --git a/asm/window_util.c b/asm/window_util.c new file mode 100644 index 0000000..fadc86a --- /dev/null +++ b/asm/window_util.c @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2018 Iru Cai + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +#include "window_util.h" + +wProc windowCallbacks[16]; // 48a010 +int callbackSize = 0; // 0x46cad8 + +extern HWND gWindowHandle; + +int Wait_0402_Message(wProc cb, int a2) +{ + callbackSize++; + windowCallbacks[callbackSize] = cb; + PostMessageA(gWindowHandle, 0x401, 0, a2); + while (1) { + MSG msg; + if (PeekMessageA(&msg, 0, 0, 0, 1) == 0) + continue; + if (msg.message == 0x402) { + callbackSize--; + return msg.lParam; + } + TranslateMessage(&msg); + DispatchMessageA(&msg); + } +} + +void Post_0402_Message(LPARAM lp) +{ + PostMessageA(gWindowHandle, 0x402, 0, lp); +} -- cgit v1.2.3