+
+ # release building goes here
+ release-mkdir)
+ mkdir -p Xonotic/"$1"
+ ;;
+ release-prepare)
+#"$SELF" each git clean -fxd
+ mkdir -p Xonotic
+ "$SELF" release-copy Docs/
+ "$SELF" release-copy misc/
+ "$SELF" release-copy server/
+ "$SELF" release-copy xonotic-linux-glx.sh
+ "$SELF" release-copy xonotic-linux-sdl.sh
+ "$SELF" release-mkdir data
+ "$SELF" release-mkdir fteqcc
+ ;;
+ release-copy)
+ rsync --exclude=.git -vaSHPAX "$1" Xonotic/"$1"
+ ;;
+ release-compile-run)
+ host=$1
+ buildpath=$2
+ maketargets=$3
+ makeflags=$4
+ srcdir=$5
+ targetfiles=$6
+ rsync --delete -zvaSHPAX "$srcdir"/ "$host:$buildpath/"
+ ssh "$host" ". ~/.profile && cd $buildpath && make clean $maketargets $makeflags"
+ for f in $targetfiles; do
+ rsync -zvaSHPAX "$host:$buildpath/${f%:*}" "${f##*:}"
+ done
+ ;;
+ release-compile)
+ suffix=$1
+ makeflags=$2
+ fteqcc_maketargets=$3
+ fteqcc_files=$4
+ darkplaces_maketargets=$5
+ darkplaces_files=$6
+ "$SELF" release-compile-run "xonotic-build-$suffix" /tmp/fteqcc.build."$suffix" "$fteqcc_maketargets" "$makeflags" "fteqcc" "$fteqcc_files"
+ "$SELF" release-compile-run "xonotic-build-$suffix" /tmp/Darkplaces.build."$suffix" "$darkplaces_maketargets" "$makeflags" "fteqcc" "$darkplaces_files"
+ ;;
+ release-engine-win32)
+ rsync --exclude=.git -vaSHPAX Xonotic/misc/buildfiles/w32/* Xonotic/
+ "$SELF" release-compile win32 \
+ '"DP_MAKE_TARGET=mingw CC="$HOME/mingw32/bin/i386-mingw32-gcc -g -DSUPPORTDIRECTX -DUSE_WSPIAPI_H -I$HOME/dxheaders" WINDRES="$HOME/mingw32/bin/i386-mingw32-windres" SDL_CONFIG="$HOME/sdl-win32/SDL-1.2.13/bin/sdl-config"' \
+ win 'fteqcc.exe:Xonotic/fteqcc/fteqcc.exe' \
+ debug 'darkplaces.exe:xonotic.exe darkplaces-sdl.exe:xonotic-sdl.exe darkplaces-dedicated.exe:xonotic-dedicated.exe'
+ ;;
+ release-engine-osx)
+ rsync --exclude=.git -vaSHPAX Xonotic/misc/buildfiles/osx/* Xonotic/
+ "$SELF" release-compile osx \
+ 'CC="gcc -g -arch i386 -arch ppc -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5"' \
+ all 'fteqcc.bin:Xonotic/fteqcc/fteqcc.osx' \
+ sdl-debug 'darkplaces-sdl:Xonotic/Xonotic-SDL.app/Contents/MacOS/xonotic-osx-sdl-bin'
+ ;;
+ release-engine-linux32)
+ "$SELF" release-compile linux32 \
+ 'CC="gcc -g -Wl,--hash-style=sysv" DP_MODPLUG_STATIC_LIBDIR=$HOME/modplug-i386/lib DP_LINK_TO_LIBJPEG=1 LDFLAGS_LIBJPEG="$HOME/jpeg7/lib/libjpeg.a" CFLAGS_LIBJPEG="-I$HOME/jpeg7/include"' \
+ all 'fteqcc.bin:Xonotic/fteqcc/fteqcc.linux32' \
+ debug 'darkplaces-glx:Xonotic/xonotic-linux-linux32-glx darkplaces-sdl:Xonotic/xonotic-linux-linux32-sdl darkplaces-dedicated:Xonotic/xonotic-linux-linux32-dedicated'
+ ;;
+ release-engine-linux64)
+ "$SELF" release-compile linux64 \
+ 'CC="gcc -g -Wl,--hash-style=sysv" DP_MODPLUG_STATIC_LIBDIR=$HOME/modplug-x86_64/lib DP_LINK_TO_LIBJPEG=1 LDFLAGS_LIBJPEG="$HOME/jpeg7/lib/libjpeg.a" CFLAGS_LIBJPEG="-I$HOME/jpeg7/include"' \
+ all 'fteqcc.bin:Xonotic/fteqcc/fteqcc.linux64' \
+ debug 'darkplaces-glx:Xonotic/xonotic-linux-linux64-glx darkplaces-sdl:Xonotic/xonotic-linux-linux64-sdl darkplaces-dedicated:Xonotic/xonotic-linux-linux64-dedicated'
+ ;;
+ release-engine)
+ "$SELF" release-engine-win32
+ "$SELF" release-engine-osx
+ "$SELF" release-engine-linux32
+ "$SELF" release-engine-linux64
+ ;;
+ release-maps)
+ "$SELF" update-maps
+ for X in data/*-????????????????????????????????????????-????????????????????????????????????????.pk3; do
+ if [ -f "$X" ]; then
+ cd Xonotic/data/xonotic-maps.pk3dir
+ unzip ../../../"$X"
+ cd ../../..
+ fi
+ done
+ ;;
+ release-finish)
+ # version numnber and stuff like that
+ ;;
+ release-buildpk3-transform-raw)
+ dir=$1
+ ;;
+ release-buildpk3-transform-normal)
+ dir=$1
+ cd "$dir"
+ # texture: convert to jpeg and dds
+ export do_jpeg=true
+ export jpeg_qual_rgb=95
+ export jpeg_qual_a=99
+ export do_dds=true
+ export dds_flags=
+ export do_ogg=false
+ find textures -type f -print0 | xargs -0 "$d0"/misc/tools/cached-converter.sh
+ ;;
+ release-buildpk3-transform-low)
+ dir=$1
+ cd "$dir"
+ # texture: convert to jpeg and dds
+ # music: reduce bitrate
+ export do_jpeg=true
+ export jpeg_qual_rgb=95
+ export jpeg_qual_a=99
+ export do_dds=false
+ export do_ogg=true
+ export ogg_qual=1
+ find textures sound/cdtracks -type f -print0 | xargs -0 "$d0"/misc/tools/cached-converter.sh
+ ;;
+ release-buildpk3)
+ src=$1
+ dst=$2
+ transform=$3
+ case "$dst" in
+ /*)
+ ;;
+ */)
+ dst="$PWD/$dst"
+ ;;
+ esac
+ rm -rf Xonotic/temp
+ rsync --exclude=.git -vaSHPAX "$src"/ "Xonotic/temp"
+ "$SELF" release-buildpk3-transform-$transform "Xonotic/temp"
+ cd Xonotic/temp
+ zip -9r "../../$dst" . ########### 7za a -tzip -mx=9 "../../$dst" .
+ cd ../..
+ rm -rf Xonotic/temp
+ ;;
+ release-buildpk3s)
+ src=$1
+ shift
+ while [ "$#" -gt 1 ]; do
+ "$SELF" release-buildpk3 "$src" "Xonotic/${src%.pk3dir}$2.pk3" "$1"
+ shift
+ shift
+ done
+ ;;
+ release-pack)
+ "$SELF" release-buildpk3s data/font-dejavu.pk3dir raw ''
+ "$SELF" release-buildpk3s data/xonotic-data.pk3dir normal '' raw '-raw' low '-low'
+ "$SELF" release-buildpk3s data/xonotic-maps.pk3dir normal '' raw '-raw' low '-low'
+ "$SELF" release-buildpk3s data/xonotic-music.pk3dir normal '' raw '-raw' low '-low'
+ "$SELF" release-buildpk3s data/xonotic-nexcompat.pk3dir low ''
+ ;;
+ release)
+ "$SELF" release-prepare
+ "$SELF" release-maps
+ "$SELF" release-finish
+ "$SELF" release-pack
+ "$SELF" release-engine
+ ;;