#!/usr/bin/bash

usage() {
    echo "$0 - launch game with SDL hack library"
    echo " "
    echo "$0 [options] game [arguments]"
    echo " "
    echo "options:"
    echo "	-h                  show brief help"
    echo "	-d                  disable joystick"
    echo "	-e                  enable joystick"
    echo "	-s                  save settings in ~/.sdlhackrc"
    echo "	-k KEY              set trigger key"
    echo "	-w FILE             capture audio output to FILE"
}

export SDLHACK_DISABLE_JOYSTICK=0
export SDLHACK_TRIGGER_KEY=ctrl-z
export SDLHACK_TEE_AUDIO=

RC=$HOME/.sdlhackrc

if [ -e "$RC" ]; then
    . "$RC"
fi

saveopt=

while getopts 'hdesk:w:' arg; do
    case $arg in
        d)
            SDLHACK_DISABLE_JOYSTICK=1
            ;;
        e)
            SDLHACK_DISABLE_JOYSTICK=0
            ;;
        k)
            SDLHACK_TRIGGER_KEY=$OPTARG
            ;;
        s)
            saveopt=1
            ;;
        w)
            SDLHACK_TEE_AUDIO=$OPTARG
            ;;
	*)
            usage
            exit 0
            ;;
    esac
done
shift $(($OPTIND - 1))

if [ x$saveopt = x1 ]; then
    cat <<EOF > "$RC"
SDLHACK_DISABLE_JOYSTICK='$SDLHACK_DISABLE_JOYSTICK'
SDLHACK_TRIGGER_KEY='$SDLHACK_TRIGGER_KEY'
EOF
    echo "sdlhack: options saved in $RC"
fi

if [ $# -lt 1 ]; then
    if [ x$saveopt = x ]; then    
        usage
    fi
    exit 0
fi

if [ x"$LD_PRELOAD" = x ] ; then
    LD_PRELOAD="/usr/lib64/sdlhack/libsdlhack.so"
else
    LD_PRELOAD="$LD_PRELOAD /usr/lib64/sdlhack/libsdlhack.so"
fi

export LD_PRELOAD

exec "$@"
