mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-15 06:04:49 +01:00
remove accuratetimers setting
This commit is contained in:
parent
caf376801a
commit
02dcfd96b6
1
inc/dd.h
1
inc/dd.h
@ -141,7 +141,6 @@ typedef struct CNCDDRAW
|
||||
int show_cursor_count;
|
||||
BOOL allow_wmactivate;
|
||||
BOOL opengl_core;
|
||||
BOOL accurate_timers;
|
||||
BOOL resizable;
|
||||
BOOL toggle_borderless;
|
||||
BOOL nonexclusive;
|
||||
|
11
src/config.c
11
src/config.c
@ -33,7 +33,6 @@ void cfg_load()
|
||||
g_ddraw->vsync = cfg_get_bool("vsync", FALSE);
|
||||
g_ddraw->noactivateapp = cfg_get_bool("noactivateapp", FALSE);
|
||||
g_ddraw->vhack = cfg_get_bool("vhack", FALSE);
|
||||
g_ddraw->accurate_timers = cfg_get_bool("accuratetimers", FALSE);
|
||||
g_ddraw->resizable = cfg_get_bool("resizable", TRUE);
|
||||
g_ddraw->toggle_borderless = cfg_get_bool("toggle_borderless", FALSE);
|
||||
g_ddraw->nonexclusive = cfg_get_bool("nonexclusive", FALSE);
|
||||
@ -94,15 +93,13 @@ void cfg_load()
|
||||
}
|
||||
|
||||
/* can't fully set it up here due to missing g_ddraw->mode.dmDisplayFrequency */
|
||||
if (g_ddraw->accurate_timers || g_ddraw->vsync)
|
||||
g_fpsl.htimer = CreateWaitableTimer(NULL, TRUE, NULL);
|
||||
g_fpsl.htimer = CreateWaitableTimer(NULL, TRUE, NULL);
|
||||
|
||||
g_ddraw->maxgameticks = cfg_get_int("maxgameticks", 0);
|
||||
|
||||
if (g_ddraw->maxgameticks > 0 && g_ddraw->maxgameticks <= 1000)
|
||||
{
|
||||
if (g_ddraw->accurate_timers)
|
||||
g_ddraw->ticks_limiter.htimer = CreateWaitableTimer(NULL, TRUE, NULL);
|
||||
g_ddraw->ticks_limiter.htimer = CreateWaitableTimer(NULL, TRUE, NULL);
|
||||
|
||||
float len = 1000.0f / g_ddraw->maxgameticks;
|
||||
g_ddraw->ticks_limiter.tick_length_ns = (LONGLONG)(len * 10000);
|
||||
@ -112,8 +109,7 @@ void cfg_load()
|
||||
if (g_ddraw->maxgameticks >= 0 || g_ddraw->maxgameticks == -2)
|
||||
{
|
||||
/* always using 60 fps for flip... */
|
||||
if (g_ddraw->accurate_timers)
|
||||
g_ddraw->flip_limiter.htimer = CreateWaitableTimer(NULL, TRUE, NULL);
|
||||
g_ddraw->flip_limiter.htimer = CreateWaitableTimer(NULL, TRUE, NULL);
|
||||
|
||||
float flip_len = 1000.0f / 60;
|
||||
g_ddraw->flip_limiter.tick_length_ns = (LONGLONG)(flip_len * 10000);
|
||||
@ -351,7 +347,6 @@ static void cfg_create_ini()
|
||||
"max_resolutions=0\n"
|
||||
"limit_bltfast=false\n"
|
||||
"game_handles_close=false\n"
|
||||
"accuratetimers=false\n"
|
||||
"fixpitch=true\n"
|
||||
"fixnotresponding=false\n"
|
||||
"lock_surfaces=false\n"
|
||||
|
15
src/dd.c
15
src/dd.c
@ -1030,21 +1030,20 @@ HRESULT dd_WaitForVerticalBlank(DWORD dwFlags, HANDLE hEvent)
|
||||
|
||||
if (g_ddraw->flip_limiter.htimer)
|
||||
{
|
||||
FILETIME last_flip_ft = { 0 };
|
||||
GetSystemTimeAsFileTime(&last_flip_ft);
|
||||
FILETIME ft = { 0 };
|
||||
GetSystemTimeAsFileTime(&ft);
|
||||
|
||||
if (!g_ddraw->flip_limiter.due_time.QuadPart)
|
||||
if (CompareFileTime((FILETIME*)&g_ddraw->flip_limiter.due_time, &ft) == -1)
|
||||
{
|
||||
memcpy(&g_ddraw->flip_limiter.due_time, &last_flip_ft, sizeof(LARGE_INTEGER));
|
||||
memcpy(&g_ddraw->flip_limiter.due_time, &ft, sizeof(LARGE_INTEGER));
|
||||
}
|
||||
else
|
||||
{
|
||||
while (CompareFileTime((FILETIME*)&g_ddraw->flip_limiter.due_time, &last_flip_ft) == -1)
|
||||
g_ddraw->flip_limiter.due_time.QuadPart += g_ddraw->flip_limiter.tick_length_ns;
|
||||
|
||||
SetWaitableTimer(g_ddraw->flip_limiter.htimer, &g_ddraw->flip_limiter.due_time, 0, NULL, NULL, FALSE);
|
||||
WaitForSingleObject(g_ddraw->flip_limiter.htimer, g_ddraw->flip_limiter.tick_length * 2);
|
||||
}
|
||||
|
||||
g_ddraw->flip_limiter.due_time.QuadPart += g_ddraw->flip_limiter.tick_length_ns;
|
||||
SetWaitableTimer(g_ddraw->flip_limiter.htimer, &g_ddraw->flip_limiter.due_time, 0, NULL, NULL, FALSE);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user