Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5384104542
|
No files matched your search
@@ -533,6 +533,21 @@ try_download () {
|
||||
return 0
|
||||
}
|
||||
|
||||
prepare_epic_wrapper () {
|
||||
local expected_hash="1feb21e21e19cbb34e881791c8f2557769f59231e46850915d49a6d0c1ce4583"
|
||||
export PW_EPIC_WRAPPER_EXE="${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}/epic/EpicGamesLauncher.exe"
|
||||
if [[ ! -f "$PW_EPIC_WRAPPER_EXE" ]] ; then
|
||||
create_new_dir "$(dirname "$PW_EPIC_WRAPPER_EXE")"
|
||||
try_download \
|
||||
"https://github.com/BananaWorks07/heroic-epic-integration/releases/download/v${PW_EPIC_WRAPPER_VER}/EpicGamesLauncher.exe" \
|
||||
"$PW_EPIC_WRAPPER_EXE" no_mirror || return 1
|
||||
fi
|
||||
if [[ "$(sha256sum "$PW_EPIC_WRAPPER_EXE" | awk '{print $1}')" != "$expected_hash" ]] ; then
|
||||
try_remove_file "$PW_EPIC_WRAPPER_EXE"
|
||||
fatal "Epic launcher wrapper checksum verification failed"
|
||||
fi
|
||||
}
|
||||
|
||||
var_winedlloverride_update () {
|
||||
export WINEDLLOVERRIDES="${1}${WINEDLLOVERRIDES:+;$WINEDLLOVERRIDES}"
|
||||
}
|
||||
@@ -4155,7 +4170,12 @@ EOF
|
||||
else
|
||||
case "${PW_EXE_FILE,,}" in
|
||||
*.exe)
|
||||
pw_run "${PW_VD_TMP[@]}" ${WINE_WIN_START} "${PW_EXE_FILE}"
|
||||
if [[ -n "${PW_EPIC_WRAPPER_EXE:-}" ]] ; then
|
||||
pw_run "${PW_VD_TMP[@]}" "${PW_EPIC_WRAPPER_EXE}" \
|
||||
"${PW_EXE_FILE}" "$@"
|
||||
else
|
||||
pw_run "${PW_VD_TMP[@]}" ${WINE_WIN_START} "${PW_EXE_FILE}"
|
||||
fi
|
||||
;;
|
||||
*.bat|*.cmd)
|
||||
PW_USE_TERMINAL=1
|
||||
|
||||
@@ -73,6 +73,9 @@ fi
|
||||
|
||||
export PW_START_PID="$$"
|
||||
|
||||
# shellcheck source=/dev/null
|
||||
source "${PORT_SCRIPTS_PATH}/var"
|
||||
|
||||
read -r -a pw_full_command_line <<< "$0 $*"
|
||||
export pw_full_command_line
|
||||
export orig_IFS="$IFS"
|
||||
@@ -119,6 +122,9 @@ elif [[ "$1" =~ ^--(debug|launch|edit-db)$ && "${2,,}" =~ \.(exe|bat|cmd|msi|reg
|
||||
elif [[ -f "$OLDPWD/$2" ]] ; then
|
||||
PW_EXE_FILE="$(realpath -s "$OLDPWD/$2")"
|
||||
fi
|
||||
elif [[ "$1" == "--epic-wrapper" && "${2,,}" =~ \.exe$ ]] ; then
|
||||
prepare_epic_wrapper || fatal "Failed to prepare Epic launcher wrapper"
|
||||
PW_EXE_FILE="$(realpath -s "$2")"
|
||||
fi
|
||||
export PW_EXE_FILE
|
||||
|
||||
@@ -164,9 +170,6 @@ export PW_VULKAN_DIR="${PORT_WINE_TMP_PATH}/VULKAN"
|
||||
create_new_dir "${PW_VULKAN_DIR}"
|
||||
|
||||
cd "${PORT_SCRIPTS_PATH}" || fatal "Scripts directory not found: ${PORT_SCRIPTS_PATH}"
|
||||
|
||||
# shellcheck source=/dev/null
|
||||
source "${PORT_SCRIPTS_PATH}/var"
|
||||
# HACK: Avoid inheriting a system scripts cwd in pressure-vessel.
|
||||
cd "${XDG_DATA_HOME:-$HOME}" || fatal "Data directory not found: ${XDG_DATA_HOME:-$HOME}"
|
||||
|
||||
@@ -576,6 +579,10 @@ Usage examples:
|
||||
portwine_launch
|
||||
stop_portproton
|
||||
;;
|
||||
--epic-wrapper)
|
||||
portwine_launch "${@:3}"
|
||||
stop_portproton
|
||||
;;
|
||||
--stop)
|
||||
start_path="$(realpath "$0")"
|
||||
pgrep -f -- "${start_path}.*--autoinstall" | while read -r autoinstall_pid ; do
|
||||
|
||||
@@ -16,6 +16,7 @@ export VKD3D_SAREK_VER="sarek-2.6.0"
|
||||
export PW_LSFG_VK_VER="2.0.0-dev25-p11"
|
||||
export PW_OPTISCALER_VER="v03-0.9.0-pre8"
|
||||
export PW_SPECIALK_VER="SK_26_5_15"
|
||||
export PW_EPIC_WRAPPER_VER="0.4"
|
||||
export PW_GALLIUM_NINE_VER="0.10"
|
||||
export DOTPFX_VER="48v9"
|
||||
export DEFPFX_VER="v1"
|
||||
|
||||
@@ -148,6 +148,7 @@ if [ -n "$LIST" ]; then
|
||||
fi
|
||||
"""
|
||||
|
||||
|
||||
class MainWindow(
|
||||
MainWindowControlHintsMixin,
|
||||
MainWindowAutoInstallTabMixin,
|
||||
@@ -2754,8 +2755,9 @@ class MainWindow(
|
||||
)
|
||||
return
|
||||
try:
|
||||
wrapper = shlex.join([self.start_sh[0], "--epic-wrapper"])
|
||||
command = self.egs_api.build_command([
|
||||
"launch", app_id, "--json", "--wrapper", self.start_sh[0],
|
||||
"launch", app_id, "--json", "--wrapper", wrapper,
|
||||
"--no-wine", "--skip-version-check",
|
||||
])
|
||||
process = subprocess.Popen(
|
||||
|
||||
Reference in new issue
Block a user