#!/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_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..." while true ; do if [ "$PW_USE_RUNTIME" != 1 ] ; then echo "PW_USE_RUNTIME: `echo $PW_USE_RUNTIME`" & break ; fi if [ -z `pgrep wgc.exe` ] ; then echo -e "PID WGC not found" sleep 2 else KILL_PORTWINE break fi done & 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_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_RUN "${PW_AUTOINSTALL_EXE}" while [ ! -z `pgrep Battle.net* | head -n 1` ] && [ -z `pgrep Battle.net.exe | head -n 1` ] ; do sleep 2 ; done KILL_PORTWINE 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_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` ] ; 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=("/runWithoutUpdating" "/deelevated" ) export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/OriginSetup.exe" START_PORTWINE if try_download "https://content-system.gog.com/open_link/download?path=/open/galaxy/client/2.0.35.19/setup_galaxy_2.0.35.19a.exe" "${PW_AUTOINSTALL_EXE}" then PW_START_PROGRESS_BAR_CS "Installing the GOG Galaxy. Please wait..." PW_RUN "${PW_AUTOINSTALL_EXE}" portwine_exe=`find "$WINEPREFIX/drive_c/" -type f -name "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_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_RUN "${PW_AUTOINSTALL_EXE}" 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 }