From a56a57b3d1093f0122d74e3e6277881973bb4a4b Mon Sep 17 00:00:00 2001 From: Eidolon Date: Sat, 16 Apr 2022 00:21:49 -0500 Subject: [PATCH] Misc changes after Kart cherry-picks --- src/m_menu.c | 10 +++++----- src/screen.c | 32 +++++++++++++++++++++++++------- 2 files changed, 30 insertions(+), 12 deletions(-) diff --git a/src/m_menu.c b/src/m_menu.c index 6383c106d..0ed7e6882 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -1381,13 +1381,13 @@ static menuitem_t OP_VideoOptionsMenu[] = {IT_HEADER, NULL, "Diagnostic", NULL, 184}, {IT_STRING | IT_CVAR, NULL, "Show FPS", &cv_ticrate, 190}, - {IT_STRING | IT_CVAR, NULL, "FPS Cap", &cv_fpscap, 195}, - {IT_STRING | IT_CVAR, NULL, "Clear Before Redraw", &cv_homremoval, 200}, - {IT_STRING | IT_CVAR, NULL, "Show \"FOCUS LOST\"", &cv_showfocuslost, 205}, + {IT_STRING | IT_CVAR, NULL, "Clear Before Redraw", &cv_homremoval, 195}, + {IT_STRING | IT_CVAR, NULL, "Show \"FOCUS LOST\"", &cv_showfocuslost, 200}, #ifdef HWRENDER - {IT_HEADER, NULL, "Renderer", NULL, 213}, - {IT_CALL | IT_STRING, NULL, "OpenGL Options...", M_OpenGLOptionsMenu, 219}, + {IT_HEADER, NULL, "Renderer", NULL, 208}, + {IT_CALL | IT_STRING, NULL, "OpenGL Options...", M_OpenGLOptionsMenu, 214}, + {IT_STRING | IT_CVAR, NULL, "FPS Cap", &cv_fpscap, 219}, #endif }; diff --git a/src/screen.c b/src/screen.c index 88898c503..b51b5472f 100644 --- a/src/screen.c +++ b/src/screen.c @@ -451,7 +451,6 @@ boolean SCR_IsAspectCorrect(INT32 width, INT32 height) ); } -static tic_t totaltics; double averageFPS = 0.0f; #define FPS_SAMPLE_RATE (50000) // How often to update FPS samples, in microseconds @@ -515,18 +514,37 @@ void SCR_DisplayTicRate(void) if (gamestate == GS_NULL) return; - if (totaltics <= cap/2) ticcntcolor = V_REDMAP; - else if (totaltics >= cap) ticcntcolor = V_GREENMAP; + if (cap > 0) + { + if (fps <= cap / 2.0) ticcntcolor = V_REDMAP; + else if (fps <= cap * 0.90) ticcntcolor = V_YELLOWMAP; + else ticcntcolor = V_GREENMAP; + } + else + { + ticcntcolor = V_GREENMAP; + } + if (cv_ticrate.value == 2) // compact counter V_DrawString(vid.width-(32*vid.dupx), h, ticcntcolor|V_NOSCALESTART|V_USERHUDTRANS, va("%04.0f", fps)); else if (cv_ticrate.value == 1) // full counter { - V_DrawString(vid.width-(104*vid.dupx), h, - V_YELLOWMAP|V_NOSCALESTART|V_USERHUDTRANS, "FPS:"); - V_DrawString(vid.width-(72*vid.dupx), h, - ticcntcolor|V_NOSCALESTART|V_USERHUDTRANS, va("%4.0f/%4u", fps, cap)); + if (cap > 0) + { + V_DrawString(vid.width-(104*vid.dupx), h, + V_YELLOWMAP|V_NOSCALESTART|V_USERHUDTRANS, "FPS:"); + V_DrawString(vid.width-(72*vid.dupx), h, + ticcntcolor|V_NOSCALESTART|V_USERHUDTRANS, va("%4.0f/%4u", fps, cap)); + } + else + { + V_DrawString(vid.width-(88*vid.dupx), h, + V_YELLOWMAP|V_NOSCALESTART|V_USERHUDTRANS, "FPS:"); + V_DrawString(vid.width-(56*vid.dupx), h, + ticcntcolor|V_NOSCALESTART|V_USERHUDTRANS, va("%4.0f", fps)); + } } }