#!/usr/bin/sh
# sgiquake startup hacked by pat
# this assumes only 6.3 and 5.3 machines

OSVER=`machtype -E`

MEM=`
    hinv |
    fgrep "Main memory size" |
    nawk '{ big = $4 > 64; print big; }'
`

TEX=`
    glxinfo |
    fgrep "OpenGL renderer" |
    nawk '{
	IsKona = substr( $4, 1, 2 ) == "IR";
	IsImpact = substr( $4, 1, 6 ) == "IMPACT";
	IsO2 = substr( $4, 1, 5 ) == "CRIME";
	print (IsKona || IsImpact || IsO2);
    }'
`

echo "TEX ("$TEX")"
echo "MEM ("$MEM")"

if [ '( "$TEX" = "0" ) -o ( -z "$TEX" )' ]; then
    TEXEXT=".sw"
else
    TEXEXT=".gl"
fi;

if [ "$MEM" = "0" ]; then
    if [ "$TEX" = "1" ]; then
	MEMFLAGS="+gl_max_size 128 +gl_nocolors +gl_nomip 1"
	echo "If this is an O2 you will be"
	echo "paging unless you run xscreen and"
	echo "select VGA 16+16 mode, see"
	echo "the README for more info"
    else
        MEMFLAGS=""
    fi;
else
    MEMFLAGS=""
fi;

if [ "$OSVER" = "5.3" ]; then
    SNDFLAGS="-nosound"
else
    SNDFLAGS=""
fi;

EXE="./quake$TEXEXT"

RUN="$EXE $SNDFLAGS $MEMFLAGS $1 $2 $3 $4 $5 $6 $7 $8 $9"

echo $RUN
exec $RUN
