X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Ftext.c;h=b771c1a3159056524f0f71a3fd701affe5a4ba70;hb=14b5ed161164a42c7513700fe101c4bd2e3b63e3;hp=61feaae192fc68869015f868261d124ed2024150;hpb=6fd606e95cceca17c82e2f97e2ca2832b238f96d;p=rocksndiamonds.git diff --git a/src/libgame/text.c b/src/libgame/text.c index 61feaae1..b771c1a3 100644 --- a/src/libgame/text.c +++ b/src/libgame/text.c @@ -195,10 +195,14 @@ void getFontCharSource(int font_nr, char c, Bitmap **bitmap, int *x, int *y) int maxWordLengthInString(char *text) { char *text_ptr; - int max_word_len = 0; + int word_len = 0, max_word_len = 0; for (text_ptr = text; *text_ptr; text_ptr++) - max_word_len = (*text_ptr != ' ' ? max_word_len + 1 : 0); + { + word_len = (*text_ptr != ' ' ? word_len + 1 : 0); + + max_word_len = MAX(word_len, max_word_len); + } return max_word_len; } @@ -357,10 +361,23 @@ void DrawText(int x, int y, char *text, int font_nr) DrawTextExt(drawto, x, y, text, font_nr, mask_mode); +#if 1 + if (IN_GFX_FIELD_FULL(x, y)) + redraw_mask |= REDRAW_FIELD; + else if (IN_GFX_DOOR_1(x, y)) + redraw_mask |= REDRAW_DOOR_1; + else if (IN_GFX_DOOR_2(x, y)) + redraw_mask |= REDRAW_DOOR_2; + else if (IN_GFX_DOOR_3(x, y)) + redraw_mask |= REDRAW_DOOR_3; + else + redraw_mask |= REDRAW_ALL; +#else if (x < gfx.dx) redraw_mask |= REDRAW_FIELD; else if (y < gfx.vy || gfx.vy == 0) redraw_mask |= REDRAW_DOOR_1; +#endif } void DrawTextExt(DrawBuffer *dst_bitmap, int dst_x, int dst_y, char *text,