#!/bin/sh launch_fte() { fteqw $* } # there's run & wait-before-run, we only care about the latter. COMMANDTYPE=$1 # this is how Steam tries to run the game if [ "$COMMANDTYPE" == "wait-before-run" ]; then # used to decipher which game we'll play GAMEBINARY=$(basename "$2") # steam game dir GAMEDIR=$(dirname "$2") # we have an unknown amount of parameters, let's make sure we get them # make sure this is quotes, because HeXen II has a space in its path PARMARR=( "$@" ) ARGLEN=${#PARMARR[@]} # get every parameter after the second (game location) and put it into # its own variable to pass over later GAMEARGS=${PARMARR[@]:2:$ARGLEN-1} if [ "$GAMEBINARY" == "Quake_x64_steam.exe" ]; then NEWPATH=$(dirname "$GAMEDIR") launch_fte -basedir "$NEWPATH" -quake $GAMEARGS elif [ "$GAMEBINARY" == "Winquake.exe" ]; then launch_fte -basedir "$GAMEDIR" $GAMEARGS elif [ "$GAMEBINARY" == "qwcl.exe" ]; then launch_fte -basedir "$GAMEDIR" -game qw $GAMEARGS elif [ "$GAMEBINARY" == "Glquake.exe" ]; then launch_fte -basedir "$GAMEDIR" -quake $GAMEARGS elif [ "$GAMEBINARY" == "glqwcl.exe" ]; then launch_fte -basedir "$GAMEDIR" -quake -game qw $GAMEARGS elif [ "$GAMEBINARY" == "quake3.exe" ]; then launch_fte -basedir "$GAMEDIR" -quake3 $GAMEARGS elif [ "$GAMEBINARY" == "quake2.exe" ]; then launch_fte -basedir "$GAMEDIR" -quake2 $GAMEARGS elif [ "$GAMEBINARY" == "glh2.exe" ]; then launch_fte -basedir "$GAMEDIR" -hexen2 $GAMEARGS else launch_fte -basedir "$GAMEDIR" $GAMEARGS fi fi