diff options
author | neonloop | 2021-03-12 22:18:28 +0000 |
---|---|---|
committer | neonloop | 2021-03-12 22:18:28 +0000 |
commit | 6c76f136e5c0793dbb3d716b51cfccd4b1e21cdf (patch) | |
tree | 1f9c51f9571440eaa8fd3bf5a3581359fc634ca7 /src | |
parent | cd20f918cf1f7c7b3f63b61d64891d3b03cbe340 (diff) | |
download | snes9x2002-6c76f136e5c0793dbb3d716b51cfccd4b1e21cdf.tar.gz snes9x2002-6c76f136e5c0793dbb3d716b51cfccd4b1e21cdf.tar.bz2 snes9x2002-6c76f136e5c0793dbb3d716b51cfccd4b1e21cdf.zip |
Brings back the built-in frame counter
Diffstat (limited to 'src')
-rw-r--r-- | src/gfx16.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/gfx16.c b/src/gfx16.c index db35e6a..0c17f34 100644 --- a/src/gfx16.c +++ b/src/gfx16.c @@ -661,6 +661,9 @@ void S9xEndScreenRefresh() IPPU.ColorsChanged = FALSE; //} + if (Settings.DisplayFrameRate) + S9xDisplayFrameRate(); + S9xDeinitUpdate(IPPU.RenderedScreenWidth, IPPU.RenderedScreenHeight, 1); } @@ -2531,6 +2534,19 @@ void DisplayChar(uint8* Screen, uint8 c) } } +void S9xDisplayFrameRate() +{ + char string[16]; + uint8 *Screen = GFX.Screen; + + sprintf(string, "%02d/%02d", IPPU.DisplayedRenderedFrameCount, (int)Memory.ROMFramesPerSecond); + + for (int i = 0; i < 5; i++) { + DisplayChar(Screen, string[i]); + Screen += (font_width - 1) * sizeof(uint16); + } +} + static void S9xUpdateScreenTransparency() // ~30-50ms! (called from FLUSH_REDRAW()) { uint32 starty = GFX.StartY; |