rnd-20031116-2-src
[rocksndiamonds.git] / src / libgame / text.c
index d7c264d87115e2609e221102cd3a2f28b89e8123..f41635ae3f4863b659f9283a7238bcb761cda5d3 100644 (file)
@@ -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;
 }