else if (!strcasecmp(parameter[k+1], "GL_DST_COLOR"))
layer->blendfunc[k] = GL_DST_COLOR;
else if (!strcasecmp(parameter[k+1], "GL_DST_ALPHA"))
- layer->blendfunc[k] = GL_ONE_MINUS_DST_ALPHA;
+ layer->blendfunc[k] = GL_DST_ALPHA;
else if (!strcasecmp(parameter[k+1], "GL_ONE_MINUS_SRC_COLOR"))
layer->blendfunc[k] = GL_ONE_MINUS_SRC_COLOR;
else if (!strcasecmp(parameter[k+1], "GL_ONE_MINUS_SRC_ALPHA"))
layer->texflags |= TEXF_ALPHA;
break;
}
+
+ // nasty hack because DP treats this the same as GL_SRC_ALPHA GL_ONE
+ if(layer->blendfunc[0] == GL_ONE && layer->blendfunc[1] == GL_ONE)
+ layer->texflags |= TEXF_ALPHA;
+
if (!(shader.surfaceparms & Q3SURFACEPARM_NOMIPMAPS))
layer->texflags |= TEXF_MIPMAP;
if (!(shader.textureflags & Q3TEXTUREFLAG_NOPICMIP))
if (numparameters >= 5)
{
if(!strcasecmp(parameter[3], "bias"))
- shader.offsetbias = atof(parameter[3]);
+ shader.offsetbias = atof(parameter[4]);
else if(!strcasecmp(parameter[3], "match"))
- shader.offsetbias = 1.0f - atof(parameter[3]);
+ shader.offsetbias = 1.0f - atof(parameter[4]);
else if(!strcasecmp(parameter[3], "match8"))
- shader.offsetbias = 1.0f - atof(parameter[3]) / 255.0f;
+ shader.offsetbias = 1.0f - atof(parameter[4]) / 255.0f;
else if(!strcasecmp(parameter[3], "match16"))
- shader.offsetbias = 1.0f - atof(parameter[3]) / 65535.0f;
+ shader.offsetbias = 1.0f - atof(parameter[4]) / 65535.0f;
}
}
else if (!strcasecmp(parameter[0], "deformvertexes") && numparameters >= 2)