summarylogtreecommitdiffstats
path: root/evelauncher.sh
diff options
context:
space:
mode:
authorJernuh Zakalwe2019-03-03 14:57:40 +0100
committerJernuh Zakalwe2019-03-03 14:57:40 +0100
commit8ea2e0d83a2a8cfa2543308fd5cb831eb89cc8ac (patch)
treebae8be3980b1b1b2a9a78b0e4bf6d3540b2ec595 /evelauncher.sh
parentad1a68e4c01b49bf047e191d00b36938e14d52d4 (diff)
downloadaur-8ea2e0d83a2a8cfa2543308fd5cb831eb89cc8ac.tar.gz
32bit restriction removed from used wine environment for coming 64bit client.
Windows version now set to win10 for wine versions >=4.0 for possible use of vkd3d. Some shell functions outsourced in evelauncher.shlib for using in all scripts.
Diffstat (limited to 'evelauncher.sh')
-rw-r--r--evelauncher.sh86
1 files changed, 35 insertions, 51 deletions
diff --git a/evelauncher.sh b/evelauncher.sh
index b5a4f5f386d3..7826429249a7 100644
--- a/evelauncher.sh
+++ b/evelauncher.sh
@@ -2,14 +2,7 @@
set -e
-launcher_msg() {
- if [ -x "$(which notify-send 2>/dev/null)" ] ;then
- notify-send -i eve 'EVE Online Launcher' "$@"
- fi
- echo "$(basename $0): $@"
-}
-
-check_install() {
+check_env() {
if [ -d "$CONFDIR" ] ;then
if [ -r "$CONFDIR/EVE.conf" ] ;then
SHAREDIR=$(grep SharedCacheFolder $CONFDIR/EVE.conf | cut -d= -f2)
@@ -18,7 +11,7 @@ check_install() {
SHAREDIR=${SHAREDIR:-$HOME/.eve/}
[ ! -d "$SHAREDIR" ] && SHAREDIR=""
if [ "x$SHAREDIR" != "x$EVEDIR/SharedCache/" ] ;then
- launcher_msg "Please wait, preparing environment in $EVEDIR"
+ desktop_msg "Please wait, preparing environment in $EVEDIR"
mkdir -p $CONFDIR
echo "[General]" >$CONFDIR/EVE.conf
echo "SharedCacheFolder=$EVEDIR/SharedCache/" >>$CONFDIR/EVE.conf
@@ -41,49 +34,38 @@ check_steam() {
}
check_wine() {
- EVECONF=$CONFDIR/EVE.conf
- UCW=$(grep UseCustomWine $EVECONF | cut -d= -f2)
- if [ "x$UCW" = "xtrue" ] ;then
- CUSTOMWP=$(grep CustomWinePath $EVECONF | cut -d= -f2)
- WINEPATH=${CUSTOMWP%/*}
- SHAREDIR=$(grep SharedCacheFolder $EVECONF | cut -d= -f2)
- WINEPREFIX=${SHAREDIR}wineenv
- else
- launcher_msg "ERROR: \"Use custom Wine\" not set!"
- exit 1
- fi
- if [ -x "$WINEPATH/wine" ] ;then
- INSTWINE=$(cat $WINEPREFIX/.update-timestamp 2>/dev/null) || true
- WINEINFP=$(readlink -f $CUSTOMWP)
- WINECONF=$(find ${WINEINFP%/bin*}/share -name 'wine.inf' 2>/dev/null) || true
- WINEDATE=$(ls -l --time-style=+%s "$WINECONF" 2>/dev/null | cut -d' ' -f6)
- if [ "x$WINEDATE" != "x$INSTWINE" ] ;then
- launcher_msg "Preparing wine in $WINEPREFIX"
- env WINEARCH=win32 \
- WINEPREFIX=$WINEPREFIX \
- WINEDEBUG=-all \
- WINEDLLOVERRIDES="mscoree,mshtml,winemenubuilder.exe=d" \
- $WINEPATH/wine wineboot
- env WINEPREFIX=$WINEPREFIX $WINEPATH/wine reg delete \
- 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices' \
- /v winemenubuilder /f >/dev/null || true
+
+ check_custom_wine
+
+ INSTWINE=$(cat $WINEPREFIX/.update-timestamp 2>/dev/null) || true
+ WINEINFP=$(readlink -f $CUSTOMWP)
+ WINECONF=$(find ${WINEINFP%/bin*}/share -name 'wine.inf' 2>/dev/null) || true
+ WINEDATE=$(ls -l --time-style=+%s "$WINECONF" 2>/dev/null | cut -d' ' -f6)
+ if [ "x$WINEDATE" != "x$INSTWINE" ] ;then
+ desktop_msg "Preparing wine in $WINEPREFIX"
+ env WINEPREFIX=$WINEPREFIX \
+ WINEDEBUG=-all \
+ WINEDLLOVERRIDES="mscoree,mshtml,winemenubuilder.exe=d" \
+ $WINEPATH/wine wineboot
+ env WINEPREFIX=$WINEPREFIX $WINEPATH/wine reg delete \
+ 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices' \
+ /v winemenubuilder /f >/dev/null || true
env WINEPREFIX=$WINEPREFIX $WINEPATH/wine reg add \
- 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' \
- /v winemenubuilder.exe /f >/dev/null
- WINETRP=$(grep -v winxp $WINEPREFIX/winetricks.log 2>/dev/null | uniq)
- if [ "x$WINETRP" != "x" ] ;then
- rm $WINEPREFIX/winetricks.log
- env WINEPREFIX=$WINEPREFIX WINE=$WINEPATH/wine \
- $(which winetricks) -q --force $WINETRP >/dev/null
- fi
- if [ "x$($WINEPATH/wine --version | grep -q 4. ;echo $?)" != "x0" ] ;then
- env WINEPREFIX=$WINEPREFIX WINE=$WINEPATH/wine \
- $(which winetricks) -q winxp >/dev/null
- fi
+ 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' \
+ /v winemenubuilder.exe /f >/dev/null
+ WINETRP=$(grep -v win[x1..9] $WINEPREFIX/winetricks.log 2>/dev/null | uniq)
+ if [ "x$WINETRP" != "x" ] ;then
+ rm $WINEPREFIX/winetricks.log
+ env WINEPREFIX=$WINEPREFIX WINE=$WINEPATH/wine \
+ $(which winetricks) -q --force $WINETRP >/dev/null
fi
- else
- launcher_msg "ERROR: \"$CUSTOMWP\" in \"Custom Wine path\" not found!"
- exit 1
+ if [ "x$($WINEPATH/wine --version | grep -q 4. ;echo $?)" != "x0" ] ;then
+ WINVER=winxp
+ else
+ WINVER=win10
+ fi
+ env WINEPREFIX=$WINEPREFIX WINE=$WINEPATH/wine \
+ $(which winetricks) -q --force $WINVER >/dev/null
fi
}
@@ -96,7 +78,9 @@ LAUNCHER="$EVEDIR/Launcher"
SETUPDIR="/opt/evesetup"
WINEPATH="/usr/bin"
-check_install
+source $SETUPDIR/lib/evelauncher.shlib
+
+check_env
check_wine
check_steam