fixed displaying frames per second (debug mode only)
[rocksndiamonds.git] / src / tools.c
index 39a0d68140e3f6e47f374e489a15767d7eb27e10..0813343df51fcdc5cee07479518aff07ef59739d 100644 (file)
@@ -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;