X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Ftext.c;h=f41635ae3f4863b659f9283a7238bcb761cda5d3;hb=d292f0ad61b32968ca4a6750b93ac7e5b99ff00d;hp=6b5f03e0e521529b36f5f9b088342cd3cb029459;hpb=c781e660ed2fe6ad36c9eee0a77d64ee07163030;p=rocksndiamonds.git diff --git a/src/libgame/text.c b/src/libgame/text.c index 6b5f03e0..f41635ae 100644 --- a/src/libgame/text.c +++ b/src/libgame/text.c @@ -326,8 +326,8 @@ 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 = getFontHeight(font_nr); @@ -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; }