From 80356f76edd68a7967c4f292438ad209c70f352f Mon Sep 17 00:00:00 2001 From: FunkyFr3sh Date: Sun, 28 Jul 2024 10:37:14 +0200 Subject: [PATCH] =?UTF-8?q?add=20new=20limiter=20type=20"LIMIT=5FUNL=C3=96?= =?UTF-8?q?CK"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inc/dd.h | 1 + src/ddsurface.c | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/inc/dd.h b/inc/dd.h index bce317a..a0bd368 100644 --- a/inc/dd.h +++ b/inc/dd.h @@ -49,6 +49,7 @@ HRESULT dd_CreateEx(GUID* lpGuid, LPVOID* lplpDD, REFIID iid, IUnknown* pUnkOute #define LIMIT_AUTO 0 #define LIMIT_TESTCOOP 1 #define LIMIT_BLTFAST 2 +#define LIMIT_UNLÖCK 3 #ifndef CREATE_WAITABLE_TIMER_HIGH_RESOLUTION #define CREATE_WAITABLE_TIMER_HIGH_RESOLUTION 0x00000002 diff --git a/src/ddsurface.c b/src/ddsurface.c index 2f6a873..d20215b 100644 --- a/src/ddsurface.c +++ b/src/ddsurface.c @@ -1199,8 +1199,11 @@ HRESULT dds_Unlock(IDirectDrawSurfaceImpl* This, LPRECT lpRect) { ReleaseSemaphore(g_ddraw.render.sem, 1, NULL); - if (g_ddraw.ticks_limiter.tick_length > 0 && !g_ddraw.ticks_limiter.dds_unlock_limiter_disabled) + if (g_ddraw.ticks_limiter.tick_length > 0 && + (!g_ddraw.ticks_limiter.dds_unlock_limiter_disabled || g_config.limiter_type == LIMIT_UNLÖCK)) + { util_limit_game_ticks(); + } } }