if(!r_draw2d.integer && !r_draw2d_force)
return;
- R_Mesh_ResetTextureState();
+// R_Mesh_ResetTextureState();
floats[12] = 0.0f;floats[13] = 0.0f;
floats[14] = 1.0f;floats[15] = 0.0f;
floats[16] = 1.0f;floats[17] = 1.0f;
if(!r_draw2d.integer && !r_draw2d_force)
return;
- R_Mesh_ResetTextureState();
+// R_Mesh_ResetTextureState();
if (pic)
{
if (width == 0)
if(!r_draw2d.integer && !r_draw2d_force)
return;
- R_Mesh_ResetTextureState();
+// R_Mesh_ResetTextureState();
R_SetupShader_Generic(NULL, NULL, GL_MODULATE, 1);
floats[2] = floats[5] = floats[8] = floats[11] = 0;
if(!r_draw2d.integer && !r_draw2d_force)
return startx + DrawQ_TextWidth_UntilWidth_TrackColors_Scale(text, &maxlen, w, h, sw, sh, NULL, ignorecolorcodes, fnt, 1000000000);
- R_Mesh_ResetTextureState();
+// R_Mesh_ResetTextureState();
if (!fontmap)
R_Mesh_TexBind(0, fnt->tex);
R_SetupShader_Generic(fnt->tex, NULL, GL_MODULATE, 1);
}
if (!fontmap || (ch <= 0xFF && fontmap->glyphs[ch].image) || (ch >= 0xE000 && ch <= 0xE0FF))
{
- if (ch > 0xE000)
+ if (ch >= 0xE000)
ch -= 0xE000;
if (ch > 0xFF)
- continue;
+ goto out;
if (fontmap)
{
if (map != ft2_oldstyle_map)
//prevmap = map;
prevch = ch;
}
+out:
if (shadow)
{
x -= 1.0/pix_x * r_textshadow.value;
if(!r_draw2d.integer && !r_draw2d_force)
return;
- R_Mesh_ResetTextureState();
+// R_Mesh_ResetTextureState();
if (pic)
{
if (width == 0)
return;
DrawQ_ProcessDrawFlag(flags, hasalpha);
- R_Mesh_ResetTextureState();
+// R_Mesh_ResetTextureState();
R_SetupShader_Generic(mesh->texture, NULL, GL_MODULATE, 1);
R_Mesh_PrepareVertices_Generic_Arrays(mesh->num_vertices, mesh->data_vertex3f, mesh->data_color4f, mesh->data_texcoord2f);
}
}
+void DrawQ_Lines (float width, int numlines, const float *vertex3f, const float *color4f, int flags)
+{
+ int i;
+ qboolean hasalpha = false;
+ for (i = 0;i < numlines*2;i++)
+ if (color4f[i*4+3] < 1.0f)
+ hasalpha = true;
+
+ _DrawQ_SetupAndProcessDrawFlag(flags, NULL, hasalpha ? 0.5f : 1.0f);
+
+ if(!r_draw2d.integer && !r_draw2d_force)
+ return;
+
+ switch(vid.renderpath)
+ {
+ case RENDERPATH_GL11:
+ case RENDERPATH_GL13:
+ case RENDERPATH_GL20:
+ case RENDERPATH_CGGL:
+ CHECKGLERROR
+
+ R_SetupShader_Generic(NULL, NULL, GL_MODULATE, 1);
+
+ //qglLineWidth(width);CHECKGLERROR
+
+ CHECKGLERROR
+ R_Mesh_PrepareVertices_Generic_Arrays(numlines*2, vertex3f, color4f, NULL);
+ qglDrawArrays(GL_LINES, 0, numlines*2);
+ CHECKGLERROR
+ break;
+ case RENDERPATH_D3D9:
+ //Con_DPrintf("FIXME D3D9 %s:%i %s\n", __FILE__, __LINE__, __FUNCTION__);
+ break;
+ case RENDERPATH_D3D10:
+ Con_DPrintf("FIXME D3D10 %s:%i %s\n", __FILE__, __LINE__, __FUNCTION__);
+ break;
+ case RENDERPATH_D3D11:
+ Con_DPrintf("FIXME D3D11 %s:%i %s\n", __FILE__, __LINE__, __FUNCTION__);
+ break;
+ }
+}
+
void DrawQ_SetClipArea(float x, float y, float width, float height)
{
int ix, iy, iw, ih;
break;
}
// all the blends ignore depth
- R_Mesh_ResetTextureState();
+// R_Mesh_ResetTextureState();
R_SetupShader_Generic(NULL, NULL, GL_MODULATE, 1);
GL_DepthMask(true);
GL_DepthRange(0, 1);