Browse Source

engine: client: make client string drawing functions ignore linefeeds

pull/2/head
Alibek Omarov 2 years ago
parent
commit
fd63018fb5
  1. 3
      engine/client/cl_font.c
  2. 12
      engine/client/cl_game.c

3
engine/client/cl_font.c

@ -270,9 +270,12 @@ void CL_DrawStringLen( cl_font_t *font, const char *s, int *width, int *height,
// but high chances somebody's relying on this // but high chances somebody's relying on this
s++; s++;
draw_len = 0; draw_len = 0;
if( !FBitSet( flags, FONT_DRAW_NOLF ))
{
if( height ) if( height )
*height += font->charHeight; *height += font->charHeight;
} }
}
if( IsColorString( s )) if( IsColorString( s ))
{ {

12
engine/client/cl_game.c

@ -1895,7 +1895,8 @@ void GAME_EXPORT pfnDrawConsoleStringLen( const char *pText, int *length, int *h
{ {
cl_font_t *font = Con_GetFont( con_fontsize->value ); cl_font_t *font = Con_GetFont( con_fontsize->value );
CL_DrawStringLen( font, pText, length, height, FONT_DRAW_UTF8 | FONT_DRAW_HUD ); if( height ) *height = font->charHeight;
CL_DrawStringLen( font, pText, length, NULL, FONT_DRAW_UTF8 | FONT_DRAW_HUD );
} }
/* /*
@ -2841,7 +2842,7 @@ pfnDrawString
static int GAME_EXPORT pfnDrawString( int x, int y, const char *str, int r, int g, int b ) static int GAME_EXPORT pfnDrawString( int x, int y, const char *str, int r, int g, int b )
{ {
rgba_t color = { r, g, b, 255 }; rgba_t color = { r, g, b, 255 };
int flags = FONT_DRAW_HUD; int flags = FONT_DRAW_HUD | FONT_DRAW_NOLF;
if( hud_utf8->value ) if( hud_utf8->value )
SetBits( flags, FONT_DRAW_UTF8 ); SetBits( flags, FONT_DRAW_UTF8 );
@ -2858,16 +2859,15 @@ pfnDrawStringReverse
static int GAME_EXPORT pfnDrawStringReverse( int x, int y, const char *str, int r, int g, int b ) static int GAME_EXPORT pfnDrawStringReverse( int x, int y, const char *str, int r, int g, int b )
{ {
rgba_t color = { r, g, b, 255 }; rgba_t color = { r, g, b, 255 };
int flags = FONT_DRAW_HUD; int flags = FONT_DRAW_HUD | FONT_DRAW_NOLF;
int width, height; int width;
if( hud_utf8->value ) if( hud_utf8->value )
SetBits( flags, FONT_DRAW_UTF8 ); SetBits( flags, FONT_DRAW_UTF8 );
CL_DrawStringLen( &cls.creditsFont, str, &width, &height, flags ); CL_DrawStringLen( &cls.creditsFont, str, &width, NULL, flags );
x -= width; x -= width;
y -= height;
return CL_DrawString( x, y, str, color, &cls.creditsFont, flags ); return CL_DrawString( x, y, str, color, &cls.creditsFont, flags );
} }

Loading…
Cancel
Save