3 if ! [ -d "textures" ] && ! [ -d "env" ]; then
4 echo "Sorry, must be run from a directory with a textures subfolder. Giving up."
22 echo scripts/$dir.shader
24 cat <<EOF >>"scripts/$dir.shader"
29 // maybe: surfaceparm nonsolid
31 surfaceparm alphashadow
37 // or: alphafunc GE128
50 coords=`sh "$mydir/brightspot.sh" "$1"`
57 echo >&2 "NOTE: brightspot tool did not work"
63 echo >&2 "appending to scripts/$dir.shader"
64 echo scripts/$dir.shader
66 cat <<EOF >>"scripts/$dir.shader"
71 surfaceparm nolightmap
74 q3map_sunExt .5 .5 .7 $coords 2 16 // red green blue intensity degrees elevation deviance samples
75 q3map_surfacelight 150 // intensity
83 echo "$1" | sed 's/\.[Jj][Pp][Gg]$\|\.[Tt][Gg][Aa]$\|\.[Pp][Nn][Gg]$//;'
86 allshadernames() # prints all shader names or texture names
88 cat scripts/*.shader 2>/dev/null | tr '\r' '\n' | {
90 while IFS= read -r LINE; do
91 LINE=`echo "$LINE" | sed 's,//.*,,; s/\s\+/ /g; s/^ //; s/ $//; s/"//g;'`
92 [ -n "$LINE" ] || continue
109 echo "`texnormalize "$1"`_up"
133 allshaders=`allshadernames`
139 sh=`texnormalize "$1"`
140 case "$lf$allshaders$lf" in
150 [ -f "${1%.jpg}_alpha.jpg" ] || convert "$1" -depth 8 RGBA:- | xxd -c 4 -g 1 | grep -v " ff " >/dev/null
156 [ -d "textures" ] && find textures -type f \( -iname \*.tga -o -iname \*.png \) -print | while IFS= read -r TEX; do
157 case `texnormalize "$TEX"` in
158 *_norm|*_shirt|*_pants|*_glow|*_gloss|*_bump)
159 # ignore these (they are used implicitly)
163 if has_shader "$TEX"; then
164 echo>&2 " $TEX has an associated shader, ignoring."
166 if has_alpha "$TEX"; then
167 echo>&2 "*** $TEX has alpha but no shader, creating default alpha shader."
170 echo>&2 " $TEX has no shader and no alpha, fine."
174 [ -d "env" ] && find env -type f \( -iname \*_up.tga -o -iname \*_up.png -o -iname \*_up.jpg \) -print | while IFS= read -r TEX; do
175 if has_shader "$TEX"; then
176 echo>&2 " $TEX has an associated shader, ignoring."
178 echo>&2 "*** $TEX is sky but has no shader, creating default sky shader."
185 aashaders=`autoshaders`
187 if [ -n "$aashaders" ]; then
189 The following shader files have been automatically created or appended to:
193 Please edit them to your needs, and possibly rename them.