use_texture()
{
# does texture exist?
- if [ "$3" != "self" ]; then
- if \
- [ -f "../$2.tga" ] || \
- [ -f "../$2.jpg" ] || \
- [ -f "../$2.png" ]; then
- :
+ if \
+ [ -f "../$2.tga" ] || \
+ [ -f "../$2.jpg" ] || \
+ [ -f "../$2.png" ]; then
+ :
+ else
+ if [ "$3" = "self" ]; then
+ return
else
echo "(EE) shader $1 uses non-existing texture $2"
fi
textures_used="$textures_used$LF$2"
# TODO verify shader -> texture name
+ case "$1" in
+ textures/*x/*-*)
+ pre=${1%%x/*}x
+ suf=${1#*x/}
+ # rule: in suffix part, change each - to /
+ suf="`echo "$suf" | sed 's,-,/,g'`"
+ case "$2" in
+ "$pre"/*/*)
+ ;;
+ *)
+ echo "(EE) texture $2 of shader $1 is out of place, recommended file name is $pre/$suf"
+ ;;
+ esac
+ ;;
+ textures/*x/*)
+ pre=${1%%x/*}x
+ suf=${1#*x/}
+ case "$2" in
+ "$pre"/*/*)
+ ;;
+ *)
+ echo "(EE) texture $2 of shader $1 is out of place, recommended file name is $pre/base/$suf"
+ ;;
+ esac
+ ;;
+ textures/map_*/*)
+ pre=${1%%/map_*}
+ suf=${1#*/map_}
+ case "$2" in
+ "$pre"/map_*)
+ ;;
+ *)
+ echo "(EE) texture $2 of shader $1 is out of place, recommended file name is $pre/map_$suf"
+ ;;
+ esac
+ ;;
+ textures/common/*)
+ case "$2" in
+ "$1")
+ ;;
+ textures/common/*/*)
+ ;;
+ *)
+ echo "(EE) texture $2 of shader $1 is out of place, recommended file name is $1 or textures/common/*/*"
+ ;;
+ esac
+ ;;
+ textures/decals/*)
+ case "$2" in
+ "$1")
+ # I _suppose_ this is fine, as tZork committed this pack
+ ;;
+ *)
+ echo "(EE) texture $2 of shader $1 is out of place, recommended file name is $1 or textures/common/*/*"
+ ;;
+ esac
+ ;;
+ *)
+ echo "(EE) no shader name pattern for $1"
+ ;;
+ esac
}
parsing_shader=
textures_used=`echo "${textures_used#$LF}" | sort -u`
echo "$textures_used$LF$textures_used$LF$textures_avail" | sort | uniq -u | while IFS= read -r L; do
- echo "(EE) texture $L is not referenced by any shader"
+ case "$L" in
+ textures/radiant/*)
+ ;;
+ textures/map_*/*)
+ ;;
+ *)
+ echo "(EE) texture $L is not referenced by any shader"
+ ;;
+ esac
done