X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Ftext.c;h=f41635ae3f4863b659f9283a7238bcb761cda5d3;hb=fb8e38bdcf517d25055b236a3bb2cc1ccbf5fccc;hp=d7c264d87115e2609e221102cd3a2f28b89e8123;hpb=7a821f79cb735d048869b503279c402800afa44a;p=rocksndiamonds.git diff --git a/src/libgame/text.c b/src/libgame/text.c index d7c264d8..f41635ae 100644 --- a/src/libgame/text.c +++ b/src/libgame/text.c @@ -326,11 +326,11 @@ void DrawTextExt(DrawBuffer *dst_bitmap, int dst_x, int dst_y, char *text, } } -void DrawTextToTextArea(int x, int y, char *text, int font_nr, - int area_xsize, int area_ysize) +void DrawTextToTextArea(int x, int y, char *text, int font_nr, int line_length, + int area_xsize, int area_ysize, int mask_mode) { int area_line = 0; - int font_height = getFontWidth(font_nr); + int font_height = getFontHeight(font_nr); if (text == NULL) return; @@ -340,13 +340,16 @@ void DrawTextToTextArea(int x, int y, char *text, int font_nr, char buffer[MAX_OUTPUT_LINESIZE + 1]; int i; - for (i=0; i < area_xsize && *text; i++) + for (i=0; i < line_length && *text; i++) if ((buffer[i] = *text++) == '\n') break; - buffer[i] = '\0'; + buffer[MIN(i, area_xsize)] = '\0'; - DrawText(x, y + area_line * font_height, buffer, font_nr); + DrawTextExt(drawto, x, y + area_line * font_height, buffer, font_nr, + mask_mode); area_line++; } + + redraw_mask |= REDRAW_FIELD; }