From f21a87b20e8e1d03d7ed1fa3348bc68a51862663 Mon Sep 17 00:00:00 2001 From: Mikhail Tergoev Date: Wed, 3 Jul 2024 16:47:03 +0300 Subject: [PATCH] fixd GI autoinstall --- .gitignore | 3 + data_from_portwine/changelog_ru | 5 +- .../scripts/functions_helper.rej | 176 ------------------ .../scripts/pw_autoinstall/PW_GENSHIN_IMPACT | 11 +- 4 files changed, 11 insertions(+), 184 deletions(-) delete mode 100644 data_from_portwine/scripts/functions_helper.rej diff --git a/.gitignore b/.gitignore index 805affe..2ed5308 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ .vscode *.po~ +*.rej +*.orig +*-swp diff --git a/data_from_portwine/changelog_ru b/data_from_portwine/changelog_ru index da075a0..91d32a5 100755 --- a/data_from_portwine/changelog_ru +++ b/data_from_portwine/changelog_ru @@ -7,10 +7,11 @@ * небольшие улучшения и оптимизации (спасибо Boria138 и Htylol) * добавлена экспериментальная возможность запуска нативной версии wine-wayland с сторонней версией wine которая скомпилирована с данной функцией (спасибо Boria138) * все временные файлы перенесены в каталог /tmp/PortProton (спасибо Htylol) +* исправлено переключение языка в играх использующих .ini файлы (спасибо Eljeyna) TODO: -Пофиксить баг с несколькими ярлыками с бэкапа -Genshin +* пофиксить баг с несколькими ярлыками с бэкапа +* проверить установку Genshin (спасибо n0n4m3) ###Scripts version 2312### Дата: 25.06.2024 / Размер скачиваемого обновления: 4 мегабайта HOTFIX - исправлена ошибка: "Argument list too long" diff --git a/data_from_portwine/scripts/functions_helper.rej b/data_from_portwine/scripts/functions_helper.rej deleted file mode 100644 index a9e9e4f..0000000 --- a/data_from_portwine/scripts/functions_helper.rej +++ /dev/null @@ -1,176 +0,0 @@ ---- data_from_portwine/scripts/functions_helper -+++ data_from_portwine/scripts/functions_helper -@@ -2484,22 +2484,22 @@ start_portwine () { - if [[ "${PW_GPU_USE}" != "disabled" ]] ; then - PW_vendorID="$(cat "${PW_TMPFS_PATH}/vulkaninfo.tmp" | grep -B3 "${PW_GPU_USE}" | grep vendorID | sort -u | awk -F'0x' '{print $2}')" - PW_deviceID="$(cat "${PW_TMPFS_PATH}/vulkaninfo.tmp" | grep -B3 "${PW_GPU_USE}" | grep deviceID | sort -u | awk -F'0x' '{print $2}')" -- PW_ID_VIDEO="--prefer-vk-device ${PW_vendorID}:${PW_deviceID}" -+ PW_ID_VIDEO=" --prefer-vk-device ${PW_vendorID}:${PW_deviceID}" - else -- unset PW_ID_VIDEO -+ PW_ID_VIDEO="" - fi - if ! check_wayland_session ; then - export vk_xwayland_wait_ready="false" - fi - #checkbox - local PW_GAMESCOPE_ARGS_NEW="" -- [[ "${PW_GS_BORDERLESS_WINDOW}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" -b" - [[ "${PW_GS_FULLSCREEN}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" -f" - [[ "${PW_GS_FORCE_FULLSCREEN}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" --force-windows-fullscreen" -- [[ "${PW_GS_FORCE_GRAB_KEYBOARD}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" -g" -+ [[ "${PW_GS_BORDERLESS_WINDOW}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" -b" - [[ "${PW_GS_FORCE_GRAB_CURSOR}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" --force-grab-cursor" -+ [[ "${PW_GS_FORCE_GRAB_KEYBOARD}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" -g" - -- if [ "${PW_GS_HDR_ENABLE}" == "1" ] ; then -+ if [[ "${PW_GS_HDR_ENABLE}" == "1" ]] ; then - PW_GAMESCOPE_ARGS_NEW+=" --hdr-enabled" - export DXVK_HDR="1" - if [[ ${GAMESCOPE_WITH_BACKEND} == "1" ]] ; then -@@ -2508,98 +2508,74 @@ start_portwine () { - PW_GAMESCOPE_ARGS_NEW+=" --backend wayland" - fi - fi -- if [ "${PW_GS_SDR_GAMMUT_WIDENESS}" == "1" ] ; then -- PW_GAMESCOPE_ARGS_NEW="${PW_GAMESCOPE_ARGS_NEW} --sdr-gamut-wideness" -- fi -- if [ "${PW_GS_HDR_ITM_ENABLE}" == "1" ] ; then -- PW_GAMESCOPE_ARGS_NEW="${PW_GAMESCOPE_ARGS_NEW} --hdr-itm-enable" -- fi -- if [ "${PW_GS_FORCE_COMPOSITION}" == "1" ] ; then -- PW_GAMESCOPE_ARGS_NEW="${PW_GAMESCOPE_ARGS_NEW} --force-composition" -- fi -- if [ "${PW_GS_HDR_FORCE_SUPPORT}" == "1" ] ; then -- PW_GAMESCOPE_ARGS_NEW="${PW_GAMESCOPE_ARGS_NEW} --hdr-debug-force-support" -- fi -- if [ "${PW_GS_HDR_FORCE_OUTPUT}" == "1" ] ; then -- PW_GAMESCOPE_ARGS_NEW="${PW_GAMESCOPE_ARGS_NEW} --hdr-debug-force-output" -- fi -- if [ "${PW_GS_HDR_FORCE_HEATMAP}" == "1" ] ; then -- PW_GAMESCOPE_ARGS_NEW="${PW_GAMESCOPE_ARGS_NEW} --hdr-debug-heatmap" -- fi -- if [ "${PW_GS_EXPOSE_WAYLAND}" == "1" ] ; then -- PW_GAMESCOPE_ARGS_NEW="${PW_GAMESCOPE_ARGS_NEW} --expose-wayland" -- fi -- if [ "${PW_GS_REALTIME_SCHEDULING}" == "1" ] ; then -- PW_GAMESCOPE_ARGS_NEW="${PW_GAMESCOPE_ARGS_NEW} --rt" -- fi -- if [ "${PW_GS_MANGOAPP}" == "1" ] ; then -- PW_GAMESCOPE_ARGS_NEW="${PW_GAMESCOPE_ARGS_NEW} --mangoapp" -- export PW_MANGOHUD="0" -- fi -- if [ "${PW_GS_BACKEND_SDL}" == "1" ] ; then -- PW_GAMESCOPE_ARGS_NEW="${PW_GAMESCOPE_ARGS_NEW} --backend sdl" -- fi -- if [ "${PW_GS_SDL_VIDEODRIVER_X11}" == "1" ] ; then -- export SDL_VIDEODRIVER="x11" -- fi -- if [ "${PW_GS_FIX_AMD_AND_INTEL}" == "1" ] ; then -+ -+ [[ "${PW_GS_HDR_ITM_ENABLE}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" --hdr-itm-enable" -+ [[ "${PW_GS_SDR_GAMMUT_WIDENESS}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" --sdr-gamut-wideness" -+ [[ "${PW_GS_FORCE_COMPOSITION}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" --force-composition" -+ [[ "${PW_GS_HDR_FORCE_SUPPORT}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" --hdr-debug-force-support" -+ [[ "${PW_GS_HDR_FORCE_OUTPUT}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" --hdr-debug-force-output" -+ [[ "${PW_GS_HDR_FORCE_HEATMAP}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" --hdr-debug-heatmap" -+ [[ "${PW_GS_EXPOSE_WAYLAND}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" --expose-wayland" -+ [[ "${PW_GS_REALTIME_SCHEDULING}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" --rt" -+ -+ if [[ "${PW_GS_FIX_AMD_AND_INTEL}" == "1" ]] ; then - export RADV_DEBUG="nodcc" - export R600_DEBUG="nodcc" - export INTEL_DEBUG="norbc" - fi -+ -+ if [[ "${PW_GS_MANGOAPP}" == "1" ]] ; then -+ PW_GAMESCOPE_ARGS_NEW+=" --mangoapp" -+ export PW_MANGOHUD="0" -+ fi -+ -+ [[ "${PW_GS_BACKEND_SDL}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" --backend sdl" -+ [[ "${PW_GS_SDL_VIDEODRIVER_X11}" == "1" ]] && export SDL_VIDEODRIVER="x11" -+ - #combobox - if [[ "${PW_GS_SHOW_RESOLUTION}" != "disabled" ]] ; then - PWGSRESSW1="${PW_GS_SHOW_RESOLUTION%x*}" - PWGSRESSW="${PWGSRESSW1%%-*}" - PWGSRESSH1="${PW_GS_SHOW_RESOLUTION#*x}" - PWGSRESSH="${PWGSRESSH1%%-*}" -- PW_GAMESCOPE_ARGS_NEW="${PW_GAMESCOPE_ARGS_NEW} -W ${PWGSRESSW} -H ${PWGSRESSH}" -+ PW_GAMESCOPE_ARGS_NEW+=" -W ${PWGSRESSW} -H ${PWGSRESSH}" - - if [[ "${PW_GS_INTERNAL_RESOLUTION}" != "0.0" ]] ; then - GS_RES_W=${PW_GS_SHOW_RESOLUTION:0:4} - GS_RES_H=${PW_GS_SHOW_RESOLUTION:5:8} - PWGSRESIW=$(echo ${GS_RES_W} ${PW_GS_INTERNAL_RESOLUTION} | awk '{print $1*$2}') - PWGSRESIH=$(echo ${GS_RES_H} ${PW_GS_INTERNAL_RESOLUTION} | awk '{print $1*$2}') -- PW_GAMESCOPE_ARGS_NEW="${PW_GAMESCOPE_ARGS_NEW} -w ${PWGSRESIW} -h ${PWGSRESIH}" -+ PW_GAMESCOPE_ARGS_NEW+=" -w ${PWGSRESIW} -h ${PWGSRESIH}" - fi - fi -- if [[ "${PW_GS_FRAME_LIMIT}" != "disabled" ]] ; then -- PW_GAMESCOPE_ARGS_NEW="${PW_GAMESCOPE_ARGS_NEW} -r ${PW_GS_FRAME_LIMIT}" -- fi -- if [[ "${PW_GS_MAX_SCALE_FACTOR}" != "0.0" ]] ; then -- PW_GAMESCOPE_ARGS_NEW="${PW_GAMESCOPE_ARGS_NEW} -m ${PW_GS_MAX_SCALE_FACTOR}" -- fi -+ -+ [[ "${PW_GS_FRAME_LIMIT}" != "disabled" ]] && PW_GAMESCOPE_ARGS_NEW+=" -r ${PW_GS_FRAME_LIMIT}" -+ [[ "${PW_GS_MAX_SCALE_FACTOR}" != "0.0" ]] && PW_GAMESCOPE_ARGS_NEW+=" -m ${PW_GS_MAX_SCALE_FACTOR}" -+ [[ "${PW_GS_SCALER_MODE}" != "disabled" ]] && PW_GAMESCOPE_ARGS_NEW+=" -S ${PW_GS_SCALER_MODE}" -+ - if [[ "${PW_GS_FILTER_MODE}" != "disabled" ]] ; then - export PW_WINE_FULLSCREEN_FSR="0" - if [[ "${PW_GS_FILTER_MODE_OLD}" != "true" ]] ; then -- PW_GAMESCOPE_ARGS_NEW="${PW_GAMESCOPE_ARGS_NEW} -F ${PW_GS_FILTER_MODE}" -+ PW_GAMESCOPE_ARGS_NEW+=" -F ${PW_GS_FILTER_MODE}" - else - if [[ "${PW_GS_FILTER_MODE}" == "fsr" ]] ; then -- PW_GAMESCOPE_ARGS_NEW="${PW_GAMESCOPE_ARGS_NEW} -U" -+ PW_GAMESCOPE_ARGS_NEW+=" -U" - elif [[ "${PW_GS_FILTER_MODE}" == "nis" ]] ; then -- PW_GAMESCOPE_ARGS_NEW="${PW_GAMESCOPE_ARGS_NEW} -Y" -+ PW_GAMESCOPE_ARGS_NEW+=" -Y" - fi - fi -- PW_GAMESCOPE_ARGS_NEW="${PW_GAMESCOPE_ARGS_NEW} --sharpness ${PW_GS_UPSCALE_SHARPNESS}" -- fi -- if [[ "${PW_GS_SCALER_MODE}" != "disabled" ]] ; then -- PW_GAMESCOPE_ARGS_NEW="${PW_GAMESCOPE_ARGS_NEW} -S ${PW_GS_SCALER_MODE}" -- fi -- if [[ "${PW_GS_MOUSE_SENSITIVITY}" != "0.0" ]] ; then -- PW_GAMESCOPE_ARGS_NEW="${PW_GAMESCOPE_ARGS_NEW} -s ${PW_GS_MOUSE_SENSITIVITY}" -- fi -- if [[ "${PW_GS_SDR_CONTENT_NITS}" != "400" ]] ; then -- PW_GAMESCOPE_ARGS_NEW="${PW_GAMESCOPE_ARGS_NEW} --hdr-sdr-content-nits ${PW_GS_SDR_CONTENT_NITS}" -- fi -- if [[ "${PW_GS_ITM_SDR_NITS}" != "0" ]] ; then -- PW_GAMESCOPE_ARGS_NEW="${PW_GAMESCOPE_ARGS_NEW} --hdr-itm-sdr-nits ${PW_GS_ITM_SDR_NITS}" -- fi -- if [[ "${PW_GS_ITM_TARGET_NITS}" != "0" ]] ; then -- PW_GAMESCOPE_ARGS_NEW="${PW_GAMESCOPE_ARGS_NEW} --hdr-itm-target-nits ${PW_GS_ITM_TARGET_NITS}" -+ PW_GAMESCOPE_ARGS_NEW+=" --sharpness ${PW_GS_UPSCALE_SHARPNESS}" - fi -+ -+ [[ "${PW_GS_MOUSE_SENSITIVITY}" != "0.0" ]] && PW_GAMESCOPE_ARGS_NEW+=" -s ${PW_GS_MOUSE_SENSITIVITY}" -+ [[ "${PW_GS_SDR_CONTENT_NITS}" != "400" ]] && PW_GAMESCOPE_ARGS_NEW+=" --hdr-sdr-content-nits ${PW_GS_SDR_CONTENT_NITS}" -+ [[ "${PW_GS_ITM_SDR_NITS}" != "0" ]] && PW_GAMESCOPE_ARGS_NEW+=" --hdr-itm-sdr-nits ${PW_GS_ITM_SDR_NITS}" -+ [[ "${PW_GS_ITM_TARGET_NITS}" != "0" ]] && PW_GAMESCOPE_ARGS_NEW+=" --hdr-itm-target-nits ${PW_GS_ITM_TARGET_NITS}" -+ - if [[ "${PW_GS_MESA_VK_WSI_PRESENT_MODE}" != "disabled" ]] ; then - export MESA_VK_WSI_PRESENT_MODE=${PW_GS_MESA_VK_WSI_PRESENT_MODE} - fi -+ - if [[ "${PW_GS_GAMESCOPE_WSI}" != "default" ]] ; then - if [[ "${PW_GS_GAMESCOPE_WSI}" == "enable" ]] ; then - export ENABLE_GAMESCOPE_WSI="1" -@@ -2609,7 +2585,7 @@ start_portwine () { - fi - - edit_db_from_gui PW_GAMESCOPE_ARGS_NEW -- export PW_RUN_GAMESCOPE="gamescope ${PW_ID_VIDEO}${PW_GAMESCOPE_ARGS_NEW} --" -+ export PW_RUN_GAMESCOPE="gamescope${PW_ID_VIDEO}${PW_GAMESCOPE_ARGS_NEW} --" - fi - - pw_mangohud_check diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_GENSHIN_IMPACT b/data_from_portwine/scripts/pw_autoinstall/PW_GENSHIN_IMPACT index 9565ca3..f67ad65 100755 --- a/data_from_portwine/scripts/pw_autoinstall/PW_GENSHIN_IMPACT +++ b/data_from_portwine/scripts/pw_autoinstall/PW_GENSHIN_IMPACT @@ -2,19 +2,19 @@ # Author: Castro-Fidel (linux-gaming.ru) ######################################################################## export PW_VULKAN_USE=2 -export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/gi_installer.exe" -export PW_PREFIX_NAME="GENSHIN_IMPACT" -export PORTWINE_CREATE_SHORTCUT_NAME="Genshin Impact" +export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Hoyolauncher_installer.exe" +export PW_PREFIX_NAME="HoYoPlay" +export PORTWINE_CREATE_SHORTCUT_NAME="HoYoPlay" start_portwine if try_download "https://ys-api-os.mihoyo.com/event/download_porter/link/ys_global/genshinimpactpc/default" "${PW_AUTOINSTALL_EXE}" no_mirror then - pw_start_progress_bar_block "Installing Genshin Impact Launcher." + pw_start_progress_bar_block "Installing HoYoPlay Launcher." pw_kill_autostart launcher.exe & export PATH_TO_GAME="${PW_USER_TEMP}" pw_run "${PW_AUTOINSTALL_EXE}" - export portwine_exe="$WINEPREFIX/drive_c/Program Files/Genshin Impact/launcher.exe" + export portwine_exe="$WINEPREFIX/drive_c/Program Files/HoYoPlay/launcher.exe" pw_create_unique_exe try_remove_file "${PW_AUTOINSTALL_EXE}" try_remove_file "${portwine_exe}.ppdb" @@ -24,4 +24,3 @@ then fi stop_portwine -