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

replace IsIconic with custom function

This commit is contained in:
FunkyFr3sh 2023-08-20 23:12:00 +02:00
parent 5c23d2d8a5
commit 66e86aa37c
7 changed files with 17 additions and 8 deletions

View File

@ -5,6 +5,7 @@
#include <windows.h>
BOOL util_is_minimized(HWND hwnd);
BOOL util_is_avx_supported();
void util_limit_game_ticks();
void util_update_bnet_pos(int newX, int newY);

View File

@ -861,7 +861,7 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl
x = y = 0;
}
if (IsIconic(g_ddraw->hwnd))
if (util_is_minimized(g_ddraw->hwnd))
real_ShowWindow(g_ddraw->hwnd, SW_RESTORE);
RECT dst = { x, y, g_ddraw->render.width + x, g_ddraw->render.height + y };
@ -930,7 +930,7 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl
{
if (g_ddraw->nonexclusive)
{
if (IsIconic(g_ddraw->hwnd))
if (util_is_minimized(g_ddraw->hwnd))
real_ShowWindow(g_ddraw->hwnd, SW_RESTORE);
real_SetWindowPos(
@ -972,7 +972,7 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl
real_GetWindowLongA(g_ddraw->hwnd, GWL_STYLE) | WS_MINIMIZEBOX);
}
if (IsIconic(g_ddraw->hwnd))
if (util_is_minimized(g_ddraw->hwnd))
real_ShowWindow(g_ddraw->hwnd, SW_RESTORE);
real_SetWindowPos(

View File

@ -206,7 +206,7 @@ int dbg_printf(const char* fmt, ...)
void dbg_print_rect(char* info, LPRECT rect)
{
#ifdef _DEBUG_X
#ifdef _DEBUG
if (rect)
{
TRACE(

View File

@ -3,6 +3,7 @@
#include "winapi_hooks.h"
#include "dd.h"
#include "hook.h"
#include "utils.h"
BOOL g_mouse_locked;
@ -14,7 +15,7 @@ void mouse_lock()
if (g_ddraw->devmode || g_ddraw->bnet_active || !g_ddraw->hwnd)
return;
if (g_hook_active && !g_mouse_locked && !IsIconic(g_ddraw->hwnd))
if (g_hook_active && !g_mouse_locked && !util_is_minimized(g_ddraw->hwnd))
{
int game_count = InterlockedExchangeAdd((LONG*)&g_ddraw->show_cursor_count, 0);
int cur_count = real_ShowCursor(TRUE) - 1;

View File

@ -11,6 +11,13 @@
#include "config.h"
BOOL util_is_minimized(HWND hwnd)
{
RECT rc = { 0 };
return IsIconic(hwnd) || (real_GetClientRect(hwnd, &rc) && (rc.right - rc.left == 0 || rc.bottom - rc.top == 0));
}
BOOL util_is_avx_supported()
{
const DWORD XMM_STATE_BIT = 1 << 1;

View File

@ -170,7 +170,7 @@ BOOL WINAPI fake_ClipCursor(const RECT* lpRect)
CopyRect(&g_ddraw->mouse.rc, &dst_rc);
if (g_mouse_locked && !IsIconic(g_ddraw->hwnd))
if (g_mouse_locked && !util_is_minimized(g_ddraw->hwnd))
{
real_MapWindowPoints(g_ddraw->hwnd, HWND_DESKTOP, (LPPOINT)&dst_rc, 2);

View File

@ -137,7 +137,7 @@ LRESULT CALLBACK fake_WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam
}
case WM_D3D9DEVICELOST:
{
if (((!g_ddraw->windowed && !g_ddraw->nonexclusive) || !IsIconic(g_ddraw->hwnd)) &&
if (((!g_ddraw->windowed && !g_ddraw->nonexclusive) || !util_is_minimized(g_ddraw->hwnd)) &&
g_ddraw->renderer == d3d9_render_main &&
d3d9_on_device_lost())
{
@ -531,7 +531,7 @@ LRESULT CALLBACK fake_WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam
{
if (g_ddraw->renderer == d3d9_render_main) /* Needed for Windows 7 */
real_ShowWindow(g_ddraw->hwnd, SW_RESTORE);
ChangeDisplaySettings(&g_ddraw->render.mode, CDS_FULLSCREEN);
real_ShowWindow(g_ddraw->hwnd, SW_RESTORE);
mouse_lock();