X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Ftext.h;h=5f8fb21d9b823ec8e324f5bf2c8ee68a52cd8cb9;hb=9ec014a4e4a6a2332bb45c6cea8cccc46c64c6ae;hp=a9b693647c481e581d2f4e580a81d5761647da59;hpb=ff56a43aa3799aa3357f4deca4d6482fc25a6a41;p=rocksndiamonds.git diff --git a/src/libgame/text.h b/src/libgame/text.h index a9b69364..5f8fb21d 100644 --- a/src/libgame/text.h +++ b/src/libgame/text.h @@ -1,7 +1,7 @@ /*********************************************************** * Artsoft Retro-Game Library * *----------------------------------------------------------* -* (c) 1994-2000 Artsoft Entertainment * +* (c) 1994-2002 Artsoft Entertainment * * Holger Schemel * * Detmolder Strasse 189 * * 33604 Bielefeld * @@ -18,54 +18,58 @@ /* font types */ -#define FS_SMALL 0 +#define FS_INITIAL 0 #define FS_BIG 1 #define FS_MEDIUM 2 +#define FS_SMALL 3 /* font colors */ #define FC_RED 0 #define FC_BLUE 1 #define FC_GREEN 2 #define FC_YELLOW 3 -#define FC_SPECIAL1 4 -#define FC_SPECIAL2 5 -#define FC_SPECIAL3 6 -/* font graphics definitions */ -#define FONT1_XSIZE 32 -#define FONT1_YSIZE 32 -#define FONT2_XSIZE 14 -#define FONT2_YSIZE 14 -#define FONT3_XSIZE 11 -#define FONT3_YSIZE 14 -#define FONT4_XSIZE 16 -#define FONT4_YSIZE 16 -#define FONT5_XSIZE 10 -#define FONT5_YSIZE 14 -#define FONT6_XSIZE 16 -#define FONT6_YSIZE 32 +/* special fonts */ +#define FC_SPECIAL_TAPE 4 +#define FC_SPECIAL_GAME 5 +#define FC_SPECIAL_NARROW 6 + +#define FONT(fs, fc) (( (fs) == FS_INITIAL ? \ + IMG_FONT_INITIAL_1 + (fc) : \ + (fs) == FS_BIG ? \ + IMG_FONT_BIG_1 + (fc) : \ + (fs) == FS_MEDIUM ? \ + IMG_FONT_MEDIUM_1 + (fc) : \ + (fs) == FS_SMALL ? \ + IMG_FONT_SMALL_1 + (fc) : \ + IMG_FONT_SMALL_1 \ + ) - FIRST_IMG_FONT) + +#define FONT_DEFAULT_BIG FONT(FS_BIG, FC_YELLOW) +#define FONT_DEFAULT_SMALL FONT(FS_SMALL, FC_YELLOW) +#define FONT_SPECIAL_TAPE FONT(FS_SMALL, FC_SPECIAL_TAPE) +#define FONT_SPECIAL_GAME FONT(FS_SMALL, FC_SPECIAL_GAME) +#define FONT_SPECIAL_NARROW FONT(FS_SMALL, FC_SPECIAL_NARROW) #define FONT_CHARS_PER_LINE 16 #define FONT_LINES_PER_FONT 4 +#define FONT_OPAQUE 0 +#define FONT_MASKED 1 + /* text output definitions */ -#define MAX_OUTPUT_LINESIZE 256 +#define MAX_OUTPUT_LINESIZE 1024 /* font structure definitions */ -struct FontInfo -{ - Bitmap bitmap_big, bitmap_medium, bitmap_small; -}; - - -void InitFontInfo(Bitmap, Bitmap, Bitmap); -int getFontWidth(int, int); -int getFontHeight(int, int); +void InitFontInfo(struct FontBitmapInfo *, int, + int (*select_font_function)(int)); +int getFontWidth(int); +int getFontHeight(int); void DrawInitText(char *, int, int); void DrawTextF(int, int, int, char *, ...); void DrawTextFCentered(int, int, char *, ...); -void DrawText(int, int, char *, int, int); -void DrawTextExt(DrawBuffer, int, int, char *, int, int); +void DrawText(int, int, char *, int); +void DrawTextExt(DrawBuffer *, int, int, char *, int, int); #endif /* TEXT_H */