X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=gl_draw.c;h=000a391dea8a42c0e237f8f6c15a6d35489eb23b;hb=d24a662a278e76b2cbcf4528dccc6c2196ab1eda;hp=164eebdde647be6130efa63466537a931122c757;hpb=eaa206aa1727fa745168edbe04604569a97a2387;p=xonotic%2Fdarkplaces.git diff --git a/gl_draw.c b/gl_draw.c index 164eebdd..000a391d 100644 --- a/gl_draw.c +++ b/gl_draw.c @@ -341,11 +341,11 @@ cachepic_t *Draw_CachePic (const char *path, qboolean persistent) flags |= TEXF_CLAMP; // load a high quality image from disk if possible - pic->tex = loadtextureimage(drawtexturepool, path, 0, 0, false, flags); + pic->tex = loadtextureimage(drawtexturepool, path, 0, 0, false, flags | (gl_texturecompression_2d.integer ? TEXF_COMPRESS : 0)); if (pic->tex == NULL && !strncmp(path, "gfx/", 4)) { // compatibility with older versions which did not require gfx/ prefix - pic->tex = loadtextureimage(drawtexturepool, path + 4, 0, 0, false, flags); + pic->tex = loadtextureimage(drawtexturepool, path + 4, 0, 0, false, flags | (gl_texturecompression_2d.integer ? TEXF_COMPRESS : 0)); } // if a high quality image was loaded, set the pic's size to match it, just // in case there's no low quality version to get the size from @@ -550,6 +550,7 @@ static void _DrawQ_Setup(void) GL_DepthMask(true); GL_DepthRange(0, 1); + GL_PolygonOffset(0, 0); GL_DepthTest(false); GL_Color(1,1,1,1); GL_AlphaTest(false); @@ -671,7 +672,7 @@ static void DrawQ_GetTextColor(float color[4], int colorindex, float r, float g, float DrawQ_String(float startx, float starty, const char *text, int maxlen, float w, float h, float basered, float basegreen, float baseblue, float basealpha, int flags, int *outcolor, qboolean ignorecolorcodes) { - int i, num, shadow, colorindex; + int i, num, shadow, colorindex = STRING_COLOR_DEFAULT; float x = startx, y, s, t, u, v; float *av, *at, *ac; float color[4]; @@ -711,8 +712,6 @@ float DrawQ_String(float startx, float starty, const char *text, int maxlen, flo x += r_textshadow.value; y += r_textshadow.value; } - // because this loop increments x before it draws, we must bias x first - x -= w; for (i = 0;i < maxlen && text[i];i++, x += w) { if (text[i] == ' ') @@ -779,6 +778,10 @@ float DrawQ_String(float startx, float starty, const char *text, int maxlen, flo GL_LockArrays(0, 0); } } + + if (outcolor) + *outcolor = colorindex; + // note: this relies on the proper text (not shadow) being drawn last return x; } @@ -943,6 +946,7 @@ void R_DrawGamma(void) R_Mesh_ResetTextureState(); GL_DepthMask(true); GL_DepthRange(0, 1); + GL_PolygonOffset(0, 0); GL_DepthTest(false); if (v_color_enable.integer) {