58 lines
1.7 KiB
58 lines
1.7 KiB
#!/bin/sh |
|
|
|
die() |
|
{ |
|
echo "$@" |
|
exit 1 |
|
} |
|
|
|
echo "Xash3D FWGS installed as Flatpak." |
|
|
|
# https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html |
|
# $XDG_DATA_HOME defines the base directory relative to which user-specific data files should be stored. |
|
# If $XDG_DATA_HOME is either not set or empty, a default equal to $HOME/.local/share should be used. |
|
if [ -z "$XDG_DATA_HOME" ]; then |
|
export XDG_DATA_HOME="$HOME/.local/share" |
|
fi |
|
|
|
if [ -z "$XASH3D_BASEDIR" ]; then |
|
export XASH3D_BASEDIR="$XDG_DATA_HOME/xash3d-fwgs/" |
|
fi |
|
|
|
mkdir -p "$XASH3D_BASEDIR" |
|
cd "$XASH3D_BASEDIR" || die "Can't cd into $XASH3D_BASEDIR" |
|
echo "XASH3D_BASEDIR is $XASH3D_BASEDIR" |
|
|
|
if [ -z "$XASH3D_RODIR" ]; then |
|
# TODO: detect by libraryfolders.vdf and installed apps |
|
STEAMDIRS="\ |
|
$HOME/.local/share/Steam/steamapps/common \ |
|
$HOME/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common \ |
|
$HOME/.steam/steam/steamapps/common" |
|
HALFLIFEDIR="Half-Life" |
|
|
|
for i in $STEAMDIRS; do |
|
if [ ! -d "$i" ]; then |
|
continue |
|
fi |
|
|
|
echo "Detected Steam library in $i, probing Half-Life..." |
|
|
|
if [ ! -d "$i/$HALFLIFEDIR" ]; then |
|
continue |
|
fi |
|
|
|
echo "Detected Half-Life installation in $i/$HALFLIFEDIR..." |
|
|
|
export XASH3D_RODIR="$i/$HALFLIFEDIR" |
|
break |
|
done |
|
fi |
|
echo "XASH3D_RODIR is $XASH3D_RODIR" |
|
|
|
if [ -z "$XASH3D_EXTRAS_PAK1" ]; then |
|
export XASH3D_EXTRAS_PAK1=/app/share/xash3d/valve/extras.pk3 |
|
fi |
|
echo "XASH3D_EXTRAS_PAK1 is $XASH3D_EXTRAS_PAK1" |
|
|
|
exec $DEBUGGER /app/lib32/xash3d/xash3d "$@"
|
|
|