aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/gfx/font.cpp39
1 files changed, 18 insertions, 21 deletions
diff --git a/engines/sci/gfx/font.cpp b/engines/sci/gfx/font.cpp
index 185e32c678..3aa1747cab 100644
--- a/engines/sci/gfx/font.cpp
+++ b/engines/sci/gfx/font.cpp
@@ -43,42 +43,39 @@ void gfxr_free_font(gfx_bitmap_font_t *font) {
}
bool gfxr_font_calculate_size(Common::Array<TextFragment> &fragments, gfx_bitmap_font_t *font, int max_width,
- const char *text, int *width, int *height,
- int *line_height_p, int *last_offset_p, int flags) {
+ const char *text, int *width, int *height, int *line_height_p, int *last_offset_p, int flags) {
- int lineheight = font->line_height;
- int maxheight = lineheight;
+ int maxheight = font->line_height;
int last_breakpoint = 0;
int last_break_width = 0;
- int max_allowed_width = max_width;
int maxwidth = 0, localmaxwidth = 0;
const char *breakpoint_ptr = NULL;
- unsigned char foo;
+ unsigned char curChar;
if (line_height_p)
- *line_height_p = lineheight;
+ *line_height_p = font->line_height;
fragments.push_back(TextFragment(text));
- while ((foo = *text++)) {
- if (foo >= font->chars_nr) {
+ while ((curChar = *text++)) {
+ if (curChar >= font->chars_nr) {
error("Invalid char 0x%02x (max. 0x%02x) encountered in text string '%s', font %04x",
- foo, font->chars_nr, text, font->ID);
+ curChar, font->chars_nr, text, font->ID);
if (font->chars_nr > ' ')
- foo = ' ';
+ curChar = ' ';
else {
return false;
}
}
- if (((foo == '\n') || (foo == 0x0d)) && !(flags & kFontNoNewlines)) {
+ if (((curChar == '\n') || (curChar == 0x0d)) && !(flags & kFontNoNewlines)) {
fragments.back().length = text - 1 - fragments.back().offset;
if (*text)
- maxheight += lineheight;
+ maxheight += font->line_height;
- if (foo == 0x0d && *text == '\n')
+ if (curChar == 0x0d && *text == '\n')
text++; // Interpret DOS-style CR LF as single NL
fragments.push_back(TextFragment(text));
@@ -88,16 +85,16 @@ bool gfxr_font_calculate_size(Common::Array<TextFragment> &fragments, gfx_bitmap
localmaxwidth = 0;
- } else { // foo != '\n'
- localmaxwidth += font->widths[foo];
+ } else { // curChar != '\n'
+ localmaxwidth += font->widths[curChar];
- if (localmaxwidth > max_allowed_width) {
+ if (localmaxwidth > max_width) {
int blank_break = 1; // break is at a blank char, i.e. not within a word
- maxheight += lineheight;
+ maxheight += font->line_height;
if (last_breakpoint == 0) { // Text block too long and without whitespace?
- last_breakpoint = localmaxwidth - font->widths[foo];
+ last_breakpoint = localmaxwidth - font->widths[curChar];
last_break_width = 0;
--text;
blank_break = 0; // non-blank break
@@ -107,7 +104,7 @@ bool gfxr_font_calculate_size(Common::Array<TextFragment> &fragments, gfx_bitmap
}
if (last_breakpoint == 0) {
- GFXWARN("Warning: maxsize %d too small for '%s'\n", max_allowed_width, text);
+ GFXWARN("Warning: maxsize %d too small for '%s'\n", max_width, text);
}
if (last_breakpoint > maxwidth)
@@ -123,7 +120,7 @@ bool gfxr_font_calculate_size(Common::Array<TextFragment> &fragments, gfx_bitmap
} else if (*text == ' ') {
last_breakpoint = localmaxwidth;
- last_break_width = font->widths[foo];
+ last_break_width = font->widths[curChar];
breakpoint_ptr = text;
}