mirror of
https://github.com/yquake2/yquake2remaster.git
synced 2025-03-24 03:42:48 +00:00
client: center chars in ttf font
This commit is contained in:
parent
d91c4253e8
commit
84cc99d559
4 changed files with 33 additions and 9 deletions
|
@ -112,18 +112,24 @@ RDraw_StringScaled(int x, int y, float scale, qboolean alt, const char *message)
|
|||
|
||||
if (value >= 32 && value < MAX_FONTCODE)
|
||||
{
|
||||
float xf = 0, yf = 0, xdiff;
|
||||
stbtt_aligned_quad q;
|
||||
float xf = 0, yf = 0;
|
||||
|
||||
stbtt_GetBakedQuad(draw_fontcodes, gl_font_height, gl_font_height,
|
||||
value - 32, &xf, &yf, &q, 1);
|
||||
|
||||
xdiff = (8 - xf / font_scale) / 2;
|
||||
if (xdiff < 0)
|
||||
{
|
||||
xdiff = 0;
|
||||
}
|
||||
|
||||
R_UpdateGLBuffer(buf_2d, alt ? draw_font_alt->texnum : draw_font->texnum, 0, 0, 1);
|
||||
|
||||
R_Buffer2DQuad(
|
||||
(float)(x + q.x0 * scale / font_scale),
|
||||
(float)(x + (xdiff + q.x0 / font_scale) * scale),
|
||||
(float)(y + q.y0 * scale / font_scale + 8 * scale),
|
||||
x + q.x1 * scale / font_scale,
|
||||
x + (xdiff + q.x1 / font_scale) * scale,
|
||||
y + q.y1 * scale / font_scale + 8 * scale,
|
||||
q.s0, q.t0, q.s1, q.t1);
|
||||
x += Q_max(8, xf / font_scale) * scale;
|
||||
|
|
|
@ -184,16 +184,22 @@ GL3_Draw_StringScaled(int x, int y, float scale, qboolean alt, const char *messa
|
|||
|
||||
if (value >= 32 && value < MAX_FONTCODE)
|
||||
{
|
||||
float xf = 0, yf = 0, xdiff;
|
||||
stbtt_aligned_quad q;
|
||||
float xf = 0, yf = 0;
|
||||
|
||||
stbtt_GetBakedQuad(draw_fontcodes, gl3_font_height, gl3_font_height,
|
||||
value - 32, &xf, &yf, &q, 1);
|
||||
|
||||
xdiff = (8 - xf / font_scale) / 2;
|
||||
if (xdiff < 0)
|
||||
{
|
||||
xdiff = 0;
|
||||
}
|
||||
|
||||
GL3_UseProgram(gl3state.si2D.shaderProgram);
|
||||
GL3_Bind(alt ? draw_font_alt->texnum : draw_font->texnum);
|
||||
drawTexturedRectangle(
|
||||
(float)(x + q.x0 * scale / font_scale),
|
||||
(float)(x + (xdiff + q.x0 / font_scale) * scale),
|
||||
(float)(y + q.y0 * scale / font_scale + 8 * scale),
|
||||
(q.x1 - q.x0) * scale / font_scale,
|
||||
(q.y1 - q.y0) * scale / font_scale,
|
||||
|
|
|
@ -184,16 +184,22 @@ GL4_Draw_StringScaled(int x, int y, float scale, qboolean alt, const char *messa
|
|||
|
||||
if (value >= 32 && value < MAX_FONTCODE)
|
||||
{
|
||||
float xf = 0, yf = 0, xdiff;
|
||||
stbtt_aligned_quad q;
|
||||
float xf = 0, yf = 0;
|
||||
|
||||
stbtt_GetBakedQuad(draw_fontcodes, gl4_font_height, gl4_font_height,
|
||||
value - 32, &xf, &yf, &q, 1);
|
||||
|
||||
xdiff = (8 - xf / font_scale) / 2;
|
||||
if (xdiff < 0)
|
||||
{
|
||||
xdiff = 0;
|
||||
}
|
||||
|
||||
GL4_UseProgram(gl4state.si2D.shaderProgram);
|
||||
GL4_Bind(alt ? draw_font_alt->texnum : draw_font->texnum);
|
||||
drawTexturedRectangle(
|
||||
(float)(x + q.x0 * scale / font_scale),
|
||||
(float)(x + (xdiff + q.x0 / font_scale) * scale),
|
||||
(float)(y + q.y0 * scale / font_scale + 8 * scale),
|
||||
(q.x1 - q.x0) * scale / font_scale,
|
||||
(q.y1 - q.y0) * scale / font_scale,
|
||||
|
|
|
@ -109,13 +109,19 @@ RE_Draw_StringScaled(int x, int y, float scale, qboolean alt, const char *messag
|
|||
|
||||
if (value >= 32 && value < MAX_FONTCODE)
|
||||
{
|
||||
float xf = 0, yf = 0, xdiff;
|
||||
stbtt_aligned_quad q;
|
||||
float xf = 0, yf = 0;
|
||||
|
||||
stbtt_GetBakedQuad(draw_fontcodes, vk_font_height, vk_font_height,
|
||||
value - 32, &xf, &yf, &q, 1);
|
||||
|
||||
QVk_DrawTexRect((float)(x + q.x0 * scale / font_scale) / vid.width,
|
||||
xdiff = (8 - xf / font_scale) / 2;
|
||||
if (xdiff < 0)
|
||||
{
|
||||
xdiff = 0;
|
||||
}
|
||||
|
||||
QVk_DrawTexRect((float)(x + (xdiff + q.x0 / font_scale) * scale) / vid.width,
|
||||
(float)(y + q.y0 * scale / font_scale + 8 * scale) / vid.height,
|
||||
(q.x1 - q.x0) * scale / font_scale / vid.width,
|
||||
(q.y1 - q.y0) * scale / font_scale / vid.height,
|
||||
|
|
Loading…
Reference in a new issue