X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Flibgame%2Ftext.c;h=01689a73a5e85f9cef2a424f00157076185a0c18;hp=ccf32e700bbd070d6d753cad2a7d9599db773427;hb=c71f734c9f306daaca1a262d9f07ddae5bc71073;hpb=81649ac54979cfd96571d7295b12fcccf58b0fd9 diff --git a/src/libgame/text.c b/src/libgame/text.c index ccf32e70..01689a73 100644 --- a/src/libgame/text.c +++ b/src/libgame/text.c @@ -187,14 +187,20 @@ void getFontCharSource(int font_nr, char c, Bitmap **bitmap, int *x, int *y) void DrawInitText(char *text, int ypos, int font_nr) { - if (window && + if (window != NULL && gfx.num_fonts > 0 && gfx.font_bitmap_info[font_nr].bitmap != NULL) { - ClearRectangle(window, 0, ypos, video.width, getFontHeight(font_nr)); - DrawTextExt(window, (video.width - getTextWidth(text, font_nr)) / 2, ypos, - text, font_nr, BLIT_OPAQUE); - FlushDisplay(); + int x = (video.width - getTextWidth(text, font_nr)) / 2; + int y = ypos; + int width = video.width; + int height = getFontHeight(font_nr); + + ClearRectangle(drawto, 0, y, width, height); + DrawTextExt(drawto, x, y, text, font_nr, BLIT_OPAQUE); + + /* this makes things significantly faster than directly drawing to window */ + BlitBitmap(drawto, window, 0, y, width, height, 0, y); } }