]> git.xonotic.org Git - xonotic/xonotic.git/blobdiff - misc/tools/cached-converter.sh
Merge remote branch 'origin/terencehill/mapping_update'
[xonotic/xonotic.git] / misc / tools / cached-converter.sh
index 8ce189c47bbbf295ba40fb88de008c1e70153c18..ff69cbb5b96a4707d66efdf890e1e2314c96ba37 100755 (executable)
@@ -10,7 +10,8 @@ set -e
 : ${do_dds:=true}
 : ${dds_tool:=compressonator-dxtc}
 : ${do_ogg:=false}
-: ${ogg_qual:=1}
+: ${ogg_ogg:=true}
+: ${ogg_qual:=2}
 : ${del_src:=false}
 : ${git_src_repo:=}
 : ${dds_noalpha:=dxt1}
@@ -66,14 +67,44 @@ use_magnet_to_acquire_checksum_faster()
        if [ -n "$magnet" ]; then
                magnet=${magnet#* }
                magnet=${magnet%% *}
-               sum=$sum$magnet
+               echo "$magnet"
        else
-               sum=$sum`git hash-object "$1"`
+               git hash-object "$1"
        fi
 }
 
 lastinfiles=
 lastinfileshash=
+acquire_checksum()
+{
+       if [ x"$1/../$2" = x"$lastinfiles" ]; then
+               _a_s=$lastinfileshash
+       else
+               _a_e=false
+               for _a_f in "$1" "$2"; do
+                       case "$_a_f" in
+                               */background_l2.tga|*/background_ingame_l2.tga)
+                                       _a_e=true
+                                       ;;
+                       esac
+               done
+               if [ -n "$git_src_repo" ] && ! $_a_e; then
+                       _a_s=`use_magnet_to_acquire_checksum_faster "${1#./}"`
+                       if [ -n "$2" ]; then
+                               _a_s=$_a_s`use_magnet_to_acquire_checksum_faster "${2#./}"`
+                       fi
+               else
+                       _a_s=`git hash-object "$1"`
+                       if [ -n "$2" ]; then
+                               _a_s=$_a_s`git hash-object "$2"`
+                       fi
+               fi
+               lastinfileshash=$_a_s
+               lastinfiles="$1/../$2"
+       fi
+       echo "$_a_s"
+}
+
 cached()
 {
        flag=$1; shift
@@ -91,31 +122,7 @@ cached()
        fi
        options=`echo "$*" | git hash-object --stdin`
        selfprofile convert_findchecksum
-       if [ x"$infile1/../$infile2" = x"$lastinfiles" ]; then
-               sum=$lastinfileshash
-       else
-               evil=false
-               for infile in "$infile1" "$infile2"; do
-                       case "$infile" in
-                               */background_l2.tga|*/background_ingame_l2.tga)
-                                       evil=true
-                                       ;;
-                       esac
-               done
-               if [ -n "$git_src_repo" ] && ! $evil; then
-                       sum=
-                       use_magnet_to_acquire_checksum_faster "${infile1#./}"
-                       if [ -n "$infile2" ]; then
-                               use_magnet_to_acquire_checksum_faster "${infile2#./}"
-                       fi
-               else
-                       sum=`git hash-object "$infile1"`
-                       if [ -n "$infile2" ]; then
-                               sum=$sum`git hash-object "$infile2"`
-                       fi
-               fi
-               lastinfileshash=$sum
-       fi
+       sum=`acquire_checksum "$infile1" "$infile2"`
        selfprofile convert_makecachedir
        mkdir -p "$CACHEDIR/$method-$options"
        name1="$CACHEDIR/$method-$options/$sum-1.${outfile1##*.}"
@@ -341,6 +348,11 @@ for F in "$@"; do
        will_jpeg=$do_jpeg
        will_dds=$do_dds
        will_ogg=$do_ogg
+       if ! $ogg_ogg; then
+               case "$f" in
+                       *.ogg) will_ogg=false ;;
+               esac
+       fi
        case "$f" in
                ./sounds/misc/talk*.wav) will_ogg=false ;; # engine "feature"
                *_bump) will_dds=false ;;