#!/bin/sh

tmplang="$LANG"
test "$LC_MESSAGES" != "" && tmplang="$LC_MESSAGES"
test "$LC_ALL"      != "" && tmplang="$LC_ALL"
test "$LANGUAGE"    != "" && tmplang="$LANGUAGE"

lang=`echo $tmplang|cut -d "_" -f 1`

case $lang in
  en)
    lang=gb
    echo $tmplang | grep en_US &>/dev/null && lang=en
  ;;
  de|fr|it|pt|es|se)
  ;;
  *)
    lang=gb
  ;;
esac

if [ ! -f $HOME/.scummvmrc ]; then
  scummvmversion=`scummvm -v|grep ^ScummVM|awk '{print $2}'`
  echo "[scummvm]" > $HOME/.scummvmrc
  echo "versioninfo=$scummvmversion" >> $HOME/.scummvmrc
fi

grep "path=/usr/share/games/BASS/" $HOME/.scummvmrc
if [ $? -ne 0 ]; then
  cat >> $HOME/.scummvmrc << EOF

[sky]
amiga=false
description=Beneath a Steel Sky
fullscreen=false
path=/usr/share/games/BASS/

EOF
fi

xmessage -buttons Adlib:0,"Try MIDI":1 \
         -default Adlib \
         -center \
         -file /usr/share/games/BASS/info \
         -print
result=$?

case $result in
  0)
    ;;
  1)
    OPTIONS="-e alsa"
    if [ -z "$SCUMMVM_PORT" ]; then
	# try to use sequencer of SBLive or SBAWE32/64
	if [ -r /proc/asound/card0/wavetableD1 ]; then
	    if grep -q '^SoundFonts: [1-9]' /proc/asound/card0/wavetableD1; then
		client=`aconnect -ol | grep '^client.*WaveTable' | sed -e s'/^client \([0-9]\+\):.*/\1/'`
		if [ -n "$client" ]; then
		    export SCUMMVM_PORT=${client}:0
		fi
	    fi
	fi
    fi
    if [ -z "$SCUMMVM_PORT" ]; then
	# otherwise try to use timidity
	# check the number of available PCM substreams
	avail=`grep '^subdevices_avail:' /proc/asound/card0/pcm0p/info | cut -d: -f2`
	if [ $avail -gt 1 ]; then
	    timidity -iAqqq -Os1S -N0 &
	    trap "kill $!" EXIT
	    sleep 1
	    client=`aconnect -ol | grep '^client.*TiMidity' | sed -e s'/^client \([0-9]\+\):.*/\1/'`
	    if [ -n "$client" ]; then
	    	export SCUMMVM_PORT=${client}:0
	    else
		export SCUMMVM_PORT=128:0
	    fi
	fi
    fi
    if [ -z "$SCUMMVM_PORT" ]; then
	unset OPTIONS
    fi
    ;;
  *)
    ;;
esac

echo "Using language: $lang"

scummvm -p/usr/share/games/BASS -q$lang -gadvmame2x -f $OPTIONS sky
