fixed bug with invisible initial fonts
authorHolger Schemel <info@artsoft.org>
Sun, 5 Nov 2017 17:25:30 +0000 (18:25 +0100)
committerHolger Schemel <info@artsoft.org>
Fri, 23 Mar 2018 22:21:15 +0000 (23:21 +0100)
- this bug was introduced by the commit with the following message:
  "added support for font definitions with different character offset and size"
  (no commit ID given here due to frequent use of "git rebase")

src/init.c
src/libgame/text.c

index cf83e5043229b5cef9326927bf2ddd34db6e83f6..b0043d4911cf53fc19117049ce321ed7fdebb3ad 100644 (file)
@@ -552,13 +552,9 @@ void InitFontGraphicInfo()
       font_bitmap_info[font_bitmap_id].height = graphic_info[graphic].height;
 
       font_bitmap_info[font_bitmap_id].offset_x =
-       (graphic_info[graphic].offset_x != 0 ?
-        graphic_info[graphic].offset_x :
-        graphic_info[graphic].width);
+       graphic_info[graphic].offset_x;
       font_bitmap_info[font_bitmap_id].offset_y =
-       (graphic_info[graphic].offset_y != 0 ?
-        graphic_info[graphic].offset_y :
-        graphic_info[graphic].height);
+       graphic_info[graphic].offset_y;
 
       font_bitmap_info[font_bitmap_id].draw_xoffset =
        graphic_info[graphic].draw_xoffset;
index e7765fc68282ee2582894df215a379548ececc2c..c7d8499b42f12d25949562d0c2d0a13af2ceb347 100644 (file)
@@ -101,10 +101,12 @@ void getFontCharSource(int font_nr, char c, Bitmap **bitmap, int *x, int *y)
   int font_bitmap_id = gfx.select_font_function(font_nr);
   struct FontBitmapInfo *font = &gfx.font_bitmap_info[font_bitmap_id];
   int font_pos = getFontCharPosition(font_nr, c);
+  int offset_x = (font->offset_x != 0 ? font->offset_x : font->width);
+  int offset_y = (font->offset_y != 0 ? font->offset_y : font->height);
 
   *bitmap = font->bitmap;
-  *x = font->src_x + (font_pos % font->num_chars_per_line) * font->offset_x;
-  *y = font->src_y + (font_pos / font->num_chars_per_line) * font->offset_y;
+  *x = font->src_x + (font_pos % font->num_chars_per_line) * offset_x;
+  *y = font->src_y + (font_pos / font->num_chars_per_line) * offset_y;
 }