3 # usage: compress-texture tool compression in.png out.dds
4 # example: compress-texture compressonator dxt1 foo.jpg foo.dds
33 compressonator-dxtc|compressonator-atic)
35 *-dxtc) c="-codec DXTC.dll" ;;
36 *-atic) c="-codec ATICompressor.dll" ;;
39 dxt1) f="+fourCC DXT1" ;;
40 dxt2) f="+fourCC DXT2" ;;
41 dxt3) f="+fourCC DXT3" ;;
42 dxt4) f="+fourCC DXT4" ;;
43 dxt5) f="+fourCC DXT5" ;;
45 dir=`mktemp -d "$HOME/.wine/drive_c/compressonator.XXXXXX"`
46 dir_dos="C:/${dir##*/}"
48 cp "$src" "$dir/src.$ext"
50 # compressonator and wine suck, so we sometimes have to retry :(
51 for retry in 1 2 3 4 5; do
52 wine "c:/Program Files/AMD/The Compressonator 1.50/TheCompressonator.exe" -convert -mipmaps "$dir_dos/src.$ext" "$dir_dos/dst.dds" $c $f "$@" -mipper BoxFilter.dll
53 if mv "$dir/dst.dds" "$dst"; then
63 dxt3) f="-alpha -bc3" ;;
64 dxt5) f="-alpha -bc5" ;;
66 nvcompress $f "$@" "$src" "$dst"
70 if [ -n "$fourcchack" ]; then
71 # use dd to hack in the right FOURCC
72 echo -n "$fourcchack" | dd of="$dst" bs=1 count=4 seek=84