From d91c4253e876a59bfd2f83ef96ecf029cb45762f Mon Sep 17 00:00:00 2001 From: Denis Pauk Date: Sat, 8 Mar 2025 23:34:32 +0200 Subject: [PATCH] client: use ttf fonts in menu --- src/client/menu/qmenu.c | 24 ++++-------------------- src/client/refresh/gl1/gl1_draw.c | 10 +--------- src/client/refresh/gl3/gl3_draw.c | 10 +--------- src/client/refresh/gl4/gl4_draw.c | 9 +-------- src/client/refresh/soft/header/local.h | 1 + src/client/refresh/soft/sw_draw.c | 25 ++++++++++++++++--------- src/client/refresh/soft/sw_main.c | 15 --------------- src/client/refresh/vk/vk_draw.c | 12 ++---------- 8 files changed, 26 insertions(+), 80 deletions(-) diff --git a/src/client/menu/qmenu.c b/src/client/menu/qmenu.c index 8af1d244..708bc2a3 100644 --- a/src/client/menu/qmenu.c +++ b/src/client/menu/qmenu.c @@ -528,49 +528,33 @@ Menu_DrawStatusBar(const char *string) void Menu_DrawString(int x, int y, const char *string) { - unsigned i; float scale = SCR_GetMenuScale(); - for (i = 0; i < strlen(string); i++) - { - Draw_CharScaled(x + i * 8 * scale, y * scale, string[i], scale); - } + Draw_StringScaled(x, y * scale, scale, false, string); } void Menu_DrawStringDark(int x, int y, const char *string) { - unsigned i; float scale = SCR_GetMenuScale(); - for (i = 0; i < strlen(string); i++) - { - Draw_CharScaled(x + i * 8 * scale, y * scale, string[i] + 128, scale); - } + Draw_StringScaled(x, y * scale, scale, true, string); } void Menu_DrawStringR2L(int x, int y, const char *string) { - unsigned i; float scale = SCR_GetMenuScale(); - for (i = 0; i < strlen(string); i++) - { - Draw_CharScaled(x - i * 8 * scale, y * scale, string[strlen(string) - i - 1], scale); - } + Draw_StringScaled(x - 8 * scale * strlen(string), y * scale, scale, false, string); } void Menu_DrawStringR2LDark(int x, int y, const char *string) { - unsigned i; float scale = SCR_GetMenuScale(); - for (i = 0; i < strlen(string); i++) - { - Draw_CharScaled(x - i * 8 * scale, y * scale, string[strlen(string) - i - 1] + 128, scale); - } + Draw_StringScaled(x - 8 * scale * strlen(string), y * scale, scale, true, string); } void * diff --git a/src/client/refresh/gl1/gl1_draw.c b/src/client/refresh/gl1/gl1_draw.c index ffb91b95..221a4ec0 100644 --- a/src/client/refresh/gl1/gl1_draw.c +++ b/src/client/refresh/gl1/gl1_draw.c @@ -229,15 +229,7 @@ RDraw_PicScaled(int x, int y, const char *pic, float factor, const char *alttext if (alttext && alttext[0]) { /* Show alttext if provided */ - size_t l; - int i; - - l = strlen(alttext); - for (i = 0; i < l; i++) - { - RDraw_CharScaled(x + i * 8 * factor, y, alttext[i], factor); - } - + RDraw_StringScaled(x, y, factor, false, alttext); return; } diff --git a/src/client/refresh/gl3/gl3_draw.c b/src/client/refresh/gl3/gl3_draw.c index 85ead54b..f692c9e8 100644 --- a/src/client/refresh/gl3/gl3_draw.c +++ b/src/client/refresh/gl3/gl3_draw.c @@ -272,15 +272,7 @@ GL3_Draw_PicScaled(int x, int y, const char *pic, float factor, const char *altt if (alttext && alttext[0]) { /* Show alttext if provided */ - size_t l; - int i; - - l = strlen(alttext); - for (i = 0; i < l; i++) - { - GL3_Draw_CharScaled(x + i * 8 * factor, y, alttext[i], factor); - } - + GL3_Draw_StringScaled(x, y, factor, false, alttext); return; } diff --git a/src/client/refresh/gl4/gl4_draw.c b/src/client/refresh/gl4/gl4_draw.c index 12d5b118..891848ce 100644 --- a/src/client/refresh/gl4/gl4_draw.c +++ b/src/client/refresh/gl4/gl4_draw.c @@ -270,14 +270,7 @@ GL4_Draw_PicScaled(int x, int y, const char *pic, float factor, const char *altt if (alttext && alttext[0]) { /* Show alttext if provided */ - int l, i; - - l = strlen(alttext); - for (i = 0; i < l; i++) - { - GL4_Draw_CharScaled(x + i * 8 * factor, y, alttext[i], factor); - } - + GL4_Draw_StringScaled(x, y, factor, false, alttext); return; } diff --git a/src/client/refresh/soft/header/local.h b/src/client/refresh/soft/header/local.h index 2ec3c056..00680027 100644 --- a/src/client/refresh/soft/header/local.h +++ b/src/client/refresh/soft/header/local.h @@ -554,6 +554,7 @@ struct image_s *RE_Draw_FindPic (const char *name); void RE_Draw_GetPicSize (int *w, int *h, const char *name); void RE_Draw_PicScaled (int x, int y, const char *name, float scale, const char *alttext); +void RE_Draw_StringScaled(int x, int y, float scale, qboolean alt, const char *message); void RE_Draw_StretchPic (int x, int y, int w, int h, const char *name); void RE_Draw_StretchRaw (int x, int y, int w, int h, int cols, int rows, const byte *data, int bits); void RE_Draw_CharScaled (int x, int y, int c, float scale); diff --git a/src/client/refresh/soft/sw_draw.c b/src/client/refresh/soft/sw_draw.c index 697d8b74..560c8bde 100644 --- a/src/client/refresh/soft/sw_draw.c +++ b/src/client/refresh/soft/sw_draw.c @@ -374,6 +374,21 @@ RE_Draw_StretchRaw(int x, int y, int w, int h, int cols, int rows, const byte *d } } +void +RE_Draw_StringScaled(int x, int y, float scale, qboolean alt, const char *message) +{ + int xor; + + xor = alt ? 0x80 : 0; + + while (*message) + { + RE_Draw_CharScaled(x * scale, y * scale, *message ^ xor, scale); + x += 8 * scale; + message ++; + } +} + /* ============= Draw_Pic @@ -390,15 +405,7 @@ RE_Draw_PicScaled(int x, int y, const char *name, float scale, const char *altte if (alttext && alttext[0]) { /* Show alttext if provided */ - size_t l; - int i; - - l = strlen(alttext); - for (i = 0; i < l; i++) - { - RE_Draw_CharScaled(x + i * 8 * scale, y, alttext[i], scale); - } - + RE_Draw_StringScaled(x, y, scale, false, alttext); return; } diff --git a/src/client/refresh/soft/sw_main.c b/src/client/refresh/soft/sw_main.c index bc6cdd9c..bdf7aef8 100644 --- a/src/client/refresh/soft/sw_main.c +++ b/src/client/refresh/soft/sw_main.c @@ -1794,21 +1794,6 @@ RE_EndWorldRenderpass( void ) return true; } -static void -RE_Draw_StringScaled(int x, int y, float scale, qboolean alt, const char *message) -{ - int xor; - - xor = alt ? 0x80 : 0; - - while (*message) - { - RE_Draw_CharScaled(x * scale, y * scale, *message ^ xor, scale); - x += 8 * scale; - message ++; - } -} - /* =============== GetRefAPI diff --git a/src/client/refresh/vk/vk_draw.c b/src/client/refresh/vk/vk_draw.c index 42046084..d3eec34d 100644 --- a/src/client/refresh/vk/vk_draw.c +++ b/src/client/refresh/vk/vk_draw.c @@ -220,15 +220,7 @@ RE_Draw_PicScaled(int x, int y, const char *name, float scale, const char *altte if (alttext && alttext[0]) { /* Show alttext if provided */ - size_t l; - int i; - - l = strlen(alttext); - for (i = 0; i < l; i++) - { - RE_Draw_CharScaled(x + i * 8 * scale, y, alttext[i], scale); - } - + RE_Draw_StringScaled(x, y, scale, false, alttext); return; } @@ -236,7 +228,7 @@ RE_Draw_PicScaled(int x, int y, const char *name, float scale, const char *altte return; } - RE_Draw_StretchPic(x, y, vk->width*scale, vk->height*scale, name); + RE_Draw_StretchPic(x, y, vk->width * scale, vk->height * scale, name); } /*