From 020cedfee839029c7a60dcc7b5569af59fd3ecd9 Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Sat, 3 Sep 2011 13:31:02 +0200 Subject: [PATCH] also include alphagen --- scripts/metaltechx.shader | 3 --- scripts/shader-audit.sh | 29 ++++++++++++++++++++--------- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/scripts/metaltechx.shader b/scripts/metaltechx.shader index f9cce337..ddbc159a 100644 --- a/scripts/metaltechx.shader +++ b/scripts/metaltechx.shader @@ -5,14 +5,11 @@ textures/metaltechx/detail-grate dpglossintensitymod 3 dpglossexponentmod 4 surfaceparm metalsteps - surfaceparm trans q3map_bouncescale 1.75 { map textures/metaltechx/detail/grate - blendfunc blend - } { diff --git a/scripts/shader-audit.sh b/scripts/shader-audit.sh index 5de24bc4..75e7e282 100755 --- a/scripts/shader-audit.sh +++ b/scripts/shader-audit.sh @@ -272,6 +272,7 @@ parse_shaderstage() { ss_blendfunc=none ss_alphafunc=none + ss_alphagen=none ss_map= while read L A1 Aother; do case "`echo "$L" | tr A-Z a-z`" in @@ -281,6 +282,9 @@ parse_shaderstage() alphafunc) ss_alphafunc=`echo $A1 | tr A-Z a-z` ;; + alphagen) + ss_alphagen=`echo $A1 | tr A-Z a-z` + ;; map|clampmap) case "$A1" in '$lightmap') @@ -316,29 +320,36 @@ parse_shaderstage() case "$ss_blendfunc" in *src_alpha*|*blend*) # texture must have alpha - if [ $min -eq 255 ]; then - echo "(EE) $parsing_shader uses alpha-less texture $ss_map with blendfunc $ss_blendfunc"; seterror + if [ x"$ss_alphagen" = x"none" -a $min -eq 255 ]; then + echo "(EE) $parsing_shader uses alpha-less texture $ss_map with blendfunc $ss_blendfunc and alphagen $ss_alphagen"; seterror fi ;; add|"gl_one gl_one") # texture must not have alpha (engine bug) - if [ $min -lt 255 ]; then - echo "(EE) $parsing_shader uses alpha-using texture $ss_map with blendfunc $ss_blendfunc"; seterror + if [ x"$ss_alphagen" != x"none" -o $min -lt 255 ]; then + echo "(EE) $parsing_shader uses alpha-using texture $ss_map with blendfunc $ss_blendfunc and alphagen $ss_alphagen"; seterror fi ;; *) case "$ss_alphafunc" in g*) # texture must have alpha - if [ $min -eq 255 ]; then - echo "(EE) $parsing_shader uses alpha-less texture $ss_map with alphafunc $ss_alphafunc"; seterror + if [ x"$ss_alphagen" = x"none" -a $min -eq 255 ]; then + echo "(EE) $parsing_shader uses alpha-less texture $ss_map with alphafunc $ss_alphafunc and alphagen $ss_alphagen"; seterror fi ;; *) # texture should not have alpha (no bug if not) - if [ $min -lt 255 ]; then - echo "(WW) $parsing_shader uses alpha-using texture $ss_map with blendfunc $ss_blendfunc and alphafunc $ss_alphafunc" - fi + case "$ss_alphagen" in + none) + if [ $min -lt 255 ]; then + echo "(WW) $parsing_shader uses alpha-using texture $ss_map with blendfunc $ss_blendfunc and alphafunc $ss_alphafunc and alphagen $ss_alphagen" + fi + ;; + *) + echo "(EE) $parsing_shader uses alpha-using texture $ss_map with blendfunc $ss_blendfunc and alphafunc $ss_alphafunc and alphagen $ss_alphagen"; seterror + ;; + esac ;; esac ;; -- 2.39.2