From 910bade5ba6c86a2a977950ece2747a6c0d8a0e9 Mon Sep 17 00:00:00 2001 From: FunkyFr3sh Date: Sat, 29 May 2021 15:29:57 +0200 Subject: [PATCH] some tweaks for minfps settings --- src/config.c | 2 +- src/render_d3d9.c | 5 +++-- src/render_ogl.c | 5 +++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/config.c b/src/config.c index 1a94cbe..f7351c9 100644 --- a/src/config.c +++ b/src/config.c @@ -312,7 +312,7 @@ static void cfg_create_ini() "; Note: 'hook=2' will usually work for problematic games, but 'hook=2' should be combined with renderer=gdi\n" "hook=4\n" "\n" - "; Force minimum FPS, possible values: 0 = disabled, -1 = use 'maxfps=' value, 1-1000 = custom FPS\n" + "; Force minimum FPS, possible values: 0 = disabled, -1 = use 'maxfps=' value, -2 = same as -1 but force full redraw, 1-1000 = custom FPS\n" "; Note: Set this to a low value such as 5 or 10 if some parts of the game are not being displayed (e.g. menus or loading screens)\n" "minfps=0\n" "\n" diff --git a/src/render_d3d9.c b/src/render_d3d9.c index e2d94d4..71b7572 100644 --- a/src/render_d3d9.c +++ b/src/render_d3d9.c @@ -348,7 +348,7 @@ DWORD WINAPI d3d9_render_main(void) D3DLOCKED_RECT lock_rc; - if (InterlockedExchange(&g_ddraw->render.surface_updated, FALSE)) + if (InterlockedExchange(&g_ddraw->render.surface_updated, FALSE) || g_ddraw->render.minfps == -2) { if (++tex_index >= D3D9_TEXTURE_COUNT) tex_index = 0; @@ -374,7 +374,8 @@ DWORD WINAPI d3d9_render_main(void) } } - if (g_ddraw->bpp == 8 && InterlockedExchange(&g_ddraw->render.palette_updated, FALSE)) + if (g_ddraw->bpp == 8 && + (InterlockedExchange(&g_ddraw->render.palette_updated, FALSE) || g_ddraw->render.minfps == -2)) { if (++pal_index >= D3D9_TEXTURE_COUNT) pal_index = 0; diff --git a/src/render_ogl.c b/src/render_ogl.c index 0252200..474513d 100644 --- a/src/render_ogl.c +++ b/src/render_ogl.c @@ -580,7 +580,8 @@ static void ogl_render() } } - if (g_ddraw->bpp == 8 && InterlockedExchange(&g_ddraw->render.palette_updated, FALSE)) + if (g_ddraw->bpp == 8 && + (InterlockedExchange(&g_ddraw->render.palette_updated, FALSE) || g_ddraw->render.minfps == -2)) { if (++pal_index >= TEXTURE_COUNT) pal_index = 0; @@ -599,7 +600,7 @@ static void ogl_render() g_ddraw->primary->palette->data_bgr); } - if (InterlockedExchange(&g_ddraw->render.surface_updated, FALSE)) + if (InterlockedExchange(&g_ddraw->render.surface_updated, FALSE) || g_ddraw->render.minfps == -2) { if (++tex_index >= TEXTURE_COUNT) tex_index = 0;