#!/bin/bash # Author: Castro-Fidel (PortWINE-Linux.ru) ######################################################################## export PW_USER_TEMP="$WINEPREFIX/drive_c/users/${USER}/Temp" export PW_FORCE_LARGE_ADDRESS_AWARE=0 export PW_USE_GAMEMODE=0 export PW_CHECK_AUTOINSTAL=1 export PW_WINEDBG_DISABLE=1 export PW_NO_WRITE_WATCH=0 export PW_VULKAN_USE=0 export PW_NO_FSYNC=1 export PW_NO_ESYNC=1 unset PORTWINE_CREATE_SHORTCUT_NAME pw_kill_autostart () { if [ "$PW_USE_RUNTIME" != 1 ] then echo "PW_USE_RUNTIME: `echo $PW_USE_RUNTIME`" else sleep 10 while true ; do if [ -z `pgrep "$1" | head -n 1` ] && [ ! -z `pgrep wrap | head -n 1` ]; then echo -e "PID "$1" not found" sleep 1 else KILL_PORTWINE break fi done fi } PW_WGC () { export LAUNCH_PARAMETERS=("/VERYSILENT") [ "${update_loc}" = "RUS" ] && export WGC_LOC=RU || export WGC_LOC=EU export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Wargaming_Game_Center_Install_WoT_${WGC_LOC}.exe" START_PORTWINE if try_download "https://redirect.wargaming.net/WGC/Wargaming_Game_Center_Install_WoT_${WGC_LOC}.exe" "${PW_AUTOINSTALL_EXE}" then PW_START_PROGRESS_BAR_BLOCK "Starting WGC installation..." pw_kill_autostart wgc.exe & PW_RUN "${PW_AUTOINSTALL_EXE}" portwine_exe="$WINEPREFIX/drive_c/ProgramData/Wargaming.net/GameCenter/wgc_api/wgc_api.exe" export PORTWINE_CREATE_SHORTCUT_NAME="Wargaming Game Center" try_remove_file "${PW_AUTOINSTALL_EXE}" KILL_PORTWINE PORTWINE_CREATE_SHORTCUT fi STOP_PORTWINE } PW_ORIGIN () { export LAUNCH_PARAMETERS=("/silent" ) export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/OriginSetup.exe" START_PORTWINE if try_download "https://download.dm.origin.com/origin/live/OriginSetup.exe" "${PW_AUTOINSTALL_EXE}" then PW_START_PROGRESS_BAR_BLOCK "Installing the Origin. Please wait..." pw_kill_autostart Origin.exe & PW_RUN "${PW_AUTOINSTALL_EXE}" portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Origin/Origin.exe" PW_STOP_PROGRESS_BAR try_remove_file "${PW_AUTOINSTALL_EXE}" KILL_PORTWINE PORTWINE_CREATE_SHORTCUT fi STOP_PORTWINE } PW_BATTLE_NET () { [ "${update_loc}" = "RUS" ] && export BN_LOC=ruRU || export BN_LOC=enUS export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Battle.net-Setup-${BN_LOC}.exe" START_PORTWINE if try_download "http://dist.blizzard.com/downloads/bna-installers/322d5bb9ae0318de3d4cde7641c96425/retail.1/Battle.net-Setup-${BN_LOC}.exe" "${PW_AUTOINSTALL_EXE}" then PW_START_PROGRESS_BAR "Installing the Battle Net. Please wait..." pw_kill_autostart Battle.net.exe & PW_RUN "${PW_AUTOINSTALL_EXE}" portwine_exe=`find "$WINEPREFIX/drive_c/" -type f -name "Battle.net.exe"` PW_STOP_PROGRESS PORTWINE_CREATE_SHORTCUT try_remove_file "${PW_AUTOINSTALL_EXE}" fi STOP_PORTWINE } PW_EPIC () { export LAUNCH_PARAMETERS=("/q" ) export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EpicGamesLauncherInstaller.msi" START_PORTWINE if try_download "https://launcher-public-service-prod06.ol.epicgames.com/launcher/api/installer/download/EpicGamesLauncherInstaller.msi" "${PW_AUTOINSTALL_EXE}" then PW_START_PROGRESS_BAR_BLOCK "Installing Epic Games Launcher. Please wait..." pw_kill_autostart EpicGamesLauncher.exe PW_RUN msiexec /i "${PW_AUTOINSTALL_EXE}" & sleep 10 if [ ! -z `pgrep msiexec* | head -n 1` ] ; then while [ ! -z `pgrep msiexec* | head -n 1` ] || [ ! -z `pgrep rundll32* | head -n 1` ] || [ ! -z `pgrep wrap | head -n 1` ]; do [ ! -z `pgrep rundll32* | head -n 1` ] && kill -n 9 `pgrep rundll32* | head -n 1` && echo "Kill rundll32.exe" sleep 5 done fi portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Epic Games/Launcher/Portal/Binaries/Win32/EpicGamesLauncher.exe" try_remove_file "${PW_AUTOINSTALL_EXE}" KILL_PORTWINE PW_STOP_PROGRESS_BAR PORTWINE_CREATE_SHORTCUT fi STOP_PORTWINE } PW_GOG () { export LAUNCH_PARAMETERS=("/VERYSILENT") export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/setup_galaxy_2.0.37.384.exe" START_PORTWINE if try_download "https://content-system.gog.com/open_link/download?path=/open/galaxy/client/2.0.37.384/setup_galaxy_2.0.37.384.exe" "${PW_AUTOINSTALL_EXE}" then PW_START_PROGRESS_BAR_BLOCK "Installing the GOG Galaxy. Please wait..." pw_kill_autostart GalaxyClient.* & PW_RUN "${PW_AUTOINSTALL_EXE}" portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/GOG Galaxy/GalaxyClient.exe" try_remove_file "${PW_AUTOINSTALL_EXE}" KILL_PORTWINE PW_STOP_PROGRESS_BAR PORTWINE_CREATE_SHORTCUT fi STOP_PORTWINE } PW_EVE () { export PW_WINDOWS_VER=10 export PW_DLL_INSTALL="vcrun2017" export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EveLauncher-1892908.exe" START_PORTWINE if try_download "https://binaries.eveonline.com/EveLauncher-1892908.exe" "${PW_AUTOINSTALL_EXE}" then PW_START_PROGRESS_BAR_BLOCK "Installing the EVE Launcher. Please wait..." if [ ! -f "$WINEPREFIX/drive_c/Games/EVE Online/Launcher/evelauncher.exe" ] ; then try_remove_dir "$WINEPREFIX/drive_c/Games/EVE Online" dd if="${PW_AUTOINSTALL_EXE}" of="${PW_AUTOINSTALL_EXE}".7z bs=1M skip=31646603 count=196171208 iflag=skip_bytes,count_bytes "$pw_7z" x "${PW_AUTOINSTALL_EXE}".7z -o"$WINEPREFIX/drive_c/Games/EVE Online" try_remove_file "${PW_AUTOINSTALL_EXE}" try_remove_file "${PW_AUTOINSTALL_EXE}".7z fi portwine_exe="$WINEPREFIX/drive_c/Games/EVE Online/Launcher/evelauncher.exe" PW_STOP_PROGRESS_BAR PORTWINE_CREATE_SHORTCUT fi STOP_PORTWINE } PW_UBC () { export LAUNCH_PARAMETERS=("/S" "/D=c:\Program Files (x86)\Ubisoft Game Launcher") export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/UbisoftConnectInstaller.exe" START_PORTWINE if try_download "https://ubistatic3-a.akamaihd.net/orbit/launcher_installer/UbisoftConnectInstaller.exe" "${PW_AUTOINSTALL_EXE}" then PW_START_PROGRESS_BAR_CS "Installing the Ubisoft Connect. Please wait..." pw_kill_autostart UbisoftConnect.exe & PW_RUN "${PW_AUTOINSTALL_EXE}" portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Ubisoft Game Launcher/UbisoftConnect.exe" try_remove_file "${PW_AUTOINSTALL_EXE}" KILL_PORTWINE PW_STOP_PROGRESS_BAR PORTWINE_CREATE_SHORTCUT fi STOP_PORTWINE } PW_STEAM () { export LAUNCH_PARAMETERS=("/S" "/D=c:\Program Files (x86)\Steam") export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/SteamSetup.exe" START_PORTWINE if try_download "https://cdn.cloudflare.steamstatic.com/client/installer/SteamSetup.exe" "${PW_AUTOINSTALL_EXE}" then PW_START_PROGRESS_BAR_CS "Installing the Steam. Please wait..." pw_kill_autostart steam.exe & PW_RUN "${PW_AUTOINSTALL_EXE}" if [ -f "$WINEPREFIX/drive_c/Program Files (x86)/Steam/Steam.exe" ] then mv -f "$WINEPREFIX/drive_c/Program Files (x86)/Steam/Steam.exe" "$WINEPREFIX/drive_c/Program Files (x86)/Steam/steam.exe" fi portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Steam/steam.exe" try_remove_file "${PW_AUTOINSTALL_EXE}" KILL_PORTWINE PW_STOP_PROGRESS_BAR PORTWINE_CREATE_SHORTCUT fi STOP_PORTWINE } PW_OSU () { export WINEPREFIX="${PORT_WINE_PATH}/data/pfx_dotnet" export PW_DLL_INSTALL="dotnet40" mkdir -p "${WINEPREFIX}/drive_c/Program Files (x86)/OSU/" export PW_AUTOINSTALL_EXE="${WINEPREFIX}/drive_c/Program Files (x86)/OSU/osu!.exe" START_PORTWINE if try_download "https://m1.ppy.sh/r/osu!install.exe" "${PW_AUTOINSTALL_EXE}" then PW_START_PROGRESS_BAR_BLOCK "Installing the OSU!. Please wait..." if [ -f "${PORT_WINE_PATH}/data/pfx_dotnet/drive_c/Program Files (x86)/OSU/osu!install.exe" ]; then mv -f "${PORT_WINE_PATH}/data/pfx_dotnet/drive_c/Program Files (x86)/OSU/osu!install.exe" "${PORT_WINE_PATH}/data/pfx_dotnet/drive_c/Program Files (x86)/OSU/osu!.exe" fi portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/OSU/osu!.exe" PORTWINE_CREATE_SHORTCUT PW_RUN "${PW_AUTOINSTALL_EXE}" PW_STOP_PROGRESS_BAR KILL_PORTWINE fi STOP_PORTWINE }