diff --git a/data_from_portwine/changelog_en b/data_from_portwine/changelog_en index 20596e48..1220f5a5 100755 --- a/data_from_portwine/changelog_en +++ b/data_from_portwine/changelog_en @@ -2,14 +2,37 @@ You can help us in the development of the project on the website: https://linux- ---------------------------------------- Changelog: +###Scripts version 2359### / stable / Date: 30.09.2024 / Download update size: 220 megabytes +* cumulative update to the stable version of PortProton scripts + +###Scripts version 2358### / Date: 30.09.2024 / Download update size: 4 megabytes +* added for game mode on Steam Deck: + * possibility to update PortProton + * displaying the process of downloading and unpacking all PortProton packages +* added auto-installation "Lost Light" (thanks Chal55rus) +* added auto-installation "GameXP" (thanks Chal55rus) + +###Scripts version 2357### / Date: 29.09.2024 / Download update size: 220 megabytes +* updated PROTON_LG to version "9-15" +* updated versions: + * DXVK_GIT "2.4.1-74" + * VKD3D_GIT "1.1-4202" +* added auto-installation "Star Conflict" (thanks to Chal55rus) +* added auto-installation "Blood and Soul" (thanks to Chal55rus) +* updated auto-installation "World of Sea Battle" (thanks valokardin) +* for "World of Sea Battle" language switching in the game has been fixed and the "DOTNET" prefix is ​​no longer required +* fixed determination of the selection of settings files when the exe file is a symbolic link +* added returns to the main menu after canceling the reinstallation/uninstallation of PP, clearing the prefix and uninstalling programs (thanks to Htylol) +* fixed launch of games/programs when using disabling the graphical interface (GUI_DISABLED_CS) + ###Scripts version 2356### / stable / Date: 28.09.2024 / Download update size: 4 megabytes -* Fixed work in steam and ingame +* fixed work in steam and ingame ###Scripts version 2355### / stable / Date: 28.09.2024 / Download update size: 385 megabytes * cumulative update to the stable version of PortProton scripts ###Scripts version 2354### / Date: 28.09.2024 / Download update size: 4 megabytes -* added return to PortProton menu after using winecfg, winereg, winecmd and winefile (thanks Htylol) +* added return to PortProton menu after using winecfg, winereg, winecmd, winefile (thanks Htylol) ###Scripts version 2353### / Date: 27.09.2024 / Download update size: 4 megabytes * optimized auto-installation functions for all games/launchers @@ -36,7 +59,8 @@ Changelog: * updated versions: * DXVK_GIT "2.4-94" * VKD3D_GIT "1.1-4191" -* added a translation cache, which greatly improves the responsiveness of the interface (thanks to Htylol) +* added a translation cache, which greatly improves the responsiveness +of the interface (thanks to Htylol) * fixed launching shortcuts from special. symbols in the title (thanks to Htylol) * limited number of characters for shortcut names in the "installed" tab (fixes overly wide menu) (thanks to Htylol) * disabled decoration for HoYoPlay launcher (fixes window capacity) (thanks to Boria138) @@ -67,7 +91,7 @@ Changelog: * many thanks to Htylol for this update, everything listed below is his merit :) * added reset settings for mangohud and vkbasalt * fixed mangohud preview if it is disabled - * user.conf settings have been moved from the editdb settings and portproton settings, + * user.conf settings have been moved from the editdb settings and portproton settings, * a separate graphical interface has been made for user.conf, with the ability to launch settings from the main menu and when starting a game/program * added return to the main menu after creating a backup, winetricks, wine download, etc., and added return to the last active tabs * added intermediate returns (to the previous active window) @@ -93,7 +117,8 @@ Changelog: * HoYoPlay auto-installation updated (thanks Eljeyna) ###Scripts version 2340### / Date: 27.08.2024 / Download update size: 380 megabytes -* added the ability for standard installation to the prefix manager (without forced redownload of components) +* added the ability for standard installation to the prefix manager +(without forced redownload of components) * updated PROTON_LG to version "9-11" * updated WINE_LG to version "9-12-2" * the test WINE_LG_NTSYNC has been updated in the repositories to version "9-13-2" @@ -113,7 +138,8 @@ Changelog: * added the ability to run .reg files (thanks Boria138) * added icons for msi, bat and reg files (thanks to Dervart) * fixed GUI alignment for XFCE (thanks to Htylol) -* added automatic disabling of downloading covers for STEAM if there is no access to the covers server +* added automatic disabling of downloading covers for STEAM if there +is no access to the covers server ###Scripts version 2337### / Date: 09.08.2024 / Download update size: 4 megabytes * fixed GUI alignment on SteamDeck (thanks to Htylol) diff --git a/data_from_portwine/changelog_ru b/data_from_portwine/changelog_ru index 7b306f2d..c6187356 100755 --- a/data_from_portwine/changelog_ru +++ b/data_from_portwine/changelog_ru @@ -2,8 +2,31 @@ ----------------------------------------- История изменений: +###Scripts version 2359### / stable / Дата: 30.09.2024 / Размер скачиваемого обновления: 220 мегабайт +* кумулятивное обновление стабильной версии скриптов PortProton + +###Scripts version 2358### / Дата: 30.09.2024 / Размер скачиваемого обновления: 4 мегабайт +* добавлены для игрового режима на Steam Deck: + * возможность обновления PortProton + * отображение процесса скачивания и распаковки всех пакетов PortProton +* добавлена автоустановка "Lost Light" (спасибо Chal55rus) +* добавлена автоустановка "GameXP" (спасибо Chal55rus) + +###Scripts version 2357### / Дата: 29.09.2024 / Размер скачиваемого обновления: 220 мегабайт +* обновлен PROTON_LG до версии "9-15" +* обновлены версии: + * DXVK_GIT "2.4.1-74" + * VKD3D_GIT "1.1-4202" +* добавлена автоустановка "Star Conflict" (спасибо Chal55rus) +* добавлена автоустановка "Blood and Soul" (спасибо Chal55rus) +* обновлена автоустановка "World of Sea Battle" (спасибо valokardin) +* для "World of Sea Battle" исправлено переключение языка в игре и больше не требуется префикс "DOTNET" +* исправлено определение выбора файлов настроек когда exe файл является символьной ссылкой +* добавлены возвраты в основное меню после отмены переустановки/удалении PP, чистки префикса и удаления программ (спасибо Htylol) +* исправлен запуск игр/программ при использовании отключения графического интерфейса (GUI_DISABLED_CS) + ###Scripts version 2356### / stable / Дата: 28.09.2024 / Размер скачиваемого обновления: 4 мегабайт -* Исправлена работа в steam и ingame +* исправлена работа в steam и ingame ###Scripts version 2355### / stable / Дата: 28.09.2024 / Размер скачиваемого обновления: 385 мегабайт * кумулятивное обновление стабильной версии скриптов PortProton diff --git a/data_from_portwine/img/gui/bloodandsoul.png b/data_from_portwine/img/gui/bloodandsoul.png new file mode 100644 index 00000000..3662b099 Binary files /dev/null and b/data_from_portwine/img/gui/bloodandsoul.png differ diff --git a/data_from_portwine/img/gui/gamexp.png b/data_from_portwine/img/gui/gamexp.png new file mode 100644 index 00000000..115cb19c Binary files /dev/null and b/data_from_portwine/img/gui/gamexp.png differ diff --git a/data_from_portwine/img/gui/lostlight.png b/data_from_portwine/img/gui/lostlight.png new file mode 100644 index 00000000..39168c04 Binary files /dev/null and b/data_from_portwine/img/gui/lostlight.png differ diff --git a/data_from_portwine/img/gui/starconflict.png b/data_from_portwine/img/gui/starconflict.png new file mode 100755 index 00000000..3c2542cf Binary files /dev/null and b/data_from_portwine/img/gui/starconflict.png differ diff --git a/data_from_portwine/img/gui/swl.png b/data_from_portwine/img/gui/swl.png old mode 100755 new mode 100644 index 531088cf..0a169a5e Binary files a/data_from_portwine/img/gui/swl.png and b/data_from_portwine/img/gui/swl.png differ diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index d15d3b6a..955bbaee 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -71,39 +71,44 @@ change_locale () { fi fi - [[ ! -f "${pw_yad}" ]] && pw_yad="yad" + local GAME_LANGUAGE="$LANGUAGE" - if [[ -z "$LANGUAGE" ]] \ - || [[ "${PW_FORCE_CHANGE_LOC}" == "1" ]] ; then - SET_LANG=( - "${pw_yad}" --list - --window-icon="$PW_GUI_ICON_PATH/portproton.svg" - --title="Select language for PortProton" - --column="Language" --column="" - --width=400 --height=200 + if check_gamescope_session ; then + LANGUAGE="en" + else + [[ ! -f "${pw_yad}" ]] && pw_yad="yad" + if [[ -z "$LANGUAGE" ]] \ + || [[ "${PW_FORCE_CHANGE_LOC}" == "1" ]] ; then + SET_LANG=( + "${pw_yad}" --list + --window-icon="$PW_GUI_ICON_PATH/portproton.svg" + --title="Select language for PortProton" + --column="Language" --column="" + --width=400 --height=200 - "Russian (Русский)" ru - "English" en - "Spanish (Español・Española)" es - ) + "Russian (Русский)" ru + "English" en + "Spanish (Español・Española)" es + ) - out=$("${SET_LANG[@]}") - if [[ -z $out ]] \ - && [[ -n "$LANGUAGE" ]] ; then - echo "${LANGUAGE}" > "${PORT_WINE_TMP_PATH}/PortProton_loc" - elif [[ -z $out ]] ; then - echo "en" > "${PORT_WINE_TMP_PATH}/PortProton_loc" - else - LANGUAGE=$(echo "$out" | cut -d '|' -f2) - echo "${LANGUAGE}" > "${PORT_WINE_TMP_PATH}/PortProton_loc" - create_translations + out=$("${SET_LANG[@]}") + if [[ -z $out ]] \ + && [[ -n "$LANGUAGE" ]] ; then + echo "${LANGUAGE}" > "${PORT_WINE_TMP_PATH}/PortProton_loc" + elif [[ -z $out ]] ; then + echo "en" > "${PORT_WINE_TMP_PATH}/PortProton_loc" + else + LANGUAGE=$(echo "$out" | cut -d '|' -f2) + echo "${LANGUAGE}" > "${PORT_WINE_TMP_PATH}/PortProton_loc" + create_translations + fi + unset PW_FORCE_CHANGE_LOC + restart_pp fi - unset PW_FORCE_CHANGE_LOC - restart_pp fi export LANGUAGE - case "$LANGUAGE" in + case "$GAME_LANGUAGE" in ru) check_start_from_steam && export LC_ALL=ru_RU.UTF-8 export FULL_LN="russian" @@ -473,8 +478,9 @@ try_download () { # If gamescope session is active, use PW_TERM for downloading if check_gamescope_session ; then - $PW_TERM curl -f -# -A 'Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)' -H 'Cache-Control: no-cache, no-store' \ - -H 'Pragma: no-cache' -L ${FIRST_URL[@]} -o "$dest" + $PW_TERM "echo ; echo ; echo \"Downloading: $filename. Please wait...\" \ + ; curl -f -# -A 'Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)' -H 'Cache-Control: no-cache, no-store' \ + -H 'Pragma: no-cache' -L ${FIRST_URL[@]} -o \"$dest\"" [[ "$?" != 0 ]] && return 1 || return 0 fi @@ -679,23 +685,28 @@ background_pid () { local arg1=$1 # --start или --end local arg2=$2 # Название команды local arg3=$3 # Номер процесса (1,2,3..) - get_bg_pid () { - eval "echo \${$1}" - } - if [[ "$arg1" == --start ]] ; then - eval "$arg2 &" - PID=$! - export bg_pid"${arg3}"="$PID" - elif [[ "$arg1" == --end ]] ; then - PID=$(get_bg_pid bg_pid"${arg3}") - [[ $PID == "" ]] && return 1 - while true ; do - if [[ ! $(jobs -p) =~ $PID ]] ; then - return 0 - fi - sleep 0.005 - done + if [[ "$START_FROM_STEAM" == 1 ]] \ + || [[ "$PW_GUI_DISABLED_CS" == 1 ]] \ + || [[ -n "$PW_DEBUG" ]] ; then + case $arg1 in + --start) eval "$arg2" ;; + --end) : ;; + esac + else + get_bg_pid () { + eval "echo \${$1}" + } + case $arg1 in + --start) + eval "$arg2 &" + PID=$! + export bg_pid"${arg3}"="$PID" ;; + --end) + PID=$(get_bg_pid bg_pid"${arg3}") + [[ $PID == "" ]] && return 1 + wait "$PID" && return 0 ;; + esac fi } export -f background_pid @@ -712,7 +723,12 @@ unpack () { silent) local silent=true ;; esac - if [[ "$silent" != "true" ]] ; then + + # If gamescope session is active, use PW_TERM for unpack + if check_gamescope_session ; then + $PW_TERM "echo ; echo ; echo \"Unpacking file: $1. Please wait...\" ; $command \"$1\" -C \"$2\"" + [[ "$?" != 0 ]] && return 1 || return 0 + elif [[ "$silent" != "true" ]] ; then set -o pipefail pw_start_progress_bar_cover_block "${COVERS_PATH}/unpacking_${LANGUAGE_GIF}.gif" $command "$1" -C "$2" 2>/dev/null @@ -849,19 +865,18 @@ pw_reinstall_pp () { echo "" exit 1 fi - elif ! yad_question "${translations[Do you really want to reinstall PortProton?\\nFor this, an internet connection will be required.]}" - then exit 1 + elif yad_question "${translations[Do you really want to reinstall PortProton?\\nFor this, an internet connection will be required.]}" ; then + pw_clear_pfx + try_remove_dir "${PORT_WINE_PATH}/data/dist" + create_new_dir "${PORT_WINE_PATH}/data/dist" + try_remove_dir "${PORT_WINE_TMP_PATH}/VULKAN" + try_remove_file "${PORT_WINE_TMP_PATH}/scripts_update_notifier" + try_remove_file "${PORT_WINE_PATH}/data/user.conf" + try_remove_file "${PORT_WINE_TMP_PATH}/scripts_ver" + echo "" + unset SKIP_CHECK_UPDATES + print_info "Restarting PP for reinstall files..." fi - pw_clear_pfx - try_remove_dir "${PORT_WINE_PATH}/data/dist" - create_new_dir "${PORT_WINE_PATH}/data/dist" - try_remove_dir "${PORT_WINE_TMP_PATH}/VULKAN" - try_remove_file "${PORT_WINE_TMP_PATH}/scripts_update_notifier" - try_remove_file "${PORT_WINE_PATH}/data/user.conf" - try_remove_file "${PORT_WINE_TMP_PATH}/scripts_ver" - echo "" - unset SKIP_CHECK_UPDATES - print_info "Restarting PP for reinstall files..." restart_pp } @@ -992,22 +1007,14 @@ init_wine_ver () { } pw_init_runtime () { - check_flatpak && export PW_USE_RUNTIME="0" - if [[ "$PW_USE_RUNTIME" != "1" ]] \ || [[ "$PW_WINE_USE" == "USE_SYSTEM_WINE" ]] then export PW_LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${PW_PLUGINS_PATH}/portable/lib/lib64:${PW_PLUGINS_PATH}/portable/lib/lib32" export PW_VK_LAYER_PATH="${PW_PLUGINS_PATH}/portable/share/vulkan/implicit_layer.d" - if check_flatpak - then - if check_gamescope_session - then PW_TERM="xterm -fullscreen -bg black -fg white -e" - else PW_TERM="xterm -bg black -fg white -e" - fi - else PW_TERM="env LD_LIBRARY_PATH=\"${PW_LD_LIBRARY_PATH}\" ${PW_PLUGINS_PATH}/portable/bin/xterm -bg black -fg white -e" + if [[ -z "$PW_TERM" ]] ; then + export PW_TERM="env LD_LIBRARY_PATH=\"${PW_LD_LIBRARY_PATH}\" ${PW_PLUGINS_PATH}/portable/bin/xterm -bg black -fg white -e" fi - export PW_TERM export pw_runtime="env" return 0 fi @@ -1884,14 +1891,14 @@ pw_port_update () { xcsd="${translations[UPDATING NOW]}" unset PW_CHANGE_BRANCH else - curl -s --list-only "${URL_FOR_CHANGELOG}/${PW_CHANGELOG_FILE}" | tee "${PORT_WINE_TMP_PATH}/curent_var_ver" - CHANGLOG_NEWS=$(sed "/Scripts version ${scripts_install_ver}/,$ d" "${PORT_WINE_TMP_PATH}/curent_var_ver" | sed '1,/---/ d' ) - xcsd=$("${pw_yad}" --title "${translations[Update scripts:]} v.(${scripts_install_ver}${BRANCH_VERSION})" --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \ - --form --separator='%%%' --width=1000 --height=500 \ - --field=":TXT" "${CHANGLOG_NEWS}" \ + curl -s --list-only "${URL_FOR_CHANGELOG}/${PW_CHANGELOG_FILE}" > "${PORT_WINE_TMP_PATH}/curent_var_ver" + sed -i "/Scripts version ${scripts_install_ver}/,$ d" "${PORT_WINE_TMP_PATH}/curent_var_ver" + + "${pw_yad}" --title "${translations[Update scripts:]} v.(${scripts_install_ver}${BRANCH_VERSION})" \ + --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --width=1280 --height=720 --text-info --wrap --scroll \ --button="${translations[DO NOT REMIND ME]}"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"":16 \ --button="${translations[REMIND ME LATER]}"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"":18 \ - --button="${translations[UPDATING NOW]}"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"":20 2>/dev/null) + --button="${translations[UPDATING NOW]}"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"":20 < "${PORT_WINE_TMP_PATH}/curent_var_ver" 2>/dev/null YAD_STATUS="$?" # --button="${translations[EXIT]}"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"":252 \ @@ -5874,8 +5881,8 @@ gui_clear_pfx () { if yad_question "${translations[Do you want to clear prefix in PortProton?]}" ; then pw_clear_pfx print_info "Restarting PP after clearing prefix..." - restart_pp fi + restart_pp } export -f gui_clear_pfx @@ -5886,8 +5893,9 @@ gui_rm_portproton () { rm -fr "${HOME}/PortWINE" rm -f "$(grep -il PortProton "${HOME}/.local/share/applications"/*.desktop)" update-desktop-database -q "${HOME}/.local/share/applications" + exit 0 fi - exit 0 + restart_pp } export -f gui_rm_portproton @@ -5988,6 +5996,7 @@ export -f change_gui_start gui_wine_uninstaller () { start_portwine pw_run uninstaller + stop_portwine --restart } export -f gui_wine_uninstaller diff --git a/data_from_portwine/scripts/portwine_db/WORLD OF SEA BATTLE (TEXT 2 RU).ppdb b/data_from_portwine/scripts/portwine_db/WORLD OF SEA BATTLE (TEXT 2 RU).ppdb deleted file mode 100644 index 18cd27c6..00000000 --- a/data_from_portwine/scripts/portwine_db/WORLD OF SEA BATTLE (TEXT 2 RU).ppdb +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env bash -#Author: Cefeiko -#wosb_launcher_ru.exe -#Rating=? -################################################ -export PW_COMMENT_DB="С этим ДБ файлом писать на АНГЛИЙСКОМ не получится. -Для входа в игру используйте ярлык World of Sea Battle EN" -export PW_PREFIX_NAME="DOTNET" -export PW_WINDOWS_VER="10" -export PW_VULKAN_USE="2" -export WINEDLLOVERRIDES="vulkan-1=n,b" -export PW_NO_ESYNC="1" -export PW_USE_D3D_EXTRAS="1" -export PW_USE_GSTREAMER="1" -export PW_FORCE_LARGE_ADDRESS_AWARE="1" -export PW_USE_SHADER_CACHE="1" -export LAUNCH_PARAMETERS="" - diff --git a/data_from_portwine/scripts/portwine_db/WORLD OF SEA BATTLE (TEXT EN).ppdb b/data_from_portwine/scripts/portwine_db/WorldOfSeaBattle.ppdb similarity index 77% rename from data_from_portwine/scripts/portwine_db/WORLD OF SEA BATTLE (TEXT EN).ppdb rename to data_from_portwine/scripts/portwine_db/WorldOfSeaBattle.ppdb index 72785571..3177f3bd 100644 --- a/data_from_portwine/scripts/portwine_db/WORLD OF SEA BATTLE (TEXT EN).ppdb +++ b/data_from_portwine/scripts/portwine_db/WorldOfSeaBattle.ppdb @@ -1,10 +1,9 @@ #!/usr/bin/env bash -#Author: Cefeiko -#wosb_launcher_en.exe -#Rating=? +#Author: Cefeiko, Fidel +#wosb_launcher_pp.exe +#Rating=5 ################################################ export PW_COMMENT_DB="" -export PW_PREFIX_NAME="DOTNET" export PW_WINDOWS_VER="10" export PW_VULKAN_USE="2" export WINEDLLOVERRIDES="vulkan-1=n,b" @@ -14,4 +13,3 @@ export PW_USE_GSTREAMER="1" export PW_FORCE_LARGE_ADDRESS_AWARE="1" export PW_USE_SHADER_CACHE="1" export LAUNCH_PARAMETERS="" -export LANG=en_US.UTF-8 diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_BLOOD_AND_SOUL b/data_from_portwine/scripts/pw_autoinstall/PW_BLOOD_AND_SOUL new file mode 100755 index 00000000..8109fcda --- /dev/null +++ b/data_from_portwine/scripts/pw_autoinstall/PW_BLOOD_AND_SOUL @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +# Author: chal55rus (Sergey P.) +######################################################################## +export PW_PREFIX_NAME="BLOOD_AND_SOUL" +export LAUNCH_PARAMETERS=("/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-") +export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/bs-install.exe" +export PORTWINE_CREATE_SHORTCUT_NAME="Blood and Soul" + +start_portwine +if try_download "https://bsclassic.com/files/bs-install.exe" "${PW_AUTOINSTALL_EXE}" no_mirror +then + pw_start_progress_bar_install_game "Blood and Soul." + pw_run "${PW_AUTOINSTALL_EXE}" + portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Blood and Soul Classic/launcher.exe" + try_remove_file "${PW_AUTOINSTALL_EXE}" + try_remove_file "${portwine_exe}.ppdb" + kill_portwine + pw_stop_progress_bar + + portwine_create_shortcut +fi +stop_portwine diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_FARLIGHT84 b/data_from_portwine/scripts/pw_autoinstall/PW_FARLIGHT84 index cd6b5626..5e6edd6c 100755 --- a/data_from_portwine/scripts/pw_autoinstall/PW_FARLIGHT84 +++ b/data_from_portwine/scripts/pw_autoinstall/PW_FARLIGHT84 @@ -8,7 +8,7 @@ export PW_PREFIX_NAME="FARLIGHT_84" start_portwine if try_download "https://static-gl.lilithgame.com/p/pcsdk/launcher/10060/prodef4621e968ad6b383b8754148b63/0/launcher/res/release/Farlight84_setup_1.3.0.1_238.exe" "${PW_AUTOINSTALL_EXE}" no_mirror then - pw_start_progress_bar_block "Farlight 84." + pw_start_progress_bar_install_game "Farlight 84." create_new_dir "$WINEPREFIX/drive_c/Program Files (x86)/Farlight84" "$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files (x86)/Farlight84" "$pw_7z" x -y "$WINEPREFIX/drive_c/Program Files (x86)/Farlight84/launcher.7z" -o"$WINEPREFIX/drive_c/Program Files (x86)/Farlight84" diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_GAMEFORGE b/data_from_portwine/scripts/pw_autoinstall/PW_GAMEFORGE index 02d4b1c8..ed2c30de 100755 --- a/data_from_portwine/scripts/pw_autoinstall/PW_GAMEFORGE +++ b/data_from_portwine/scripts/pw_autoinstall/PW_GAMEFORGE @@ -24,7 +24,7 @@ export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/GameforgeInstaller.exe" start_portwine if try_download "https://raw.githubusercontent.com/WarfaceZ/lutris-clients/master/GameforgeInstaller.exe" "${PW_AUTOINSTALL_EXE}" then - pw_start_progress_bar_block "Gameforge-Client." + pw_start_progress_bar_install_game "Gameforge-Client." pw_shutdown_please SparkWebHelper.exe & pw_run "${PW_AUTOINSTALL_EXE}" portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/GameforgeClient/gfclient.exe" diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_GAME_XP b/data_from_portwine/scripts/pw_autoinstall/PW_GAME_XP new file mode 100755 index 00000000..4b5b6ac3 --- /dev/null +++ b/data_from_portwine/scripts/pw_autoinstall/PW_GAME_XP @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +# Author: chal55rus +######################################################################## +export PW_PREFIX_NAME="GAMEXP" +export LAUNCH_PARAMETERS=("/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-") +export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/InstallGameXPlauncher.exe" +export PORTWINE_CREATE_SHORTCUT_NAME="GameXP" + +start_portwine +if try_download "https://clotho-install.gamexp.com/launcher/InstallGameXPlauncher-0-pr.exe" "${PW_AUTOINSTALL_EXE}" no_mirror +then + pw_start_progress_bar_install_game "GameXP." + pw_kill_autostart gamexp-launcher.exe & + pw_run "${PW_AUTOINSTALL_EXE}" + portwine_exe="$WINEPREFIX/drive_c/users/steamuser/AppData/Local/Programs/GameXP/Launcher/gamexp-launcher.exe" + try_remove_file "${PW_AUTOINSTALL_EXE}" + try_remove_file "${portwine_exe}.ppdb" + kill_portwine + pw_stop_progress_bar + portwine_create_shortcut +fi +stop_portwine diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_HO_YO_PLAY b/data_from_portwine/scripts/pw_autoinstall/PW_HO_YO_PLAY index 46e9788f..cb998dfb 100755 --- a/data_from_portwine/scripts/pw_autoinstall/PW_HO_YO_PLAY +++ b/data_from_portwine/scripts/pw_autoinstall/PW_HO_YO_PLAY @@ -10,7 +10,7 @@ start_portwine if try_download "https://sg-public-api.hoyoverse.com/event/download_porter/trace/hyp_global/hyphoyoverse/default?url=https%3A%2F%2Fhoyoplay.hoyoverse.com%2F" "${PW_AUTOINSTALL_EXE}" no_mirror then - pw_start_progress_bar_block "Installing HoYoPlay Launcher." + pw_start_progress_bar_install_game "HoYoPlay Launcher." pw_kill_autostart HYP.exe & export PATH_TO_GAME="${PW_USER_TEMP}" pw_run "${PW_AUTOINSTALL_EXE}" diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_LOST_LIGHT b/data_from_portwine/scripts/pw_autoinstall/PW_LOST_LIGHT new file mode 100755 index 00000000..5fc98d17 --- /dev/null +++ b/data_from_portwine/scripts/pw_autoinstall/PW_LOST_LIGHT @@ -0,0 +1,23 @@ +#!/usr/bin/env bash +# Author: chal55rus +######################################################################## +export PW_PREFIX_NAME="LOST_LIGHT" +export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/LostLight_installer.exe" +export PORTWINE_CREATE_SHORTCUT_NAME="Lost Light" + +URL_LOST_LIGHT="$(curl -s --list-only "https://adl.easebar.com/d/g/yhtj/c/lostlightcspc" | grep 'var pc_link =' | awk -F\" '{print $2}')" + +start_portwine +if try_download "${URL_LOST_LIGHT}" "${PW_AUTOINSTALL_EXE}" no_mirror +then + pw_start_progress_bar_install_game "LostLight." + "$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files (x86)/LostLight" + export portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/LostLight/launcher.exe" + pw_create_unique_exe "lostlight_launcher_pp" + try_remove_file "${PW_AUTOINSTALL_EXE}" + try_remove_file "${portwine_exe}.ppdb" + kill_portwine + pw_stop_progress_bar + portwine_create_shortcut +fi +stop_portwine diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_STAR_CONFLICT b/data_from_portwine/scripts/pw_autoinstall/PW_STAR_CONFLICT new file mode 100755 index 00000000..cf51eb12 --- /dev/null +++ b/data_from_portwine/scripts/pw_autoinstall/PW_STAR_CONFLICT @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +# Author: chal55rus +######################################################################## +export PW_PREFIX_NAME="STAR_CONFLICT" +export LAUNCH_PARAMETERS=("/VERYSILENT") +export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/starconf_installer.exe" +export PORTWINE_CREATE_SHORTCUT_NAME="Star Conflict" + +start_portwine +if try_download "https://yupmaster.gaijinent.com/launcher/current.php?id=StarConflictLauncher" "${PW_AUTOINSTALL_EXE}" no_mirror +then + pw_start_progress_bar_install_game "Star Conflict." + pw_kill_autostart launcher.exe & + pw_run "${PW_AUTOINSTALL_EXE}" + portwine_exe="${WINEPREFIX}/drive_c/users/steamuser/AppData/Local/StarConflict/launcher.exe" + try_remove_file "${PW_AUTOINSTALL_EXE}" + kill_portwine + pw_stop_progress_bar + + portwine_create_shortcut +fi +stop_portwine diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_VBA-M b/data_from_portwine/scripts/pw_autoinstall/PW_VBA-M index 54b2625b..cb7707b9 100755 --- a/data_from_portwine/scripts/pw_autoinstall/PW_VBA-M +++ b/data_from_portwine/scripts/pw_autoinstall/PW_VBA-M @@ -2,6 +2,7 @@ # Author: chal55rus (Sergey P.) ######################################################################## export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/visualboyadvance-m-Win-x86_64.zip" + start_portwine if try_download "https://github.com/visualboyadvance-m/visualboyadvance-m/releases/latest/download/visualboyadvance-m-Win-x86_64.zip" "${PW_AUTOINSTALL_EXE}" no_mirror then diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_WGC b/data_from_portwine/scripts/pw_autoinstall/PW_WGC index 67017fb4..f9211ede 100755 --- a/data_from_portwine/scripts/pw_autoinstall/PW_WGC +++ b/data_from_portwine/scripts/pw_autoinstall/PW_WGC @@ -10,7 +10,7 @@ start_portwine if try_download "https://redirect.wargaming.net/WGC/Wargaming_Game_Center_Install_WoT_${WGC_LOC}.exe" "${PW_AUTOINSTALL_EXE}" no_mirror then - pw_start_progress_bar_block "Starting WGC installation..." + pw_start_progress_bar_install_game "WGC." pw_kill_autostart wgc.exe & pw_run "${PW_AUTOINSTALL_EXE}" portwine_exe="$WINEPREFIX/drive_c/ProgramData/Wargaming.net/GameCenter/api/wgc_api.exe" diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_WORLD_OF_SEA_BATTLE b/data_from_portwine/scripts/pw_autoinstall/PW_WORLD_OF_SEA_BATTLE new file mode 100755 index 00000000..8a74b842 --- /dev/null +++ b/data_from_portwine/scripts/pw_autoinstall/PW_WORLD_OF_SEA_BATTLE @@ -0,0 +1,26 @@ +#!/usr/bin/env bash +# Author: Cefeiko +######################################################################## +export LAUNCH_PARAMETERS=("/S") +export PW_PREFIX_NAME="WORLD_OF_SEA_BATTLE" +export PW_VULKAN_USE="2" +export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/installer.exe" +export PORTWINE_CREATE_SHORTCUT_NAME="World of Sea Battle" + +WOSB_VERSION="$(curl -s --list-only --connect-timeout 3 https://www.worldofseabattle.com/download2 2>/dev/null | grep 'installer.exe' | awk -F'xsolla-launcher-update/' '{print $2}' | awk -F'/' '{print $1}')" +[[ -n "$WOSB_VERSION" ]] && print_info "Found version: $WOSB_VERSION" || yad_error "Error while get version of WOSB INSTALLER." + +start_portwine +if try_download "https://installer.launcher.xsolla.com/xlauncher-builds/xsolla-launcher-update/${WOSB_VERSION}/bin/installer.exe" "${PW_AUTOINSTALL_EXE}" no_mirror +then + pw_start_progress_bar_install_game "World of Sea Battle." + pw_run "${PW_AUTOINSTALL_EXE}" + try_remove_file "${PW_AUTOINSTALL_EXE}" + try_remove_file "${portwine_exe}.ppdb" + export portwine_exe="$WINEPREFIX/drive_c/users/steamuser/AppData/Local/Wosb Launcher/launcher.exe" + pw_create_unique_exe "wosb_launcher_pp" + kill_portwine + pw_stop_progress_bar + portwine_create_shortcut +fi +stop_portwine diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_WOSB b/data_from_portwine/scripts/pw_autoinstall/PW_WOSB deleted file mode 100755 index 86fd0e3e..00000000 --- a/data_from_portwine/scripts/pw_autoinstall/PW_WOSB +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/bin/env bash -# Author: Cefeiko -######################################################################## -export PW_PREFIX_NAME="DOTNET" -export PW_DLL_INSTALL="faudio dotnet48" -export PW_VULKAN_USE=1 -export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/wos_client.exe" - -WOSB_VERSION="$(curl -s --list-only --connect-timeout 3 https://www.worldofseabattle.com/download2 2>/dev/null | grep 'installer.exe' | awk -F'xsolla-launcher-update/' '{print $2}' | awk -F'/' '{print $1}')" -[[ -n "$WOSB_VERSION" ]] && print_info "Found version: $WOSB_VERSION" || yad_error "Error while get version of WOSB INSTALLER." - -start_portwine -if try_download "https://installer.launcher.xsolla.com/xlauncher-builds/xsolla-launcher-update/${WOSB_VERSION}/bin/installer.exe" "${PW_AUTOINSTALL_EXE}" no_mirror -then - pw_start_progress_bar_block "Installing World of Sea Battle." - create_new_dir "$WINEPREFIX/drive_c/WoSB" - "$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/WoSB" - try_remove_file "${PW_AUTOINSTALL_EXE}" - try_remove_file "${portwine_exe}.ppdb" - portwine_exe="$WINEPREFIX/drive_c/WoSB/launcher.exe" - pw_stop_progress_bar - - export PW_NO_RESTART_PPDB="1" - if [[ "$LANGUAGE" == "ru" ]] ; then - export PORTWINE_CREATE_SHORTCUT_NAME="World of Sea Battle RU" - pw_create_unique_exe "wosb_launcher_ru" - try_remove_file "${portwine_exe}.ppdb" - export PW_SKIP_RESTART_STEAM=1 - portwine_create_shortcut block_name - fi - - export PORTWINE_CREATE_SHORTCUT_NAME="World of Sea Battle EN" - pw_create_unique_exe "wosb_launcher_en" - try_remove_file "${portwine_exe}.ppdb" - portwine_create_shortcut block_name - -fi -stop_portwine - - - - -start_portwine -if try_download "${PW_URL_CEMU}" "${PW_AUTOINSTALL_EXE}" no_mirror -then - pw_start_progress_bar_install_game "Cemu." - - portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/`echo ${PW_URL_CEMU} | awk -F/ '{print $5}' | sed 's/.zip//'`/Cemu.exe" - try_remove_file "${PW_AUTOINSTALL_EXE}" - try_remove_file "${portwine_exe}.ppdb" - kill_portwine - pw_stop_progress_bar - export PORTWINE_CREATE_SHORTCUT_NAME="Cemu" - portwine_create_shortcut -fi -stop_portwine diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh index e9bb15fd..7ea1881e 100755 --- a/data_from_portwine/scripts/start.sh +++ b/data_from_portwine/scripts/start.sh @@ -30,25 +30,26 @@ export orig_IFS="$IFS" MISSING_DESKTOP_FILE="0" unset PW_NO_RESTART_PPDB PW_DISABLED_CREATE_DB + if [[ "$1" == *.[Pp][Pp][Aa][Cc][Kk] ]] ; then export PW_NO_RESTART_PPDB="1" export PW_DISABLED_CREATE_DB="1" portwine_exe="$1" elif [[ -f "$1" ]] ; then - portwine_exe="$(realpath "$1")" + portwine_exe="$(realpath -s "$1")" elif [[ -f "$OLDPWD/$1" ]] \ && [[ "$1" == *.[Ee][Xx][Ee] || "$1" == *.[Bb][Aa][Tt] || "$1" == *.[Rr][Ee][Gg] || "$1" == *.[Mm][Ss][Ii] ]] then - portwine_exe="$(realpath "$OLDPWD/$1")" + portwine_exe="$(realpath -s "$OLDPWD/$1")" elif [[ "$1" == "--debug" ]] \ && [[ -f "$2" ]] then - portwine_exe="$(realpath "$2")" + portwine_exe="$(realpath -s "$2")" elif [[ "$1" == "--debug" ]] \ && [[ -f "$OLDPWD/$2" ]] \ && [[ "$2" == *.[Ee][Xx][Ee] || "$2" == *.[Bb][Aa][Tt] || "$2" == *.[Rr][Ee][Gg] || "$2" == *.[Mm][Ss][Ii] ]] then - portwine_exe="$(realpath "$OLDPWD/$2")" + portwine_exe="$(realpath -s "$OLDPWD/$2")" elif [[ "$1" == *.[Ee][Xx][Ee] || "$1" == *.[Bb][Aa][Tt] || "$1" == *.[Mm][Ss][Ii] || "$1" == *.[Rr][Ee][Gg] ]] then portwine_exe="$1" @@ -92,7 +93,7 @@ unset PW_PREFIX_NAME WINEPREFIX VULKAN_MOD PW_WINE_VER PW_ADD_TO_ARGS_IN_RUNTIME unset PW_NAME_D_NAME PW_NAME_D_ICON PW_NAME_D_EXEC PW_EXEC_FROM_DESKTOP PW_ALL_DF PW_GENERATE_BUTTONS PW_NAME_D_ICON PW_NAME_D_ICON_48 unset MANGOHUD_CONFIG FPS_LIMIT PW_WINE_USE WINEDLLPATH WINE WINEDIR WINELOADER WINESERVER PW_USE_RUNTIME PORTWINE_CREATE_SHORTCUT_NAME MIRROR unset PW_LOCALE_SELECT PW_SETTINGS_INDICATION PW_GUI_START PW_AUTOINSTALL_EXE NOSTSTDIR RADV_DEBUG PW_NO_AUTO_CREATE_SHORTCUT -unset PW_DESKTOP_FILES_REGEX +unset PW_DESKTOP_FILES_REGEX PW_TERM export PORT_WINE_TMP_PATH="${PORT_WINE_PATH}/data/tmp" rm -f "$PORT_WINE_TMP_PATH"/*{exe,msi,tar}* @@ -248,6 +249,13 @@ case "$PW_GUI_START" in ;; esac +if check_flatpak ; then + if check_gamescope_session + then PW_TERM="xterm -fullscreen -bg black -fg white -e" + else PW_TERM="xterm -bg black -fg white -e" + fi +fi + pw_check_and_download_plugins # check skip update @@ -257,29 +265,26 @@ if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] ; then PW_FILESYSTEM=$(stat -f -c %T "${PORT_WINE_PATH}") export PW_FILESYSTEM - if [[ "$START_FROM_STEAM" == 1 ]] ; then - pw_get_tmp_files - else - background_pid --start "pw_get_tmp_files" "1" - fi + background_pid --start "pw_get_tmp_files" "1" fi # create lock file if ! check_flatpak ; then -if [[ -f "${PW_TMPFS_PATH}/portproton.lock" ]] ; then - print_warning "Found lock file: ${PW_TMPFS_PATH}/portproton.lock" - yad_question "${translations[A running PortProton session was detected.\\nDo you want to end the previous session?]}" || exit 0 -fi -touch "${PW_TMPFS_PATH}/portproton.lock" -rm_lock_file () { - echo "Removing the lock file..." - rm -fv "${PW_TMPFS_PATH}/portproton.lock" && echo "OK" -} -trap "rm_lock_file" EXIT + if [[ -f "${PW_TMPFS_PATH}/portproton.lock" ]] ; then + print_warning "Found lock file: ${PW_TMPFS_PATH}/portproton.lock" + yad_question "${translations[A running PortProton session was detected.\\nDo you want to end the previous session?]}" || exit 0 + fi + touch "${PW_TMPFS_PATH}/portproton.lock" + rm_lock_file () { + echo "Removing the lock file..." + rm -fv "${PW_TMPFS_PATH}/portproton.lock" && echo "OK" + } + trap "rm_lock_file" EXIT fi -if check_flatpak -then try_remove_dir "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}" +if check_flatpak ; then + try_remove_dir "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}" + export PW_USE_RUNTIME="0" else pw_download_libs fi @@ -292,6 +297,7 @@ then fi pw_check_and_download_dxvk_and_vkd3d + # shellcheck source=/dev/null source "${USER_CONF}" @@ -714,7 +720,7 @@ else --field=" EVE Online Launcher"!"$PW_GUI_ICON_PATH/eve.png"!"":"FBTN" '@bash -c "button_click --normal PW_EVE"' \ --field=" Rockstar Games Launcher"!"$PW_GUI_ICON_PATH/Rockstar.png"!"":"FBTN" '@bash -c "button_click --normal PW_ROCKSTAR"' \ --field=" Gameforge Client"!"$PW_GUI_ICON_PATH/gameforge.png"!"":"FBTN" '@bash -c "button_click --normal PW_GAMEFORGE"' \ - --field=" World of Sea Battle (x64)"!"$PW_GUI_ICON_PATH/wosb.png"!"":"FBTN" '@bash -c "button_click --normal PW_WOSB"' \ + --field=" World of Sea Battle"!"$PW_GUI_ICON_PATH/wosb.png"!"":"FBTN" '@bash -c "button_click --normal PW_WORLD_OF_SEA_BATTLE"' \ --field=" CALIBER"!"$PW_GUI_ICON_PATH/caliber.png"!"":"FBTN" '@bash -c "button_click --normal PW_CALIBER"' \ --field=" Crossout"!"$PW_GUI_ICON_PATH/crossout.png"!"":"FBTN" '@bash -c "button_click --normal PW_CROSSOUT"' \ --field=" Warframe"!"$PW_GUI_ICON_PATH/warframe.png"!"":"FBTN" '@bash -c "button_click --normal PW_WARFRAME"' \ @@ -744,6 +750,10 @@ else --field=" Anomaly Zone"!"$PW_GUI_ICON_PATH/anomalyzone.png"!"":"FBTN" '@bash -c "button_click --normal PW_ANOMALY_ZONE"' \ --field=" Farlight 84"!"$PW_GUI_ICON_PATH/farlight84.png"!"":"FBTN" '@bash -c "button_click --normal PW_FARLIGHT84"' \ --field=" Secret World Legends (ENG)"!"$PW_GUI_ICON_PATH/swl.png"!"":"FBTN" '@bash -c "button_click --normal PW_SWL"' \ + --field=" Blood and Soul"!"$PW_GUI_ICON_PATH/bloodandsoul.png"!"":"FBTN" '@bash -c "button_click --normal PW_BLOOD_AND_SOUL"' \ + --field=" Star Conflict"!"$PW_GUI_ICON_PATH/starconflict.png"!"":"FBTN" '@bash -c "button_click --normal PW_STAR_CONFLICT"' \ + --field=" GameXP"!"$PW_GUI_ICON_PATH/gamexp.png"!"":"FBTN" '@bash -c "button_click --normal PW_GAME_XP"' \ + --field=" Lost Light"!"$PW_GUI_ICON_PATH/lostlight.png"!"":"FBTN" '@bash -c "button_click --normal PW_LOST_LIGHT"' \ 2>/dev/null & export START_FROM_PP_GUI="1" @@ -802,7 +812,7 @@ fi [[ -n "$PW_YAD_SET" ]] && case "$PW_YAD_SET" in gui_pw_reinstall_pp|open_changelog|\ - 128|gui_pw_update|\ + 128|gui_pw_update|gui_rm_portproton|\ change_loc|gui_open_scripts_from_backup|\ gui_credits|pw_start_cont_xterm) if [[ -z "${PW_ALL_DF}" ]] ; then @@ -814,7 +824,7 @@ fi gui_proton_downloader|WINETRICKS|\ 116|pw_create_prefix_backup|\ gui_clear_pfx|WINEREG|WINECMD|\ - WINEFILE|WINECFG) + WINEFILE|WINECFG|gui_wine_uninstaller) if [[ -z "${PW_ALL_DF}" ]] ; then export TAB_MAIN_MENU="3" else diff --git a/data_from_portwine/scripts/var b/data_from_portwine/scripts/var index d2615f0b..891fecf8 100755 --- a/data_from_portwine/scripts/var +++ b/data_from_portwine/scripts/var @@ -1,7 +1,7 @@ #!/usr/bin/env bash #Author: Castro-Fidel (linux-gaming.ru) -#SCRIPTS_NEXT_VERSION=2356 -#SCRIPTS_STABLE_VERSION=2356 +#SCRIPTS_NEXT_VERSION=2359 +#SCRIPTS_STABLE_VERSION=2359 ######################################################################## # export PROTON_USE_XALIA="1" export LANGUAGES_LIST="ru es" @@ -46,7 +46,7 @@ export PW_FAKE_DLSS_VER="230506" export PW_FAKE_DLSS_3_VER="090" export PW_GALLIUM_NINE_VER="0.9" ###WINE_AND_PROTON_LG### -export PW_PROTON_LG_VER="PROTON_LG_9-12" +export PW_PROTON_LG_VER="PROTON_LG_9-15" export PW_WINE_LG_VER="WINE_LG_9-12-2" export PW_WINE_FULLSCREEN_FSR="1" export WINE_FULLSCREEN_FSR_MODE="ultra" @@ -55,9 +55,9 @@ export PW_VULKAN_USE="2" export VKD3D_LIMIT_TESS_FACTORS="64" export DXVK_LEGACY_VER="1.6.1" export DXVK_STABLE_VER="1.10.3-28" -export DXVK_GIT_VER="2.4-94" +export DXVK_GIT_VER="2.4.1-74" export VKD3D_STABLE_VER="1.1-2602" -export VKD3D_GIT_VER="1.1-4191" +export VKD3D_GIT_VER="1.1-4202" ###VKBASALT### export PW_VKBASALT_EFFECTS="Curves:cas" export PW_VKBASALT_FFX_CAS="0.66"