#!/bin/sh

# quake2 launcher by Jamie Wilkinson

xgamma=/usr/X11R6/bin/xgamma

# check config file
if [ -e $HOME/.quake2/baseq2/config.cfg ]; then
	VID_REF=`grep vid_ref $HOME/.quake2/baseq2/config.cfg | cut -f2 -d\"`
fi

# check cmdline args
if [ "`echo $* | tr '+' '\n' | grep vid_ref`" ]; then
	VID_REF=`echo $* | tr '+' '\n' | grep vid_ref | cut -f3 -d' '`
fi

# if OpenGL mode, set gamma
if [ "$VID_REF" = "sdlgl" -o "$VID_REF" = "glx" ]; then
	if [ -x $xgamma ]; then
# save old gamma values, by taking the output and turning it into a list of arguments to xgamma
		OLDGAMMA=`$xgamma 2>&1 | sed -e 's/Red/-rgamma/' -e 's/Green/-ggamma/' -e's/Blue/-bgamma/' -e 's/->//' -e 's/,//g'`
# set gamma
		$xgamma -gamma 1.7
	fi
fi

cd /usr/lib/games/quake2 && ./quake2 $*

# reset gamma if necessary
if [ "$VID_REF" = "sdlgl" -o "$VID_REF" = "glx" ]; then
	if [ -x $xgamma ]; then
# restore old gamma
		$xgamma $OLDGAMMA
	fi
fi
