X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.c;h=d615d6338d5f2b914df6b1378ee135b34f84acbd;hb=1638f687279338a97d28e2a770fd63e7c789bdf8;hp=8978e70750489ebe4c15af503f0d3ae9c461537c;hpb=47da774c66f9325f9d27cddb5a697514154e2de9;p=rocksndiamonds.git diff --git a/src/game.c b/src/game.c index 8978e707..d615d633 100644 --- a/src/game.c +++ b/src/game.c @@ -11212,7 +11212,7 @@ void GameActionsExt() AdvanceFrameAndPlayerCounters(-1); /* advance counters for all players */ - if (options.debug) /* calculate frames per second */ + if (global.show_frames_per_second) { static unsigned int fps_counter = 0; static int fps_frames = 0; @@ -11220,15 +11220,20 @@ void GameActionsExt() fps_frames++; - if (fps_delay_ms >= 500) /* calculate fps every 0.5 seconds */ + if (fps_delay_ms >= 500) /* calculate FPS every 0.5 seconds */ { global.frames_per_second = 1000 * (float)fps_frames / fps_delay_ms; fps_frames = 0; fps_counter = Counter(); + + /* always draw FPS to screen after FPS value was updated */ + redraw_mask |= REDRAW_FPS; } - redraw_mask |= REDRAW_FPS; + /* only draw FPS if no screen areas are deactivated (invisible warp mode) */ + if (GetDrawDeactivationMask() == REDRAW_NONE) + redraw_mask |= REDRAW_FPS; } }