1
0
mirror of https://github.com/FunkyFr3sh/cnc-ddraw.git synced 2025-03-15 06:04:49 +01:00

remove duplicate code

This commit is contained in:
FunkyFr3sh 2024-09-11 18:01:21 +02:00
parent e0292792c0
commit 8ff40f986c
3 changed files with 25 additions and 30 deletions

View File

@ -6,6 +6,7 @@
HMODULE WINAPI util_enumerate_modules(_In_opt_ HMODULE hModuleLast);
void util_pull_messages();
FARPROC util_get_iat_proc(HMODULE mod, char* module_name, char* function_name);
BOOL util_caller_is_ddraw_wrapper(void* return_address);
BOOL util_is_bad_read_ptr(void* p);

View File

@ -12,6 +12,7 @@
#include "blt.h"
#include "config.h"
#include "ddclipper.h"
#include "utils.h"
#include "versionhelpers.h"
@ -50,21 +51,7 @@ HRESULT dds_Blt(
dbg_dump_dds_blt_flags(dwFlags);
dbg_dump_dds_blt_fx_flags((dwFlags & DDBLT_DDFX) && lpDDBltFx ? lpDDBltFx->dwDDFX : 0);
if (g_config.fixnotresponding &&
g_ddraw.hwnd &&
g_ddraw.last_msg_pull_tick + 1000 < timeGetTime() &&
GetCurrentThreadId() == g_ddraw.gui_thread_id &&
!IsWine())
{
/* workaround for "Not Responding" window problem */
//g_ddraw.last_msg_pull_tick = timeGetTime();
MSG msg;
if (real_PeekMessageA(&msg, g_ddraw.hwnd, 0, 0, PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessageA(&msg);
}
}
util_pull_messages();
if (g_ddraw.ref &&
g_ddraw.iskkndx &&
@ -998,21 +985,7 @@ HRESULT dds_Lock(
dbg_dump_dds_lock_flags(dwFlags);
if (g_config.fixnotresponding &&
g_ddraw.hwnd &&
g_ddraw.last_msg_pull_tick + 1000 < timeGetTime() &&
GetCurrentThreadId() == g_ddraw.gui_thread_id &&
!IsWine())
{
/* workaround for "Not Responding" window problem */
//g_ddraw.last_msg_pull_tick = timeGetTime();
MSG msg;
if (real_PeekMessageA(&msg, g_ddraw.hwnd, 0, 0, PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessageA(&msg);
}
}
util_pull_messages();
HRESULT ret = dds_GetSurfaceDesc(This, lpDDSurfaceDesc);

View File

@ -10,6 +10,7 @@
#include "render_d3d9.h"
#include "utils.h"
#include "config.h"
#include "versionhelpers.h"
/*
@ -69,6 +70,26 @@ HMODULE WINAPI util_enumerate_modules(_In_opt_ HMODULE hModuleLast)
return NULL;
}
void util_pull_messages()
{
if (g_config.fixnotresponding &&
g_ddraw.hwnd &&
g_ddraw.last_msg_pull_tick &&
g_ddraw.last_msg_pull_tick + 1000 < timeGetTime() &&
GetCurrentThreadId() == g_ddraw.gui_thread_id &&
!IsWine())
{
/* workaround for "Not Responding" window problem */
//g_ddraw.last_msg_pull_tick = timeGetTime();
MSG msg;
if (real_PeekMessageA(&msg, g_ddraw.hwnd, 0, 0, PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessageA(&msg);
}
}
}
FARPROC util_get_iat_proc(HMODULE mod, char* module_name, char* function_name)
{
if (!mod || mod == INVALID_HANDLE_VALUE)