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

revert some changes

This commit is contained in:
FunkyFr3sh 2024-06-02 23:57:21 +02:00
parent ba43c9525c
commit fbaabef443

View File

@ -419,12 +419,12 @@ HRESULT dds_Blt(
if ((This->caps & DDSCAPS_PRIMARYSURFACE) && g_ddraw.ref && g_ddraw.render.run)
{
InterlockedExchange(&g_ddraw.render.surface_updated, TRUE);
ReleaseSemaphore(g_ddraw.render.sem, 1, NULL);
if (!(This->flags & DDSD_BACKBUFFERCOUNT) || This->last_flip_tick + FLIP_REDRAW_TIMEOUT < timeGetTime())
{
This->last_blt_tick = timeGetTime();
ReleaseSemaphore(g_ddraw.render.sem, 1, NULL);
SwitchToThread();
if (g_ddraw.ticks_limiter.tick_length > 0)
@ -651,14 +651,15 @@ HRESULT dds_BltFast(
if ((This->caps & DDSCAPS_PRIMARYSURFACE) && g_ddraw.ref && g_ddraw.render.run)
{
DWORD time = timeGetTime();
InterlockedExchange(&g_ddraw.render.surface_updated, TRUE);
ReleaseSemaphore(g_ddraw.render.sem, 1, NULL);
DWORD time = timeGetTime();
if (!(This->flags & DDSD_BACKBUFFERCOUNT) ||
(This->last_flip_tick + FLIP_REDRAW_TIMEOUT < time && This->last_blt_tick + FLIP_REDRAW_TIMEOUT < time))
{
ReleaseSemaphore(g_ddraw.render.sem, 1, NULL);
if (g_config.limiter_type == LIMIT_BLTFAST && g_ddraw.ticks_limiter.tick_length > 0)
{
g_ddraw.ticks_limiter.dds_unlock_limiter_disabled = TRUE;
@ -1004,7 +1005,14 @@ HRESULT dds_ReleaseDC(IDirectDrawSurfaceImpl* This, HDC hDC)
if ((This->caps & DDSCAPS_PRIMARYSURFACE) && g_ddraw.ref && g_ddraw.render.run)
{
InterlockedExchange(&g_ddraw.render.surface_updated, TRUE);
ReleaseSemaphore(g_ddraw.render.sem, 1, NULL);
DWORD time = timeGetTime();
if (!(This->flags & DDSD_BACKBUFFERCOUNT) ||
(This->last_flip_tick + FLIP_REDRAW_TIMEOUT < time && This->last_blt_tick + FLIP_REDRAW_TIMEOUT < time))
{
ReleaseSemaphore(g_ddraw.render.sem, 1, NULL);
}
}
return DD_OK;
@ -1173,14 +1181,15 @@ HRESULT dds_Unlock(IDirectDrawSurfaceImpl* This, LPRECT lpRect)
if ((This->caps & DDSCAPS_PRIMARYSURFACE) && g_ddraw.ref && g_ddraw.render.run)
{
DWORD time = timeGetTime();
InterlockedExchange(&g_ddraw.render.surface_updated, TRUE);
ReleaseSemaphore(g_ddraw.render.sem, 1, NULL);
DWORD time = timeGetTime();
if (!(This->flags & DDSD_BACKBUFFERCOUNT) ||
(This->last_flip_tick + FLIP_REDRAW_TIMEOUT < time && This->last_blt_tick + FLIP_REDRAW_TIMEOUT < time))
{
ReleaseSemaphore(g_ddraw.render.sem, 1, NULL);
if (g_ddraw.ticks_limiter.tick_length > 0 && !g_ddraw.ticks_limiter.dds_unlock_limiter_disabled)
util_limit_game_ticks();
}