X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Ftools.c;h=0813343df51fcdc5cee07479518aff07ef59739d;hp=39a0d68140e3f6e47f374e489a15767d7eb27e10;hb=64f2d5695256ecfd51a6bc183bf806442d0f97ee;hpb=d2457f732e2efb77ba786691efbd3cee6a9a69b9 diff --git a/src/tools.c b/src/tools.c index 39a0d681..0813343d 100644 --- a/src/tools.c +++ b/src/tools.c @@ -419,6 +419,18 @@ void BlitScreenToBitmap(Bitmap *target_bitmap) redraw_mask |= REDRAW_FIELD; } +void DrawFramesPerSecond() +{ + char text[100]; + int font_nr = FONT_TEXT_2; + int font_width = getFontWidth(font_nr); + + sprintf(text, "%04.1f fps", global.frames_per_second); + + DrawTextExt(backbuffer, WIN_XSIZE - font_width * strlen(text), 0, text, + font_nr, BLIT_OPAQUE); +} + void BackToFront() { if (redraw_mask == REDRAW_NONE) @@ -431,6 +443,10 @@ void BackToFront() // draw masked border to all viewports, if defined DrawMaskedBorder(redraw_mask); + // draw frames per second (only if debug mode is enabled) + if (redraw_mask & REDRAW_FPS) + DrawFramesPerSecond(); + // redraw complete window if both playfield and (some) doors need redraw if (redraw_mask & REDRAW_FIELD && redraw_mask & REDRAW_DOORS) redraw_mask = REDRAW_ALL;