mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-15 06:04:49 +01:00
typedef functions
This commit is contained in:
parent
a65e3d9365
commit
2fd2de207a
@ -22,6 +22,12 @@ typedef struct _D3DKMT_CLOSEADAPTER {
|
||||
UINT hAdapter;
|
||||
} D3DKMT_CLOSEADAPTER;
|
||||
|
||||
typedef HRESULT(WINAPI* DWMFLUSHPROC)(VOID);
|
||||
typedef HRESULT(WINAPI* DWMISCOMPOSITIONENABLEDPROC)(BOOL*);
|
||||
typedef NTSTATUS(WINAPI* D3DKMTWAITFORVERTICALBLANKEVENTPROC)(const D3DKMT_WAITFORVERTICALBLANKEVENT* Arg1);
|
||||
typedef NTSTATUS(WINAPI* D3DKMTOPENADAPTERFROMHDCPROC)(D3DKMT_OPENADAPTERFROMHDC* Arg1);
|
||||
typedef NTSTATUS(WINAPI* D3DKMTCLOSEADAPTERPROC)(D3DKMT_CLOSEADAPTER* Arg1);
|
||||
|
||||
typedef struct fps_limiter
|
||||
{
|
||||
DWORD tick_start;
|
||||
@ -35,11 +41,11 @@ typedef struct fps_limiter
|
||||
D3DKMT_CLOSEADAPTER close_adapter;
|
||||
HMODULE gdi32_dll;
|
||||
HMODULE dwmapi_dll;
|
||||
HRESULT(WINAPI* DwmFlush)(VOID);
|
||||
HRESULT(WINAPI* DwmIsCompositionEnabled)(BOOL*);
|
||||
NTSTATUS(WINAPI* D3DKMTWaitForVerticalBlankEvent)(const D3DKMT_WAITFORVERTICALBLANKEVENT* Arg1);
|
||||
NTSTATUS(WINAPI* D3DKMTOpenAdapterFromHdc)(D3DKMT_OPENADAPTERFROMHDC* Arg1);
|
||||
NTSTATUS(WINAPI* D3DKMTCloseAdapter)(D3DKMT_CLOSEADAPTER* Arg1);
|
||||
DWMFLUSHPROC DwmFlush;
|
||||
DWMISCOMPOSITIONENABLEDPROC DwmIsCompositionEnabled;
|
||||
D3DKMTWAITFORVERTICALBLANKEVENTPROC D3DKMTWaitForVerticalBlankEvent;
|
||||
D3DKMTOPENADAPTERFROMHDCPROC D3DKMTOpenAdapterFromHdc;
|
||||
D3DKMTCLOSEADAPTERPROC D3DKMTCloseAdapter;
|
||||
BOOL got_adapter;
|
||||
} fps_limiter;
|
||||
|
||||
|
@ -39,22 +39,19 @@ void fpsl_init()
|
||||
g_fpsl.dwmapi_dll = LoadLibraryA("dwmapi.dll");
|
||||
|
||||
g_fpsl.DwmFlush =
|
||||
(HRESULT(WINAPI*)(VOID))GetProcAddress(g_fpsl.dwmapi_dll, "DwmFlush");
|
||||
(DWMFLUSHPROC)GetProcAddress(g_fpsl.dwmapi_dll, "DwmFlush");
|
||||
|
||||
g_fpsl.DwmIsCompositionEnabled =
|
||||
(HRESULT(WINAPI*)(BOOL*))GetProcAddress(g_fpsl.dwmapi_dll, "DwmIsCompositionEnabled");
|
||||
(DWMISCOMPOSITIONENABLEDPROC)GetProcAddress(g_fpsl.dwmapi_dll, "DwmIsCompositionEnabled");
|
||||
|
||||
g_fpsl.D3DKMTWaitForVerticalBlankEvent =
|
||||
(NTSTATUS(WINAPI*)(const D3DKMT_WAITFORVERTICALBLANKEVENT * Arg1))
|
||||
GetProcAddress(g_fpsl.gdi32_dll, "D3DKMTWaitForVerticalBlankEvent");
|
||||
(D3DKMTWAITFORVERTICALBLANKEVENTPROC)GetProcAddress(g_fpsl.gdi32_dll, "D3DKMTWaitForVerticalBlankEvent");
|
||||
|
||||
g_fpsl.D3DKMTOpenAdapterFromHdc =
|
||||
(NTSTATUS(WINAPI*)(D3DKMT_OPENADAPTERFROMHDC * Arg1))
|
||||
GetProcAddress(g_fpsl.gdi32_dll, "D3DKMTOpenAdapterFromHdc");
|
||||
(D3DKMTOPENADAPTERFROMHDCPROC)GetProcAddress(g_fpsl.gdi32_dll, "D3DKMTOpenAdapterFromHdc");
|
||||
|
||||
g_fpsl.D3DKMTCloseAdapter =
|
||||
(NTSTATUS(WINAPI*)(D3DKMT_CLOSEADAPTER * Arg1))
|
||||
GetProcAddress(g_fpsl.gdi32_dll, "D3DKMTCloseAdapter");
|
||||
(D3DKMTCLOSEADAPTERPROC)GetProcAddress(g_fpsl.gdi32_dll, "D3DKMTCloseAdapter");
|
||||
}
|
||||
|
||||
BOOL fpsl_wait_for_vblank()
|
||||
|
@ -380,15 +380,26 @@ LRESULT CALLBACK fake_WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam
|
||||
case WM_NCMOUSELEAVE:
|
||||
{
|
||||
if (!g_ddraw->wine) /* hack: disable aero snap */
|
||||
real_SetWindowLongA(g_ddraw->hwnd, GWL_STYLE, GetWindowLong(g_ddraw->hwnd, GWL_STYLE) | WS_MAXIMIZEBOX);
|
||||
{
|
||||
LONG style = GetWindowLong(g_ddraw->hwnd, GWL_STYLE);
|
||||
|
||||
if (!(style & WS_MAXIMIZEBOX))
|
||||
{
|
||||
real_SetWindowLongA(g_ddraw->hwnd, GWL_STYLE, style | WS_MAXIMIZEBOX);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case WM_SYSCOMMAND:
|
||||
|
||||
if ((wParam & ~0x0F) == SC_MOVE && !g_ddraw->wine) /* hack: disable aero snap */
|
||||
{
|
||||
real_SetWindowLongA(g_ddraw->hwnd, GWL_STYLE, GetWindowLong(g_ddraw->hwnd, GWL_STYLE) & ~WS_MAXIMIZEBOX);
|
||||
LONG style = GetWindowLong(g_ddraw->hwnd, GWL_STYLE);
|
||||
|
||||
if ((style & WS_MAXIMIZEBOX))
|
||||
{
|
||||
real_SetWindowLongA(g_ddraw->hwnd, GWL_STYLE, style & ~WS_MAXIMIZEBOX);
|
||||
}
|
||||
}
|
||||
|
||||
if (wParam == SC_MAXIMIZE)
|
||||
|
Loading…
x
Reference in New Issue
Block a user