diff options
Diffstat (limited to 'misc/setup/ioq3demo.sh')
-rw-r--r-- | misc/setup/ioq3demo.sh | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/misc/setup/ioq3demo.sh b/misc/setup/ioq3demo.sh new file mode 100644 index 0000000..05df7ff --- /dev/null +++ b/misc/setup/ioq3demo.sh @@ -0,0 +1,50 @@ +#!/bin/sh + +readlink() { + local path=$1 ll + + if [ -L "$path" ]; then + ll="$(LC_ALL=C ls -l "$path" 2> /dev/null)" && + echo "${ll/* -> }" + else + return 1 + fi +} + +script=$0 +count=0 +while [ -L "$script" ] +do + script=$(readlink "$script") + count=`expr $count + 1` + if [ $count -gt 100 ] + then + echo "Too many symbolic links" + exit 1 + fi +done +cd "`dirname $script`" + + +lib=lib +test -e lib64 && lib=lib64 + +if test "x$LD_LIBRARY_PATH" = x; then + LD_LIBRARY_PATH="`pwd`/$lib" +else + LD_LIBRARY_PATH="`pwd`/$lib:$LD_LIBRARY_PATH" +fi +export LD_LIBRARY_PATH + +archs=`uname -m` +case "$archs" in + i?86) archs=i386 ;; + x86_64) archs="x86_64 i386" ;; + ppc64) archs="ppc64 ppc" ;; +esac + +for arch in $archs; do + test -x ./ioquake3.$arch || continue + exec ./ioquake3.$arch +set sv_pure 0 +set vm_cgame 0 +set vm_game 0 +set vm_ui 0 +set fs_game demoq3 "$@" +done +echo "could not execute ioquake3" >&2 |