lame way to fix decals not affecting rtworld.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5083 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
Spoike 2017-03-27 22:57:54 +00:00
parent 2abaa866a3
commit 5e7f55d0c8
4 changed files with 11 additions and 4 deletions

View file

@ -731,6 +731,7 @@ static void P_LoadTexture(part_type_t *ptype, qboolean warn)
"{\n" "{\n"
"program defaultsprite\n" "program defaultsprite\n"
"nomipmaps\n" "nomipmaps\n"
"sort unlitdecal\n"
"{\n" "{\n"
"map $diffuse\n" "map $diffuse\n"
"blendfunc blend\n" "blendfunc blend\n"
@ -750,6 +751,7 @@ static void P_LoadTexture(part_type_t *ptype, qboolean warn)
"{\n" "{\n"
"program defaultsprite\n" "program defaultsprite\n"
"nomipmaps\n" "nomipmaps\n"
"sort unlitdecal\n"
"{\n" "{\n"
"map $diffuse\n" "map $diffuse\n"
"blendfunc GL_SRC_COLOR GL_ONE_MINUS_SRC_COLOR\n" "blendfunc GL_SRC_COLOR GL_ONE_MINUS_SRC_COLOR\n"
@ -829,7 +831,7 @@ static void P_LoadTexture(part_type_t *ptype, qboolean warn)
"{\n" "{\n"
"program defaultsprite\n" "program defaultsprite\n"
"nomipmaps\n" "nomipmaps\n"
"sort decal\n" "sort unlitdecal\n"
"{\n" "{\n"
"map $diffuse\n" "map $diffuse\n"
"blendfunc GL_ZERO GL_ONE_MINUS_SRC_ALPHA\n" "blendfunc GL_ZERO GL_ONE_MINUS_SRC_ALPHA\n"
@ -849,7 +851,7 @@ static void P_LoadTexture(part_type_t *ptype, qboolean warn)
"{\n" "{\n"
"program defaultsprite\n" "program defaultsprite\n"
"nomipmaps\n" "nomipmaps\n"
"sort decal\n" "sort unlitdecal\n"
"{\n" "{\n"
"map $diffuse\n" "map $diffuse\n"
"blendfunc GL_ZERO GL_ONE_MINUS_SRC_COLOR\n" "blendfunc GL_ZERO GL_ONE_MINUS_SRC_COLOR\n"
@ -869,6 +871,7 @@ static void P_LoadTexture(part_type_t *ptype, qboolean warn)
"{\n" "{\n"
"program defaultsprite\n" "program defaultsprite\n"
"nomipmaps\n" "nomipmaps\n"
"sort unlitdecal\n"
"{\n" "{\n"
"map $diffuse\n" "map $diffuse\n"
"blendfunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_COLOR\n" "blendfunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_COLOR\n"

View file

@ -268,7 +268,7 @@ void Surf_LessenStains(void)
static float time; static float time;
if (!r_stains.value) if (!r_stains.value || !r_stainfadeammount.value)
return; return;
time += host_frametime; time += host_frametime;

View file

@ -42,6 +42,8 @@ typedef enum {
//fixme: occlusion tests //fixme: occlusion tests
SHADER_SORT_DECAL, SHADER_SORT_DECAL,
SHADER_SORT_SEETHROUGH, SHADER_SORT_SEETHROUGH,
//then rtlights are drawn
SHADER_SORT_UNLITDECAL,
SHADER_SORT_BANNER, SHADER_SORT_BANNER,
SHADER_SORT_UNDERWATER, SHADER_SORT_UNDERWATER,
SHADER_SORT_BLEND, SHADER_SORT_BLEND,

View file

@ -984,10 +984,12 @@ static void Shader_Sort ( shader_t *shader, shaderpass_t *pass, char **ptr )
shader->sort = SHADER_SORT_SKY; shader->sort = SHADER_SORT_SKY;
else if( !Q_stricmp( token, "opaque" ) ) else if( !Q_stricmp( token, "opaque" ) )
shader->sort = SHADER_SORT_OPAQUE; shader->sort = SHADER_SORT_OPAQUE;
else if( !Q_stricmp( token, "decal" ) ) else if( !Q_stricmp( token, "decal" ) || !Q_stricmp( token, "litdecal" ) )
shader->sort = SHADER_SORT_DECAL; shader->sort = SHADER_SORT_DECAL;
else if( !Q_stricmp( token, "seethrough" ) ) else if( !Q_stricmp( token, "seethrough" ) )
shader->sort = SHADER_SORT_SEETHROUGH; shader->sort = SHADER_SORT_SEETHROUGH;
else if( !Q_stricmp( token, "unlitdecal" ) )
shader->sort = SHADER_SORT_UNLITDECAL;
else if( !Q_stricmp( token, "banner" ) ) else if( !Q_stricmp( token, "banner" ) )
shader->sort = SHADER_SORT_BANNER; shader->sort = SHADER_SORT_BANNER;
else if( !Q_stricmp( token, "additive" ) ) else if( !Q_stricmp( token, "additive" ) )