summarylogtreecommitdiffstats
path: root/evelauncher.sh
diff options
context:
space:
mode:
authorJernuh Zakalwe2018-10-12 23:00:19 +0200
committerJernuh Zakalwe2018-10-12 23:00:19 +0200
commit15e3274dfc8db22a485a35516b755d857ebb0a58 (patch)
treeaaaa1ad01628d80be69c8f1df6c4671bb3175fc0 /evelauncher.sh
downloadaur-15e3274dfc8db22a485a35516b755d857ebb0a58.tar.gz
Initial Commit
Diffstat (limited to 'evelauncher.sh')
-rwxr-xr-xevelauncher.sh90
1 files changed, 90 insertions, 0 deletions
diff --git a/evelauncher.sh b/evelauncher.sh
new file mode 100755
index 000000000000..5f3cac998ede
--- /dev/null
+++ b/evelauncher.sh
@@ -0,0 +1,90 @@
+#!/bin/sh
+
+launcher_msg() {
+ if [ -x "$(which notify-send 2>/dev/null)" ]; then
+ notify-send -u low -i eve 'EVE Online Launcher' "$@"
+ fi
+ echo "$(basename $0): $@"
+}
+
+check_install() {
+ if [ -d "$CONFDIR" ]; then
+ if [ -r "$CONFDIR/EVE.conf" ]; then
+ SHAREDIR=$(grep SharedCacheFolder $CONFDIR/EVE.conf | cut -d= -f2)
+ fi
+ fi
+ SHAREDIR=${SHAREDIR:-$HOME/.eve/}
+ [ ! -d "$SHAREDIR" ] && SHAREDIR=""
+ if [ "x$SHAREDIR" != "x$EVEDIR/SharedCache/" ]; then
+ launcher_msg "Please wait, preparing environment in $EVEDIR"
+ mkdir -p $CONFDIR
+ echo "[General]" >$CONFDIR/EVE.conf
+ echo "SharedCacheFolder=$EVEDIR/SharedCache/" >>$CONFDIR/EVE.conf
+ echo "UseCustomWine=true" >>$CONFDIR/EVE.conf
+ echo "CustomWinePath=$WINEPATH/wine" >>$CONFDIR/EVE.conf
+ mkdir -p $EVEDIR/SharedCache
+ tar xf $SETUPDIR/lib/launcher-$ELVER.tar.xz -C $EVEDIR
+ if [ -d "$SHAREDIR/ResFiles/" ]; then
+ mv $SHAREDIR/ResFiles/ $EVEDIR/SharedCache/
+ mv $SHAREDIR/*.txt $EVEDIR/SharedCache/
+ rm -rf $SHAREDIR
+ fi
+ fi
+}
+
+check_steam() {
+ if [ ! -r "$LAUNCHER/steam_appid.txt" -a -x "$(which steam 2>/dev/null)" ]; then
+ echo "8500" >$LAUNCHER/steam_appid.txt
+ fi
+}
+
+check_wine() {
+ EVECONF=$CONFDIR/EVE.conf
+ UCW=$(grep UseCustomWine $EVECONF | cut -d= -f2)
+ if [ "x$UCW" = "xtrue" ]; then
+ WINEPATH=$(grep CustomWinePath $EVECONF | cut -d= -f2)
+ WINEPATH=${WINEPATH%/*}
+ else
+ launcher_msg "Error: Custom wine not set!"
+ exit 1
+ fi
+ WINEDATE=$(ls -l --time-style=+%s $WINEPATH/wineserver | cut -d' ' -f6)
+ INSTWINE=$(cat $EVEDIR/SharedCache/wineenv/.update-timestamp 2>/dev/null)
+ if [ "x$WINEDATE" != "x$INSTWINE" ]; then
+ if [ -x "$WINEPATH/wine" ]; then
+ WINEPREFIX=$EVEDIR/SharedCache/wineenv
+ env WINEARCH=win32 \
+ WINEPREFIX=$WINEPREFIX \
+ WINEDEBUG=-all \
+ WINEDLLOVERRIDES="mscoree,mshtml,winemenubuilder.exe=d" \
+ $WINEPATH/wineboot
+ env WINEPREFIX=$WINEPREFIX $WINEPATH/wine reg delete \
+ 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices' \
+ /v winemenubuilder /f >/dev/null
+ env WINEPREFIX=$WINEPREFIX $WINEPATH/wine reg add \
+ 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' \
+ /v winemenubuilder.exe /f >/dev/null
+ env WINEPREFIX=$WINEPREFIX WINE=$WINEPATH/wine \
+ $(which winetricks) -q winxp >/dev/null
+ else
+ launcher_msg "Error: No wine in $WINEPATH found!"
+ exit 1
+ fi
+ fi
+}
+
+ELVER="1385477"
+QTVER="5.11"
+SHAREDIR=""
+CONFDIR="$HOME/.config/CCP"
+EVEDIR="$HOME/.local/lib/EVE"
+LAUNCHER="$EVEDIR/Launcher"
+SETUPDIR="/opt/evesetup"
+WINEPATH="/usr/bin"
+
+check_install
+check_wine
+check_steam
+
+cd $EVEDIR
+exec $LAUNCHER/evelauncher.sh