diff --git a/data_from_portwine/changelog_eng b/data_from_portwine/changelog_eng index 571f7b91cde6dd7e0637bffd88dcdfddcf930529..db79535184e5ee4e7c51a47dff6d16607474bc97 100644 --- a/data_from_portwine/changelog_eng +++ b/data_from_portwine/changelog_eng @@ -2,6 +2,19 @@ You can help us in the development of the project on the website: https://boosty ----------------------------------------- Changelog: +###Scripts version 2086 - 2089### +* updated "PROTON_STEAM" to version 7.0-1 +* updated "libs_v22.2" (Steam Runtime Sniper container update) +* updated additional libraries "plugins_v3" (added "EasyAntiCheat_Runtime" and updated "BattlEye_Runtime") +* added ability to create custom prefixes +* fixed "AUTOINSTALL" operation after "Arch Linux" update +* "League of Legends" is put in a separate prefix, which speeds up its launch (no need to update the prefix on each launch) +* by default there is an empty "DOTNET" prefix, when it starts it is automatically filled with libraries: "physx mfc42 vcrun2019 dotnet20sp2 dotnet48" +* added saving priority user settings (db files) inside the directory with the launched .exe file +* redesigned the main interface of PortProton (AUTOINSTALL opens by default on the first tab, in the SETTINGS tab added prefix selection and creation of a new prefix) +* added check to which prefix the Launcher is set from AUTOINSTALL +* added change history display before PortProton update + ###Scripts version 2085### * added argument editor for ".exe" file to "EDIT_DB" interface * added "WINDOWS" version selection to "EDIT_DB" interface diff --git a/data_from_portwine/changelog_rus b/data_from_portwine/changelog_rus index e8c80475e14b970b6ea4dcd8a832c2e1a2e3c574..2b467ef9d6af3fef3b8058b4790149d839818080 100755 --- a/data_from_portwine/changelog_rus +++ b/data_from_portwine/changelog_rus @@ -2,6 +2,19 @@ ----------------------------------------- Рстория изменений: +###Scripts version 2086 - 2089### +* обновлен "PROTON_STEAM" РґРѕ версии 7.0-1 +* обновлен "libs_v22.2" (обновление контейнера Steam Runtime Sniper) +* обновлены дополнительные библиотеки "plugins_v3" (добавлен "EasyAntiCheat_Runtime" Рё обновлен "BattlEye_Runtime") +* добавлена возможность создавать пользовательские префиксы +* исправлена работа "AUTOINSTALL" после обновления "Arch Linux" +* "League of Legends" ставиться РІ отдельный префикс, что ускоряет его запуск (РЅРµ требуется обновления префикса РїСЂРё каждом запуске) +* РїРѕ умолчанию существует пустой префикс "DOTNET" РїСЂРё запуске которого РѕРЅ автоматически наполняется библиотеками: "physx mfc42 vcrun2019 dotnet20sp2 dotnet48" +* добавлено сохранение приоритетных пользовательских настроек (db файлов) внутри каталога СЃ запускаемым .exe файлом +* переработано РѕСЃРЅРѕРІРЅРѕР№ интерфейс PortProton (AUTOINSTALL открывается РїРѕ умолчанию РЅР° первой вкладке, РІРѕ вкладке SETTINGS добавлен выбор префикса Рё создание РЅРѕРІРѕРіРѕ префикса) +* добавлена проверка РІ какой префикс установлен Launcher РёР· AUTOINSTALL +* добавлено отображение истории изменений РґРѕ обновления PortProton + ###Scripts version 2085### * добавлен редактор аргументов для ".exe" файла РІ интерфейс "EDIT_DB" * добавлен выбор версии "WINDOWS" РІ интерфейс "EDIT_DB" diff --git a/data_from_portwine/img/gui/battle_net.png b/data_from_portwine/img/gui/battle_net.png index 97dc0ed76923cf8a92a9677d74db1ab88a7849da..6bfb17e26a3d19d740cf553d8e1a097024142b21 100755 Binary files a/data_from_portwine/img/gui/battle_net.png and b/data_from_portwine/img/gui/battle_net.png differ diff --git a/data_from_portwine/img/gui/epicgames.png b/data_from_portwine/img/gui/epicgames.png index 8bbe5f2c14aa575eee62bcfe59189154927af12f..ef66d8dcb3f8757362e270b418bf3f2197958d21 100755 Binary files a/data_from_portwine/img/gui/epicgames.png and b/data_from_portwine/img/gui/epicgames.png differ diff --git a/data_from_portwine/img/gui/gog.png b/data_from_portwine/img/gui/gog.png index 7b07eda642dd4a1938af4719f403ae5aedb011f1..76f9b9b6b371d940fc4fdd34aa1aa942ca0ad559 100755 Binary files a/data_from_portwine/img/gui/gog.png and b/data_from_portwine/img/gui/gog.png differ diff --git a/data_from_portwine/img/gui/steam.png b/data_from_portwine/img/gui/steam.png index e506d6a26e3a13ad0380b67e6f67655aa289fbcb..cdaa2d13a026a530ec35d5c32dcd978e407f0f00 100755 Binary files a/data_from_portwine/img/gui/steam.png and b/data_from_portwine/img/gui/steam.png differ diff --git a/data_from_portwine/img/gui/ubc.png b/data_from_portwine/img/gui/ubc.png index 6b7e544ddf5f12dbca8329f23afcedda79c23da7..a8d67e9ca8f6a415b2fd0570b24474c187afe4fc 100755 Binary files a/data_from_portwine/img/gui/ubc.png and b/data_from_portwine/img/gui/ubc.png differ diff --git a/data_from_portwine/img/gui/wgc.png b/data_from_portwine/img/gui/wgc.png index 6caf32b7e603728721314ebe27791213505cb227..16c43cc4b0d4c2adef6f2df78333446522c0c4a7 100755 Binary files a/data_from_portwine/img/gui/wgc.png and b/data_from_portwine/img/gui/wgc.png differ diff --git a/data_from_portwine/img/setup.png b/data_from_portwine/img/setup.png new file mode 100644 index 0000000000000000000000000000000000000000..eca55cae6bc8f7fe797f5d7cd8d2ad36f624db0a Binary files /dev/null and b/data_from_portwine/img/setup.png differ diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index c700642560a1ba85402a9941d6b6643ab0c3051d..293e0b7b7264d4053bd0d0dc5298787151d103f1 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -63,8 +63,8 @@ try_remove_dir () { export -f try_remove_dir try_force_link_file () { - if [ ! -f "$1" ] ; then print_info "file $1 not found for link" - elif [ -z "$2" ] ; then print_error "no way to link file $1" + if [ -z "$2" ] ; then + print_error "no way to link file $1" else ln -sf "$1" "$2" [ "$?" != 0 ] && print_error "failed to link file $1 to $2" || return 0 @@ -88,8 +88,8 @@ check_symlink () { export -f check_symlink try_force_link_dir () { - if [ ! -d "$1" ] ; then print_info "directory $1 not found for link" - elif [ -z "$2" ] ; then print_error "no way to link directory $1" + if [ -z "$2" ] ; then + print_error "no way to link directory $1" else ln -sf "$1" "$2" [ "$?" != 0 ] && print_error "failed to link directory $1 to $2" || return 0 @@ -432,10 +432,6 @@ stop_portwine () { try_remove_file "${PORT_SCRIPTS_PATH}/0" try_remove_file "${PORT_SCRIPTS_PATH}/1" kill_portwine && - if [ ! -z "`ls "${WINEPREFIX}"/drive_c/users/steamuser/Temp/ | head -n 1`" ] ; then - chmod -R 755 "${WINEPREFIX}"/drive_c/users/steamuser/Temp/ - rm -fr "${WINEPREFIX}"/drive_c/users/steamuser/Temp/* - fi try_remove_dir "${PW_WINELIB}/var" find "${WINEPREFIX}/drive_c/" -maxdepth 1 -type f -name "*.tmp" -delete if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] ; then @@ -542,26 +538,40 @@ pw_check_and_download_plugins () { pw_init_db () { if [ ! -z "${portwine_exe}" ]; then export PORTWINE_DB=`echo "${portwine_exe}" | awk -F '/' 'NF>1{print $NF}' | sed s/".exe"/""/gi` - orig_IFS="$IFS" - IFS=$'\n' - PW_FIND_DB_FILE=`grep -ilw "#${PORTWINE_DB}.exe" "${PORT_SCRIPTS_PATH}/portwine_db"/* | sed s/".exe"/""/gi` - if [[ `echo "$PW_FIND_DB_FILE" | wc -l` -gt 1 ]] ; then - unset ADD_CB_DBFILE - for PW_CHECK_DB_FILE in $PW_FIND_DB_FILE ; do - if [[ -z "${ADD_CB_DBFILE}" ]] ; then - export ADD_CB_DBFILE="${PW_CHECK_DB_FILE}" - else - export ADD_CB_DBFILE="${PW_CHECK_DB_FILE}!${ADD_CB_DBFILE}" + if [[ -f "${portwine_exe}".ppdb ]] ; then + export PORTWINE_DB_FILE="${portwine_exe}".ppdb + else + orig_IFS="$IFS" + IFS=$'\n' + PW_FIND_DB_FILE=`grep -ilw "#${PORTWINE_DB}.exe" "${PORT_SCRIPTS_PATH}/portwine_db"/* | sed s/".exe"/""/gi` + if [[ `echo "$PW_FIND_DB_FILE" | wc -l` -gt 1 ]] ; then + unset ADD_CB_DBFILE + for PW_CHECK_DB_FILE in $PW_FIND_DB_FILE ; do + if [[ -z "${ADD_CB_DBFILE}" ]] ; then + export ADD_CB_DBFILE="${PW_CHECK_DB_FILE}" + else + export ADD_CB_DBFILE="${PW_CHECK_DB_FILE}!${ADD_CB_DBFILE}" + fi + done + PORTWINE_DB_FILE=`"${pw_yad_new}" --text-align=center --text "${PW_SELECTION_DB_LOC}" --borders=15 --form --center \ + --title "Database file selection..." --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --form --separator="" \ + --field="DB FILE: :CB" "${ADD_CB_DBFILE}"` + if [[ "$?" == "1" || "$?" == "252" ]] ; then exit 0 ; fi + elif [[ `echo "$PW_FIND_DB_FILE" | wc -l` -eq 1 ]] ; then + PORTWINE_DB_FILE="${PW_FIND_DB_FILE}" + fi + IFS="$orig_IFS" + if [[ -f "${PW_FIND_DB_FILE}" ]] && [[ -z `grep "^export PW_DISABLED_CREATE_DB=1" "${PW_FIND_DB_FILE}"` ]] ; then + try_copy_file "${PW_FIND_DB_FILE}" "${portwine_exe}".ppdb + export PORTWINE_DB_FILE="${portwine_exe}".ppdb + if [[ ! -z `echo "${portwine_exe}" | grep "/data/prefixes/"` ]] && \ + [[ -z `echo "${portwine_exe}" | grep "/data/prefixes/DEFAULT"` ]] + then + export PW_PREFIX_NAME=`echo "${portwine_exe}" | awk -F"/prefixes/" '{print $2}' | awk -F"/" '{print $1}'` + edit_db_from_gui PW_PREFIX_NAME fi - done - PORTWINE_DB_FILE=`"${pw_yad_new}" --text-align=center --text "${PW_SELECTION_DB_LOC}" --borders=15 --form --center \ - --title "Database file selection..." --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --form --separator="" \ - --field="DB FILE: :CB" "${ADD_CB_DBFILE}"` - if [[ "$?" == "1" || "$?" == "252" ]] ; then exit 0 ; fi - elif [[ `echo "$PW_FIND_DB_FILE" | wc -l` -eq 1 ]] ; then - PORTWINE_DB_FILE="${PW_FIND_DB_FILE}" + fi fi - IFS="$orig_IFS" if [ ! -z "${PORTWINE_DB_FILE}" ]; then . "${PORTWINE_DB_FILE}" init_wine_ver && @@ -572,88 +582,68 @@ pw_init_db () { fi fi return 0 -# export WIN_PATH_TO_GAME=`echo "C:${PATH_TO_GAME}" | sed "s%$WINEPREFIX%%g" | sed "s/drive_c//g" | sed 's#/#\\\#g'` } pw_port_update () { - ###PORT UPDATE### + ###SCRIPTS UPDATE### if [ ! -f "${PORT_WINE_TMP_PATH}/scripts_ver" ] ; then - echo "2000" > "${PORT_WINE_TMP_PATH}/scripts_ver" + echo "2022" > "${PORT_WINE_TMP_PATH}/scripts_ver" fi export scripts_install_ver=`cat "${PORT_WINE_TMP_PATH}/scripts_ver" | head -n 1` curl -s --list-only https://raw.githubusercontent.com/Castro-Fidel/PortWINE/master/data_from_portwine/scripts/var > "${PORT_WINE_TMP_PATH}/curent_var_ver" - if [[ "$?" == 0 ]] ; then - if [ ! -f "${PORT_WINE_TMP_PATH}/${portname}_ver" ] ; then - echo "10" > "${PORT_WINE_TMP_PATH}/${portname}_ver" - fi - export port_install_ver=`cat "${PORT_WINE_TMP_PATH}/${portname}_ver" | head -n 1` - if [ ! -f "${PORT_WINE_TMP_PATH}/update_notifier" ] ; then - echo "1" > "${PORT_WINE_TMP_PATH}/update_notifier" - fi - read "update_not" < "${PORT_WINE_TMP_PATH}/update_notifier" - if [ "${update_not}" = "1" ] ; then - export port_current_ver=`cat "${PORT_WINE_TMP_PATH}/curent_var_ver" | grep PORT_NEXT_VERSION | awk -F "=" '{print $2}'` - print_info "Port version in github = ${port_current_ver}" - print_info "Port version local = ${port_install_ver}" - if [[ ! -z "${port_current_ver}" && "${port_current_ver}" -gt "${port_install_ver}" ]] ; then - xsd=`zenity --title "${port_upd1}" --text "${port_upd2}" --list --radiolist --height=240 --column="${inst_set}" --column "${port_upd3}" \ - TRUE "${port_upd4}" \ - FALSE "${port_upd5}" \ - FALSE "${port_upd6}" ` - case $xsd in - "${port_upd4}") - kill_portwine && - xdg-open $PORTWINE_URL - exit 0 ;; - "${port_upd5}") - echo " " ;; - "${port_upd6}") - echo "0" > "${PORT_WINE_TMP_PATH}/update_notifier" ;; - esac - fi - fi - ###SCRIPTS UPDATE### - if [ ! -f "${PORT_WINE_TMP_PATH}/scripts_update_notifier" ] ; then - echo "1" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier" - fi - read "scripts_update_not" < "${PORT_WINE_TMP_PATH}/scripts_update_notifier" - if [ "${scripts_update_not}" = "1" ] ; then - export scripts_current_ver=`cat "${PORT_WINE_TMP_PATH}/curent_var_ver" | grep SCRIPTS_NEXT_VERSION | awk -F "=" '{print $2}'` - print_info "Scripts version in github = ${scripts_current_ver}" - print_info "Scripts version local = ${scripts_install_ver}" - if [[ ! -z "${scripts_current_ver}" && "${scripts_current_ver}" -gt "${scripts_install_ver}" ]] ; then + [[ ! -f "${PORT_WINE_TMP_PATH}/scripts_update_notifier" ]] && echo "1" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier" + read "scripts_update_not" < "${PORT_WINE_TMP_PATH}/scripts_update_notifier" + if [[ "${scripts_update_not}" == "1" ]] ; then + export scripts_current_ver=`cat "${PORT_WINE_TMP_PATH}/curent_var_ver" | grep SCRIPTS_NEXT_VERSION | awk -F "=" '{print $2}'` + print_info "Scripts version in github = ${scripts_current_ver}" + print_info "Scripts version local = ${scripts_install_ver}" + if [[ ! -z "${scripts_current_ver}" ]] && [[ "${scripts_current_ver}" -gt "${scripts_install_ver}" ]] ; then + if [[ -f "${PW_WINELIB}/portable/bin/yad_new" ]] ; then + export pw_yad_new="${PW_WINELIB}/portable/bin/yad_new" + curl -s --list-only "https://raw.githubusercontent.com/Castro-Fidel/PortWINE/master/data_from_portwine/${PW_CHANGELOG_FILE}" | tee "${PORT_WINE_TMP_PATH}/curent_var_ver" | sszen + CHANGLOG_NEWS=`cat "${PORT_WINE_TMP_PATH}/curent_var_ver" | sed "/Scripts version ${scripts_install_ver}/,$ d" | sed '1,/---/ d' ` + xcsd=`"${pw_yad_new}" --title "${scripts_upd2} v.${scripts_current_ver}" --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ + --borders=5 --form --separator='%%%' --width=1000 --height=350 --center \ + --field=":TXT" "${CHANGLOG_NEWS}" \ + --field=" ${scripts_upd3} :CB" "${scripts_upd4}!${scripts_upd5}!${scripts_upd6}" ` + YAD_STATUS="$?" + if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi + xcsd=`echo "${xcsd}" | awk -F'%%%' '{print $2}'` + else xcsd=`zenity --title "${scripts_upd1}" --text "${scripts_upd2}" --list --radiolist --height=240 --column="${inst_set}" --column "${scripts_upd3}" \ TRUE "${scripts_upd4}" \ FALSE "${scripts_upd5}" \ FALSE "${scripts_upd6}"` - case $xcsd in - "${scripts_upd4}") - echo "######################################################" - print_info "Update scripts..." - try_remove_file "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" - if try_download "https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz" "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" ; then - if unpack_tar_gz "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" "${PORT_WINE_TMP_PATH}" ; then - cp -fr "${PORT_WINE_TMP_PATH}/PortWINE-master/data_from_portwine/"* "${PORT_WINE_PATH}/data/" - try_remove_file "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" - try_remove_dir "${PORT_WINE_TMP_PATH}/PortWINE-master/" - echo "${scripts_current_ver}" > "${PORT_WINE_TMP_PATH}/scripts_ver" + fi + case $xcsd in + "${scripts_upd4}") + echo "######################################################" + print_info "Update scripts..." + try_remove_file "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" + if try_download "https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz" "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" ; then + if unpack_tar_gz "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" "${PORT_WINE_TMP_PATH}" ; then + cp -fr "${PORT_WINE_TMP_PATH}/PortWINE-master/data_from_portwine/"* "${PORT_WINE_PATH}/data/" + try_remove_file "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" + try_remove_dir "${PORT_WINE_TMP_PATH}/PortWINE-master/" + echo "${scripts_current_ver}" > "${PORT_WINE_TMP_PATH}/scripts_ver" + if [[ -z "${pw_yad_new}" ]] ; then zenity --title="Changelog" --text-info --width=1200 --height=550 \ --filename="${PORT_WINE_PATH}/data/${PW_CHANGELOG_FILE}" - [ "$?" == 0 ] && /usr/bin/env bash -c ${pw_full_command_line[*]} & - exit 0 fi - else - zenity_error_download && pw_scripts_update - fi ;; - "${scripts_upd5}") - echo " " ;; - "${scripts_upd6}") - echo "0" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier" ;; - esac - fi + [ "$?" == 0 ] && /usr/bin/env bash -c ${pw_full_command_line[*]} & + exit 0 + fi + else + zenity_error_download && pw_scripts_update + fi ;; + "${scripts_upd5}") + echo " " ;; + "${scripts_upd6}") + echo "0" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier" ;; + esac fi - try_remove_file "${PORT_WINE_TMP_PATH}/curent_var_ver" fi + try_remove_file "${PORT_WINE_TMP_PATH}/curent_var_ver" return 0 } @@ -683,16 +673,17 @@ update_winetricks () { } edit_db_from_gui () { + echo "edit_db_from_gui PORTWINE_DB_FILE=$PORTWINE_DB_FILE" for mod_db in $@ ; do echo "${mod_db}=${!mod_db}" if [ -z "`cat "${PORTWINE_DB_FILE}" | grep "export ${mod_db}="`" ] ; then - echo "export ${mod_db}=${!mod_db}" >> "${PORTWINE_DB_FILE}" + echo "export ${mod_db}=\"${!mod_db}\"" >> "${PORTWINE_DB_FILE}" elif [ "`cat "${PORTWINE_DB_FILE}" | grep "export ${mod_db}=" | grep -v "#"`" ] ; then - if [ "`cat "${PORTWINE_DB_FILE}" | grep "export ${mod_db}=" | grep -v "#"`" != "export ${mod_db}=${!mod_db}" ] ; then - sed -ri "s/^export ${mod_db}=.*/export ${mod_db}=${!mod_db}/" "${PORTWINE_DB_FILE}" + if [ "`cat "${PORTWINE_DB_FILE}" | grep "export ${mod_db}=" | grep -v "#"`" != "export ${mod_db}=\"${!mod_db}\"" ] ; then + sed -ri "s/^export ${mod_db}=.*/export ${mod_db}=\"${!mod_db}\"/" "${PORTWINE_DB_FILE}" fi elif [ "`cat "${PORTWINE_DB_FILE}" | grep "export ${mod_db}="`" != "export ${mod_db}=${!mod_db}" ] ; then - sed -ri "s/.*export ${mod_db}=.*/export ${mod_db}=${!mod_db}/g" "${PORTWINE_DB_FILE}" + sed -ri "s/.*export ${mod_db}=.*/export ${mod_db}=\"${!mod_db}\"/g" "${PORTWINE_DB_FILE}" fi done return 0 @@ -704,7 +695,7 @@ pw_create_gui_png () { else export PORTPROTON_NAME="$(basename "${portwine_exe}" | sed s/".exe"/""/gi )" fi - PW_RESIZE_TO=96 + PW_RESIZE_TO=128 try_remove_file "${PORT_WINE_PATH}/data/img/setup.png" if [[ -x "`which wrestool 2>/dev/null`" ]] && [[ ! -f "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" ]] ; then try_remove_dir "${PORT_WINE_TMP_PATH}/tmp_img" @@ -724,9 +715,11 @@ pw_create_gui_png () { [[ -x "`which "convert" 2>/dev/null`" ]] && [[ -f "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" ]] ; then convert "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" -resize ${PW_RESIZE_TO}x${PW_RESIZE_TO} "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" fi - if [[ ! -z "`file "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" | grep "${PW_RESIZE_TO} x ${PW_RESIZE_TO}"`" ]] ; then - export PW_ICON_FOR_YAD="${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" - else - export PW_ICON_FOR_YAD="${PW_GUI_ICON_PATH}/port_proton.png" + if [[ -z "${PW_ICON_FOR_YAD}" ]] ; then + if [[ ! -z "`file "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" | grep "${PW_RESIZE_TO} x ${PW_RESIZE_TO}"`" ]] ; then + export PW_ICON_FOR_YAD="${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" + else + export PW_ICON_FOR_YAD="${PW_GUI_ICON_PATH}/port_proton.png" + fi fi } diff --git a/data_from_portwine/scripts/lang b/data_from_portwine/scripts/lang index e97678cca8c92e4c4775cf711fbfec346e69bbda..0cae6963f9f90b37f3827588e7c521bec8959811 100755 --- a/data_from_portwine/scripts/lang +++ b/data_from_portwine/scripts/lang @@ -23,8 +23,8 @@ then export port_upd6="Больше РЅРµ напоминать" export scripts_upd1="Обновление скриптов" - export scripts_upd2="Доступно обновление скриптов для ${portname}\n" - export scripts_upd3="Действие:" + export scripts_upd2="Доступно обновление скриптов для ${portname}" + export scripts_upd3="Действие :" export scripts_upd4="Обновить сейчас" export scripts_upd5="Напомнить позже" export scripts_upd6="Больше РЅРµ напоминать" @@ -58,6 +58,7 @@ then export loc_winereg="Запустить редактор реестра префикса ${portname}" export loc_winetricks="Запустить winetricks для установки РґРѕРї. библиотек РІ префикс ${portname}" export loc_edit_db="Рзменить файл настроек для" + export loc_download_other_wine="Открыть меню для скачивания РґСЂСѓРіРёС… версий WINE-PROTON" export ENABLE_VKBASALT_INFO='Включить vkBasalt РїРѕ умолчанию для улучшение графики РІ играх работающих РїРѕРґ Vulkan. (Горячая клавиша HOME отключает vkbasalt)' export PW_NO_ESYNC_INFO='РќРµ использовать примитивы внутрипроцессной синхронизации РЅР° РѕСЃРЅРѕРІРµ eventfd. (Рекомендуется РЅРµ изменять значение)' @@ -127,8 +128,8 @@ then export port_upd6="Do not remind me" export scripts_upd1="New update for scripts" - export scripts_upd2="Scripts update avialable for ${portname}\n" - export scripts_upd3="Action:" + export scripts_upd2="Scripts update avialable for ${portname}" + export scripts_upd3="Action :" export scripts_upd4="Updating now" export scripts_upd5="Remind me later" export scripts_upd6="Do not remind me" @@ -154,6 +155,8 @@ then export PW_WAYLAND_INFO="Attention! You are running $portname in a Wayland session, some features may not be available!\nRestarting your session in X11 is recommended!" + export loc_download_other_wine="Download other wine-proton from GITHUB" + #Helped in translation: ConTI1NuEsZZZ export loc_create_shortcut="Create shortcut for select file..." export loc_delete_shortcut="Delete shortcut for select file..." diff --git a/data_from_portwine/scripts/portwine_db/Battle.net_Launcher b/data_from_portwine/scripts/portwine_db/Battle.net_Launcher index 61f18705dca8a4f8c848cd38963bf8dcd84b211e..97ab02ebed6db7c4a6f04c524238b11f0dbb02c2 100755 --- a/data_from_portwine/scripts/portwine_db/Battle.net_Launcher +++ b/data_from_portwine/scripts/portwine_db/Battle.net_Launcher @@ -14,9 +14,9 @@ export PW_DLL_INSTALL="vcrun2019 d3dx11_42 d3dx11_43" export PW_WINDOWS_VER=10 add_in_start_portwine () { - rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/ProgramData/Agent/data" - rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/${USER}/Blizzard Entertainment/Battle.net/Cache" - rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public/Blizzard Entertainment/Battle.net/Cache" - try_remove_file "${PORT_WINE_PATH}/data/pfx/drive_c/windows/Fonts/sourcehansans.ttc" - sed -i 's/"GrabFullscreen"="Y"/"GrabFullscreen"="N"/' "${WINEPREFIX}/user.reg" + rm -fr "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/ProgramData/Agent/data" + rm -fr "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/${USER}/Blizzard Entertainment/Battle.net/Cache" + rm -fr "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/Public/Blizzard Entertainment/Battle.net/Cache" + try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/Fonts/sourcehansans.ttc" + sed -i 's/"GrabFullscreen"="Y"/"GrabFullscreen"="N"/' "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/user.reg" } diff --git a/data_from_portwine/scripts/portwine_db/League of Legends b/data_from_portwine/scripts/portwine_db/League of Legends index d55cbbbff2882c4e5908829322fd1e0eada04a04..2a115a76e0548da3ca2725b513f2d2d0b619d823 100755 --- a/data_from_portwine/scripts/portwine_db/League of Legends +++ b/data_from_portwine/scripts/portwine_db/League of Legends @@ -14,10 +14,11 @@ export PW_COMMENT_DB="${TEXT_OPSSL}Dwnload and start League of Legends can take ##export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP ##export PW_DLL_INSTALL="vcrun2017" # Install DDL in port prefix (used winetricks) ##export WINEDLLOVERRIDES="blabla=n,b" -export LAUNCH_PARAMETERS=("--launch-product=league_of_legends" "--launch-patchline=live") # Additional launch options +export LAUNCH_PARAMETERS="--launch-product=league_of_legends --launch-patchline=live" # Additional launch options export PW_WINE_USE=WINE_LOL_GE_7.0-1 export PW_VULKAN_USE=1 -export PW_MUST_HAVE_DLL="vcrun2013" +export PW_MUST_HAVE_DLL="" +export PW_PREFIX_NAME="LEAGUE_OF_LEGENDS" ##export PW_USE_DXR10=1 ##export PW_VULKAN_NO_ASYNC=1 # Disabled ASYNC for VULKAN ##export PW_USE_NVAPI_AND_DLSS=0 diff --git a/data_from_portwine/scripts/portwine_db/Stetup b/data_from_portwine/scripts/portwine_db/Stetup deleted file mode 100644 index a77ea95d0b8e3e71c18c62c9dff474bf5594ace0..0000000000000000000000000000000000000000 --- a/data_from_portwine/scripts/portwine_db/Stetup +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env bash -#Author: xuser -#Stetup.exe -#Rating=1-5 -#####################examples########################### -##export PW_COMMENT_DB="blablabla" -##export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP -##export PW_DLL_INSTALL="vcrun2017" # Install DDL in port prefix (used winetricks) -##export WINEDLLOVERRIDES="blabla=n,b" -##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')" # Additional launch options -export PW_WINE_USE=PROTON_PW_6.19 -export PW_VULKAN_USE=1 -##export PW_DXR_ON=1 -##export PW_DLSS_ON=1 -##export PW_VULKAN_NO_ASYNC=1 # Disabled ASYNC for VULKAN -##export PW_USE_NVAPI_AND_DLSS=0 -##export PW_OLD_GL_STRING=1 -##export PW_HIDE_NVIDIA_GPU=1 -##export PW_FORCE_USE_VSYNC=0 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT -##export PW_VIRTUAL_DESKTOP=1 -##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue -##export ENABLE_VKBASALT=1 -##export PW_VKBASALT_EFFECTS="FakeHDR:cas" # Use Reshade in others games (dx9-12 to vulkan only) -##export PW_VKBASALT_FFX_CAS="0.75" # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1) -##export PW_NO_FSYNC=1 # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. -##export PW_NO_ESYNC=0 # Do not use eventfd-based in-process synchronization primitives -##export PW_USE_GSTREAMER=1 # 0 - disabled use winegstreamer -##export PULSE_LATENCY_MSEC=60 # Fix crackling audio in games -##export PW_NO_WRITE_WATCH=1 # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). -##export PW_HEAP_DELAY_FREE=1 -##export PW_WINE_ALLOW_XIM=1 # Disable XIM support until libx11 >= 1.7 is widespread -##export WINEARCH=win32 # defaut = win64 -##export WINEPREFIX= -##export PW_WINEDBG_DISABLE=1 # Disabled WINEDBG -##export PW_USE_TERMINAL=1 # Force run in terminal -##export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI -##export PATH_TO_GAME= -##add_in_start_portwine () { commands ; } diff --git a/data_from_portwine/scripts/portwine_db/WorldOfTanksEnCoreLauncher b/data_from_portwine/scripts/portwine_db/WorldOfTanksEnCoreLauncher index f3dd18a5870485bd3b3b9ba700c5ba76f7b2e46c..b20551ffb3850ae35abbd46a8e8796721cd9ca07 100755 --- a/data_from_portwine/scripts/portwine_db/WorldOfTanksEnCoreLauncher +++ b/data_from_portwine/scripts/portwine_db/WorldOfTanksEnCoreLauncher @@ -5,8 +5,8 @@ ################################################ export PW_VULKAN_USE=1 export PW_USE_TERMINAL=0 - export WINEPREFIX="${PORT_WINE_PATH}/data/pfx_dotnet/" - export PW_DLL_INSTALL="vcrun2017 mfc42 vb6run physx dotnet40 " # Install DDL in port prefix (used winetricks) + export PW_PREFIX_NAME="DOTNET" + export PW_DLL_INSTALL="mfc42 vb6run physx dotnet40" # Install DDL in port prefix (used winetricks) export PW_COMMENT_DB="World Of Tanks EnCore" ## export DXVK_HUD=fps,devinfo ## export PW_MANGOHUD=1 diff --git a/data_from_portwine/scripts/portwine_db/default b/data_from_portwine/scripts/portwine_db/default index 7901eb7bc16ccfb1bc18e30cadf69a3eaf93842c..3b6bf9b1706b71a8ff89a7590340fdb68b968f96 100755 --- a/data_from_portwine/scripts/portwine_db/default +++ b/data_from_portwine/scripts/portwine_db/default @@ -8,7 +8,7 @@ ##export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP ##export PW_DLL_INSTALL="vcrun2017" # Install DDL in port prefix (used winetricks) ##export WINEDLLOVERRIDES="blabla=n,b" -##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')" # Additional launch options +##export LAUNCH_PARAMETERS="+com_skipIntroVideo 1 +com_skipSignInManager 1" # Additional launch options ##export PW_WINE_USE=PROTON_GE # PROTON_STEAM or PROTON_GE ##export PW_VULKAN_USE=1 # 1 ,dxvk or 0 for OpenGL diff --git a/data_from_portwine/scripts/portwine_db/osu b/data_from_portwine/scripts/portwine_db/osu index a15adf1f22a6390932e4d611a088b253a3503767..6ff7296c1c24fc2d9cdeafc44dace6bcc7d947a7 100755 --- a/data_from_portwine/scripts/portwine_db/osu +++ b/data_from_portwine/scripts/portwine_db/osu @@ -5,7 +5,7 @@ #Rating=1-5 ######################################################## export PW_VULKAN_USE=0 -export WINEPREFIX="${PORT_WINE_PATH}/data/pfx_dotnet" +export PW_PREFIX_NAME="DOTNET" export PW_DLL_INSTALL="dotnet40" export PW_COMMENT_DB="OSU!" #####################examples########################### diff --git a/data_from_portwine/scripts/portwine_db/setup b/data_from_portwine/scripts/portwine_db/setup index 6571dc5d91e2db566c1d205497a12656863bc65c..f860ad0e169d5aa1635de7a89d451a7b6216f402 100755 --- a/data_from_portwine/scripts/portwine_db/setup +++ b/data_from_portwine/scripts/portwine_db/setup @@ -7,6 +7,8 @@ #Rating=5 #export PW_COMMENT_DB="blablabla" ################################################ +export PW_DISABLED_CREATE_DB=1 +export PW_ICON_FOR_YAD="${PORT_WINE_PATH}/data/img/setup.png" export PW_VULKAN_USE=0 #dxvk or vkd3d export PW_MANGOHUD=0 #export PW_WINE_USE=PROTON_STEAM diff --git a/data_from_portwine/scripts/portwine_db/wot_encore_install_ru b/data_from_portwine/scripts/portwine_db/wot_encore_install_ru index d02f17b5246f4086b5a1fa112313ba5145ab6da5..1639c9566518efe5e429b1afc9c5024a8ef6a891 100755 --- a/data_from_portwine/scripts/portwine_db/wot_encore_install_ru +++ b/data_from_portwine/scripts/portwine_db/wot_encore_install_ru @@ -5,7 +5,7 @@ ################################################ export PW_VULKAN_USE=dxvk export PW_USE_TERMINAL=1 - export WINEPREFIX="${PORT_WINE_PATH}/data/pfx_dotnet" + export PW_PREFIX_NAME="DOTNET" export PW_DLL_INSTALL="dotnet40 vcrun2017 mfc42 vb6run physx" export PW_COMMENT_DB="World Of Tanks EnCore Installer" ## export DXVK_HUD=fps,devinfo diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_GOG b/data_from_portwine/scripts/pw_autoinstall/PW_GOG index 47a6fbb11e565ef599006286e5035c0fb0a2d382..637fc5fc833a3197f4c6df2bc51da45d32f94596 100755 --- a/data_from_portwine/scripts/pw_autoinstall/PW_GOG +++ b/data_from_portwine/scripts/pw_autoinstall/PW_GOG @@ -2,7 +2,7 @@ # Author: Castro-Fidel (PortWINE-Linux.ru) ######################################################################## export LAUNCH_PARAMETERS=("/VERYSILENT") -export GOG_VER=2.0.45.61 +export GOG_VER=2.0.46.133 export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/setup_galaxy_${GOG_VER}.exe" start_portwine if try_download "https://content-system.gog.com/open_link/download?path=/open/galaxy/client/${GOG_VER}/setup_galaxy_${GOG_VER}.exe" "${PW_AUTOINSTALL_EXE}" diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_LOL b/data_from_portwine/scripts/pw_autoinstall/PW_LOL index 28ecc6a1325fcb163d2de4fe54589b0ede157c22..113260141450dccc438f4cd1b24672585a7ba58e 100644 --- a/data_from_portwine/scripts/pw_autoinstall/PW_LOL +++ b/data_from_portwine/scripts/pw_autoinstall/PW_LOL @@ -1,9 +1,9 @@ #!/usr/bin/env bash # Author: Castro-Fidel (PortWINE-Linux.ru) ######################################################################## -export LAUNCH_PARAMETERS=("/q" ) -export PW_AUTOINSTALL_EXE="${WINEPREFIX}/drive_c/live.na.exe" -export LAUNCH_PARAMETERS=("--launch-product=league_of_legends" "--launch-patchline=live") +export PW_PREFIX_NAME="LEAGUE_OF_LEGENDS" +export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/live.na.exe" +export LAUNCH_PARAMETERS="--launch-product=league_of_legends --launch-patchline=live" export PW_MUST_HAVE_DLL="" export PW_VULKAN_USE=1 export PW_WINE_USE=WINE_LOL_GE_7.0-1 diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_OSU b/data_from_portwine/scripts/pw_autoinstall/PW_OSU index e95a976d030c9605d490d7ead492f20ba03e9444..a746290e9d0fe43f8bd98707ad8a6442339a17fe 100755 --- a/data_from_portwine/scripts/pw_autoinstall/PW_OSU +++ b/data_from_portwine/scripts/pw_autoinstall/PW_OSU @@ -1,11 +1,11 @@ #!/usr/bin/env bash # Author: cefeiko ######################################################################## -export WINEPREFIX="${PORT_WINE_PATH}/data/pfx_dotnet" +export PW_PREFIX_NAME=DOTNET +start_portwine 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..." diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_WGC b/data_from_portwine/scripts/pw_autoinstall/PW_WGC index 96d0fd11722af77373200fc4964eacd87997e338..709912f784f9fad2bbc58e193e2a3239a4ad6699 100755 --- a/data_from_portwine/scripts/pw_autoinstall/PW_WGC +++ b/data_from_portwine/scripts/pw_autoinstall/PW_WGC @@ -9,7 +9,7 @@ try_download_wgc () { set -o pipefail wget -t 5 -T 3 "$1" --output-document="$2" 2>&1 | \ tr '\r' '\n' | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9,.]\+.\) \(.*\)/\1\n#Downloading at \1\/, \2\/s, ETA \3/; s/^20[0-9][0-9].*/#Done./' | \ - zenity --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --auto-kill --width=500 --height=90 + "${pw_yad_new}" --center --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --auto-kill --width=500 --height=90 [ "${PIPESTATUS[0]}" != 0 ] && print_error "failed to download $1. Scipping." && return 1 || return 0 } diff --git a/data_from_portwine/scripts/runlib b/data_from_portwine/scripts/runlib index a44913a8047823ca069af015bc344980534b3c63..e624c2c02ef30c5b2fefb983b7c119262b179f86 100755 --- a/data_from_portwine/scripts/runlib +++ b/data_from_portwine/scripts/runlib @@ -22,7 +22,11 @@ fi . "$(dirname $(readlink -f "$0"))/functions_helper" start_portwine () { + export WINEPREFIX="${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}" + create_new_dir "${WINEPREFIX}/drive_c/" + try_force_link_dir "${PORT_WINE_PATH}/data/prefixes" "${WINEPREFIX}/drive_c/" export WINEARCH="win64" + pw_install_dll_in_prefix pw_check_and_download_wine "${PW_WINE_USE}" init_wine_ver sed -i '/Steam.exe/d' "${WINEDIR}/share/wine/wine.inf" @@ -54,12 +58,14 @@ start_portwine () { mv -f "${PW_WINELIB}/portable/lib/lib32" "${PW_WINELIB}/portable/lib/lib" fi fi - if [[ ! -z "${LD_LIBRARY_PATH}" ]] ; then - if [[ -z "`echo ${LD_LIBRARY_PATH} | grep "${WINEDIR}/lib64:${WINEDIR}/lib"`" ]] ; then - export LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib:${PW_WINELIB}/portable/lib/\$LIB:${LD_LIBRARY_PATH}" + + PW_PV_OVERRIDES="/usr/lib/pressure-vessel/overrides/lib" + if [[ ! -z "${LD_LIBRARY_PATH}" ]] ; then + if [[ -z "`echo ${PW_LD_LIBRARY_PATH} | grep "${WINEDIR}/lib64:${WINEDIR}/lib"`" ]] ; then + export PW_LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib:${PW_WINELIB}/portable/lib/\$LIB:${PW_PV_OVERRIDES}/x86_64-linux-gnu/aliases:${PW_PV_OVERRIDES}/i386-linux-gnu/aliases:${LD_LIBRARY_PATH}" fi else - export LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib:${PW_WINELIB}/portable/lib/\$LIB" + export PW_LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib:${PW_WINELIB}/portable/lib/\$LIB:${PW_PV_OVERRIDES}/x86_64-linux-gnu/aliases:${PW_PV_OVERRIDES}/i386-linux-gnu/aliases" fi if [[ ! -z "${VK_LAYER_PATH}" ]] @@ -86,8 +92,8 @@ start_portwine () { else var_winedlloverride_update "winegstreamer=" fi - export STAGING_SHARED_MEMORY=1 - export PW_FORCE_LARGE_ADDRESS_AWARE=1 + # export STAGING_SHARED_MEMORY=1 + # export PW_FORCE_LARGE_ADDRESS_AWARE=1 if [ "${PW_USE_RUNTIME}" = 0 ] ; then export pw_runtime="" @@ -275,7 +281,7 @@ start_portwine () { fi pw_vkbasalt_check pw_other_fixes - #init_pfx + check_dirs_and_files_in_pfx () { create_new_dir "${WINEPREFIX}" create_new_dir "${WINEPREFIX}/drive_c" @@ -300,6 +306,7 @@ start_portwine () { try_force_link_file "${WINEDIR}/share/wine/fonts/"tahoma.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"tahoma.ttf } + if [[ ! -d "${WINEPREFIX}" || ! -d "${WINEPREFIX}"/drive_c/windows || ! -d "${WINEPREFIX}/dosdevices" || \ ! -f "${WINEPREFIX}"/userdef.reg || ! -f "${WINEPREFIX}"/system.reg || ! -f "${WINEPREFIX}"/user.reg ]] then @@ -308,14 +315,14 @@ start_portwine () { # export PW_WINE_USE=${PW_PROTON_STEAM_VER} # init_wine_ver check_dirs_and_files_in_pfx - ${pw_runtime} env LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" "${WINELOADER}" wineboot -i &>>"${PORT_WINE_TMP_PATH}/update_pfx_log" + ${pw_runtime} env LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" "${WINELOADER}" wineboot -i &>>"${PORT_WINE_TMP_PATH}/update_pfx_log" wait_wineserver && # export PW_WINE_USE="${OLD_PW_WINE_USE}" # init_wine_ver echo "${PW_WINE_USE}" > "${WINEPREFIX}/.wine_ver" - elif [[ -z "`cat ${WINEPREFIX}/.wine_ver | grep ${PW_WINE_USE}`" ]] ; then + elif [[ -z "`cat "${WINEPREFIX}/.wine_ver" | grep ${PW_WINE_USE}`" ]] ; then check_dirs_and_files_in_pfx - ${pw_runtime} env LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" "${WINELOADER}" wineboot -i &>>"${PORT_WINE_TMP_PATH}/update_pfx_log" + ${pw_runtime} env LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" "${WINELOADER}" wineboot -i &>>"${PORT_WINE_TMP_PATH}/update_pfx_log" wait_wineserver && echo "${PW_WINE_USE}" > "${WINEPREFIX}/.wine_ver" fi @@ -325,26 +332,15 @@ start_portwine () { if [ ! -d "${WINEPREFIX}/drive_c/users/${USER}" ]; then try_force_link_dir "${WINEPREFIX}/drive_c/users/steamuser" "${WINEPREFIX}/drive_c/users/${USER}" fi - [ ! -d "${PORT_WINE_PATH}/drive_c" ] && try_force_link_dir "${PORT_WINE_PATH}/data/pfx/drive_c/" "${PORT_WINE_PATH}/" create_new_dir "${WINEPREFIX}/drive_c/users/Public/Documents/Steam" create_new_dir "${WINEPREFIX}/drive_c/users/steamuser/Documents/Steam" if [ ! -d "${WINEPREFIX}/drive_c/users/steamuser/My Documents" ] then try_force_link_dir "${WINEPREFIX}/drive_c/users/steamuser/Documents" "${WINEPREFIX}/drive_c/users/steamuser/My Documents" fi - #try link Battle Eye libs - try_force_link_file "${PW_PLUGINS_PATH}"/BattlEye_Runtime/v1/lib/wine/fakedlls/beclient.dll "${WINEPREFIX}/drive_c/windows/syswow64/" - try_force_link_file "${PW_PLUGINS_PATH}"/BattlEye_Runtime/v1/lib64/wine/fakedlls/beclient_x64.dll "${WINEPREFIX}/drive_c/windows/system32/" - if [[ ! -d "${WINEDIR}"/lib/wine/i386-unix ]] - then try_force_link_file "${PW_PLUGINS_PATH}"/BattlEye_Runtime/v1/lib/wine/beclient.dll.so "${WINEDIR}"/lib/wine/ - else try_force_link_file "${PW_PLUGINS_PATH}"/BattlEye_Runtime/v1/lib/wine/beclient.dll.so "${WINEDIR}"/lib/wine/i386-unix/ - fi - if [[ ! -d "${WINEDIR}"/lib64/wine/x86_64-unix ]] - then try_force_link_file "${PW_PLUGINS_PATH}"/BattlEye_Runtime/v1/lib64/wine/beclient_x64.dll.so "${WINEDIR}"/lib64/wine/ - else try_force_link_file "${PW_PLUGINS_PATH}"/BattlEye_Runtime/v1/lib64/wine/beclient_x64.dll.so "${WINEDIR}"/lib64/wine/x86_64-unix/ - fi - try_force_link_file "${PW_PLUGINS_PATH}"/BattlEye_Runtime/BEClient.so "${WINEDIR}"/lib - try_force_link_file "${PW_PLUGINS_PATH}"/BattlEye_Runtime/BEClient_x64.so "${WINEDIR}"/lib64 - var_winedlloverride_update "beclient,beclient_x64=b,n" + #enabled BattleEye_Runtime and EasyAntiCheat_Runtime + export PROTON_BATTLEYE_RUNTIME="${PW_PLUGINS_PATH}/d3d_extras/BattlEye_Runtime" + export PROTON_EAC_RUNTIME="${PW_PLUGINS_PATH}/d3d_extras/EasyAntiCheat_Runtime" + var_winedlloverride_update "easyanticheat_x86,easyanticheat_x64,beclient,beclient_x64=b,n" #try link d3d extras libs for d3d_extras_from_plugins in d3dcompiler_33 d3dcompiler_34 d3dcompiler_35 d3dcompiler_36 d3dcompiler_37 \ d3dcompiler_38 d3dcompiler_39 d3dcompiler_40 d3dcompiler_41 d3dcompiler_42 d3dcompiler_43 d3dcompiler_46 \ @@ -469,7 +465,7 @@ start_portwine () { # export PW_WINE_VER="${PW_PROTON_STEAM_VER}" # init_wine_ver # fi - ${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" \ + ${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \ "${PORT_WINE_TMP_PATH}/winetricks" -q -r -f ${PW_DLL_NEED_INSTALL} &>>"${PORT_WINE_TMP_PATH}/update_pfx_log" wait_wineserver kill_portwine @@ -484,7 +480,7 @@ start_portwine () { if [[ ! -z "${PW_WINDOWS_VER}" && `echo "$PW_WINDOWS_VER" | sed 's/.*/\L&/'` == "xp" ]] ; then export PW_WINDOWS_VER="xp64" fi - ${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" \ + ${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \ "${WINELOADER}" winecfg -v `echo "win${PW_WINDOWS_VER}" | sed 's/.*/\L&/'` wait_wineserver kill_portwine @@ -507,25 +503,25 @@ pw_run () { pw_mangohud_check PW_LOG_TO_FILE="${PORT_WINE_PATH}/${portname}.log" print_var "WINEDIR" "WINEPREFIX" "WINEDLLOVERRIDES" "PATH_TO_GAME" "PW_WINE_USE" "PW_VULKAN_USE" "VKD3D_CONFIG" \ - "LD_LIBRARY_PATH" "PATH" "WINEESYNC" "WINEFSYNC" "WINEFSYNC_FUTEX2" + "PW_LD_LIBRARY_PATH" "PATH" "WINEESYNC" "WINEFSYNC" "WINEFSYNC_FUTEX2" if [ "${PW_LOG}" == 1 ] ; then echo "WINEDLLOVERRIDES=${WINEDLLOVERRIDES}" >> "${PW_LOG_TO_FILE}" echo "------------------------------------" >> "${PW_LOG_TO_FILE}" echo "Log WINE:" >> "${PW_LOG_TO_FILE}" if [[ ! -z "${PW_GAMEMODERUN}" && "${PW_GAMEMODERUN}" != 0 ]] ; then ${optirun_on} ${pw_runtime} env LD_PRELOAD="${PW_LD_PRELOAD}" VK_LAYER_PATH="${VK_LAYER_PATH}" PATH="${PATH}" \ - LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" ${RUN_MANGOHUD_IN_SLR} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} &>>"${PW_LOG_TO_FILE}" + LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" ${RUN_MANGOHUD_IN_SLR} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} &>>"${PW_LOG_TO_FILE}" else - ${optirun_on} ${pw_runtime} env VK_LAYER_PATH="${VK_LAYER_PATH}" PATH="${PATH}" LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" \ + ${optirun_on} ${pw_runtime} env VK_LAYER_PATH="${VK_LAYER_PATH}" PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \ ${RUN_MANGOHUD_IN_SLR} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} &>>"${PW_LOG_TO_FILE}" fi else [ "${PW_USE_TERMINAL}" != "1" ] && export PW_TERM="" if [[ ! -z "${PW_GAMEMODERUN}" && "${PW_GAMEMODERUN}" != 0 ]] ; then $PW_TERM ${optirun_on} ${pw_runtime} env LD_PRELOAD="${PW_LD_PRELOAD}" VK_LAYER_PATH="${VK_LAYER_PATH}" PATH="${PATH}" \ - LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" ${RUN_MANGOHUD_IN_SLR} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} + LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" ${RUN_MANGOHUD_IN_SLR} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} else - $PW_TERM ${optirun_on} ${pw_runtime} env VK_LAYER_PATH="${VK_LAYER_PATH}" PATH="${PATH}" LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" \ + $PW_TERM ${optirun_on} ${pw_runtime} env VK_LAYER_PATH="${VK_LAYER_PATH}" PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \ ${RUN_MANGOHUD_IN_SLR} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} fi fi @@ -546,6 +542,8 @@ fi unset MANGOHUD MANGOHUD_DLSYM PW_NO_ESYNC PW_NO_FSYNC PW_VULKAN_USE WINEDLLOVERRIDES PW_NO_WRITE_WATCH PW_YAD_SET PW_ICON_FOR_YAD unset PW_CHECK_AUTOINSTAL PW_VKBASALT_EFFECTS PW_VKBASALT_FFX_CAS PORTWINE_DB PORTWINE_DB_FILE PW_DISABLED_CREATE_DB unset CHK_SYMLINK_FILE MESA_GL_VERSION_OVERRIDE PATH_TO_GAME PW_START_DEBUG PORTPROTON_NAME PORTWINE_CREATE_SHORTCUT_NAME +unset PW_PREFIX_NAME WINEPREFIX VULKAN_MOD PW_WINE_VER + export portname=PortProton cd "$(dirname "`readlink -f "$0"`")" && export PORT_SCRIPTS_PATH="$(pwd)" @@ -553,19 +551,60 @@ cd "${PORT_SCRIPTS_PATH}/../../" && export PORT_WINE_PATH="$(pwd)" export PORT_WINE_TMP_PATH="${PORT_WINE_PATH}/data/tmp" rm -f "${PORT_WINE_TMP_PATH}"/*.tar.* -if [ -d "${PORT_WINE_PATH}/data/dist" ] ; then +if [[ -d "${PORT_WINE_PATH}/data/dist" ]] ; then chmod -R 755 "${PORT_WINE_PATH}/data/dist" orig_IFS="$IFS" IFS=$'\n' for dist_dir in $(ls -1 "${PORT_WINE_PATH}/data/dist/") ; do dist_dir_new=`echo "${dist_dir}" | awk '$1=$1' | sed -e s/[[:blank:]]/_/g` - if [ ! -d "${PORT_WINE_PATH}/data/dist/${dist_dir_new^^}" ] ; then + if [[ ! -d "${PORT_WINE_PATH}/data/dist/${dist_dir_new^^}" ]] ; then mv -- "${PORT_WINE_PATH}/data/dist/$dist_dir" "${PORT_WINE_PATH}/data/dist/${dist_dir_new^^}" fi done IFS="$orig_IFS" fi +create_new_dir "${PORT_WINE_PATH}/data/prefixes" +try_force_link_dir "${PORT_WINE_PATH}/data/prefixes" "${PORT_WINE_PATH}" +if [[ -d "${PORT_WINE_PATH}/data/pfx" ]] ; then + mv -f "${PORT_WINE_PATH}/data/pfx" "${PORT_WINE_PATH}/data/prefixes/DEFAULT" + orig_IFS="$IFS" + IFS=$'\n' + for change_path in `grep -il "/data/pfx/" "${HOME}/.local/share/applications"/*.desktop` ; do + sed -i 's%/data/pfx/%/data/prefixes/DEFAULT/%g' "${change_path}" + done + for change_path in `grep -il "/data/pfx/" "${PORT_WINE_PATH}"/*.desktop` ; do + sed -i 's%/data/pfx/%/data/prefixes/DEFAULT/%g' "${change_path}" + done + IFS="$orig_IFS" + rm -f "${PORT_WINE_PATH}/drive_c" +fi + +if [[ -d "${PORT_WINE_PATH}/data/pfx_dotnet" ]] ; then + mv -f "${PORT_WINE_PATH}/data/pfx_dotnet" "${PORT_WINE_PATH}/data/prefixes/DOTNET" + orig_IFS="$IFS" + IFS=$'\n' + for change_path in `grep -il "/data/pfx_dotnet/" "${HOME}/.local/share/applications"/*.desktop` ; do + sed -i 's%/data/pfx_dotnet/%/data/prefixes/DOTNET/%g' "${change_path}" + done + for change_path in `grep -il "/data/pfx_dotnet/" "${PORT_WINE_PATH}"/*.desktop` ; do + sed -i 's%/data/pfx_dotnet/%/data/prefixes/DOTNET/%g' "${change_path}" + done + IFS="$orig_IFS" +fi +create_new_dir "${PORT_WINE_PATH}/data/prefixes/DOTNET" + + +orig_IFS="$IFS" +IFS=$'\n' +for pfx_dir in $(ls -1 "${PORT_WINE_PATH}/data/prefixes/") ; do + pfx_dir_new=`echo "${pfx_dir}" | awk '$1=$1' | sed -e s/[[:blank:]]/_/g` + if [[ ! -d "${PORT_WINE_PATH}/data/prefixes/${pfx_dir_new^^}" ]] ; then + mv -- "${PORT_WINE_PATH}/data/prefixes/$pfx_dir" "${PORT_WINE_PATH}/data/prefixes/${pfx_dir_new^^}" + fi +done +IFS="$orig_IFS" + create_new_dir "${PORT_WINE_TMP_PATH}"/gecko create_new_dir "${PORT_WINE_TMP_PATH}"/mono diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh index a9b9c3cb0c1869268ade6242e51b0508b8bf3a7f..b122ef94c0208f90a3fc3424864802ca9e3cf82b 100755 --- a/data_from_portwine/scripts/start.sh +++ b/data_from_portwine/scripts/start.sh @@ -52,7 +52,7 @@ portwine_create_shortcut () { chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop" `zenity --question --title "${inst_set}." --text "${ss_done}" --no-wrap ` &> /dev/null if [ $? -eq "0" ]; then - cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" ${HOME}/.local/share/applications/ + cp -fu "${PORT_WINE_PATH}/${name_desktop}.desktop" ${HOME}/.local/share/applications/ fi xdg-open "${PORT_WINE_PATH}" 2>1 >/dev/null & } @@ -62,7 +62,6 @@ portwine_delete_shortcut () { rm -f "`grep -il "${portwine_exe}" "${PORT_WINE_PATH}"/*.desktop`" } - portwine_start_debug () { kill_portwine export PW_LOG=1 @@ -126,7 +125,7 @@ portwine_start_debug () { echo "Graphic cards and drivers:" >> "${PORT_WINE_PATH}/${portname}.log" echo 'lspci | grep -i vga:' >> "${PORT_WINE_PATH}/${portname}.log" echo `lspci | grep -i vga` >> "${PORT_WINE_PATH}/${portname}.log" - env LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${PW_WINELIB}/portable/lib/\$LIB" "${PW_WINELIB}/portable/bin/glxinfo" -B >> "${PORT_WINE_PATH}/${portname}.log" + env LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" "${PW_WINELIB}/portable/bin/glxinfo" -B >> "${PORT_WINE_PATH}/${portname}.log" echo " " >> "${PORT_WINE_PATH}/${portname}.log" echo "inxi -G:" >> "${PORT_WINE_PATH}/${portname}.log" env LANG=C "${PW_WINELIB}/portable/bin/inxi" -G >> "${PORT_WINE_PATH}/${portname}.log" @@ -146,7 +145,7 @@ portwine_start_debug () { fi echo "-------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" echo "winetricks.log:" >> "${PORT_WINE_PATH}/${portname}.log" - cat "${WINEPREFIX}/winetricks.log" >> "${PORT_WINE_PATH}/${portname}.log" + cat "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" >> "${PORT_WINE_PATH}/${portname}.log" echo "------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" if [ ! -z "${PORTWINE_DB_FILE}" ]; then echo "Use ${PORTWINE_DB_FILE} db file:" >> "${PORT_WINE_PATH}/${portname}.log" @@ -211,7 +210,7 @@ pw_winecmd () { export PW_USE_TERMINAL=1 start_portwine cd "${WINEPREFIX}/drive_c" - ${pw_runtime} env LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" xterm -e "${WINELOADER}" cmd + ${pw_runtime} env LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" xterm -e "${WINELOADER}" cmd stop_portwine } @@ -259,7 +258,7 @@ pw_edit_db () { } pw_autoinstall_from_db () { - export PW_USER_TEMP="$WINEPREFIX/drive_c" + export PW_USER_TEMP="${PORT_WINE_TMP_PATH}" export PW_FORCE_LARGE_ADDRESS_AWARE=0 export PW_USE_GAMEMODE=0 export PW_CHECK_AUTOINSTAL=1 @@ -277,6 +276,23 @@ pw_autoinstall_from_db () { } ###MAIN### +export PW_PREFIX_NAME="`echo "${PW_PREFIX_NAME}" | sed -e s/[[:blank:]]/_/g`" +PW_ALL_PREFIXES=`ls "${PORT_WINE_PATH}/data/prefixes/" | sed -e s/"${PW_PREFIX_NAME}$"//g` + +# if [[ ! -z "${PORTWINE_DB}" ]] && [[ -z `echo "${PW_PREFIX_NAME}" | grep -i "$(echo "${PORTWINE_DB}" | sed -e s/[[:blank:]]/_/g)"` ]] ; then +# export PW_PREFIX_NAME="${PW_PREFIX_NAME}!`echo "${PORTWINE_DB}" | sed -e s/[[:blank:]]/_/g`" +# fi + +unset PW_ADD_PREFIXES_TO_GUI +IFS_OLD=$IFS +IFS=$'\n' +for PAIG in ${PW_ALL_PREFIXES[*]} ; do + [[ "${PAIG}" != `echo "${PORTWINE_DB^^}" | sed -e s/[[:blank:]]/_/g` ]] && \ + export PW_ADD_PREFIXES_TO_GUI="${PW_ADD_PREFIXES_TO_GUI}!${PAIG}" +done +IFS=$IFS_OLD +export PW_ADD_PREFIXES_TO_GUI="${PW_PREFIX_NAME^^}${PW_ADD_PREFIXES_TO_GUI}" + PW_ALL_DIST=`ls "${PORT_WINE_PATH}/data/dist/" | sed -e s/"${PW_PROTON_GE_VER}$//g" | sed -e s/"${PW_PROTON_STEAM_VER}$//g"` unset DIST_ADD_TO_GUI for DAIG in ${PW_ALL_DIST} @@ -340,6 +356,7 @@ if [ ! -z "${portwine_exe}" ]; then --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ --field="3D API : :CB" "${PW_DEFAULT_VULKAN_USE}" \ --field=" WINE : :CB" "${PW_DEFAULT_WINE_USE}" \ + --field="PREFIX : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \ --field=":LBL" "" \ --button='VKBASALT'!!"${ENABLE_VKBASALT_INFO}":120 \ --button='EDIT DB'!!"${loc_edit_db} ${PORTWINE_DB}":118 \ @@ -350,13 +367,19 @@ if [ ! -z "${portwine_exe}" ]; then if [[ "$PW_YAD_SET" == "1" || "$PW_YAD_SET" == "252" ]] ; then exit 0 ; fi export VULKAN_MOD=`echo "${OUTPUT_START}" | grep \;\; | awk -F";" '{print $1}'` export PW_WINE_VER=`echo "${OUTPUT_START}" | grep \;\; | awk -F";" '{print $2}'` + export PW_PREFIX_NAME=`echo "${OUTPUT_START}" | grep \;\; | awk -F";" '{print $3}' | sed -e s/[[:blank:]]/_/g` + if [[ -z "${PW_PREFIX_NAME}" ]] || [[ ! -z "`echo "${PW_PREFIX_NAME}" | grep -E '^_.*' `" ]] ; then + export PW_PREFIX_NAME="DEFAULT" + else + export PW_PREFIX_NAME="${PW_PREFIX_NAME^^}" + fi elif [ ! -z "${PORTWINE_DB_FILE}" ]; then portwine_launch fi else button_click () { [ ! -z "$1" ] && echo "$1" > "${PORT_WINE_TMP_PATH}/tmp_yad_form" - if [ ! -z `pidof -s yad` ] ; then + if [ ! -z `pidof -s yad` ] || [ ! -z `pidof -s yad_new` ] ; then kill -s SIGUSR1 `pgrep -a yad | grep "\-\-key=${KEY} \-\-notebook" | awk '{print $1}'` > /dev/null 2>&1 fi } @@ -395,72 +418,65 @@ else } export -f gui_wine_uninstaller - gui_open_var () { - xdg-open "${PORT_SCRIPTS_PATH}/var" + gui_open_user_conf () { + xdg-open "${PORT_WINE_PATH}/data/user.conf" } - export -f gui_open_var + export -f gui_open_user_conf export KEY=$RANDOM - "${pw_yad}" --plug=$KEY --tabnum=4 --form --columns=2 \ - --field="CLEAR PREFIX":"BTN" '@bash -c "button_click gui_clear_pfx"' \ - --field="EDIT SCRIPT VAR":"BTN" '@bash -c "button_click gui_open_var"' \ - --field="WINE UNINSTALLER":"BTN" '@bash -c "button_click gui_wine_uninstaller"' \ - --field="UPDATE PORTPROTON":"BTN" '@bash -c "button_click gui_pw_update"' \ - --field="REMOVE PORTPROTON":"BTN" '@bash -c "button_click gui_rm_portproton"' \ - --field="CHANGELOG":"BTN" '@bash -c "button_click open_changelog"' & - - "${pw_yad}" --plug=$KEY --tabnum=3 --form --columns=3 --scroll --height=500 \ - --field=" Dolphin 5.0"!"$PW_GUI_ICON_PATH/dolphin.png":"BTN" '@bash -c "button_click PW_DOLPHIN"' \ - --field=" MAME"!"$PW_GUI_ICON_PATH/mame.png":"BTN" '@bash -c "button_click PW_MAME"' \ - --field=" ScummVM"!"$PW_GUI_ICON_PATH/scummvm.png":"BTN" '@bash -c "button_click PW_SCUMMVM"' \ - --field=" RetroArch"!"$PW_GUI_ICON_PATH/retroarch.png":"BTN" '@bash -c "button_click PW_RETROARCH"' \ - --field=" PPSSPP Windows"!"$PW_GUI_ICON_PATH/ppsspp.png":"BTN" '@bash -c "button_click PW_PPSSPP"' \ - --field=" Citra"!"$PW_GUI_ICON_PATH/citra.png":"BTN" '@bash -c "button_click PW_CITRA"' \ - --field=" Cemu"!"$PW_GUI_ICON_PATH/cemu.png":"BTN" '@bash -c "button_click PW_CEMU"' \ - --field=" DuckStation"!"$PW_GUI_ICON_PATH/duckstation.png":"BTN" '@bash -c "button_click PW_DUCKSTATION"' \ - --field=" ePSXe"!"$PW_GUI_ICON_PATH/epsxe.png":"BTN" '@bash -c "button_click PW_EPSXE"' \ - --field=" Project64"!"$PW_GUI_ICON_PATH/project64.png":"BTN" '@bash -c "button_click PW_PROJECT64"' \ - --field=" VBA-M"!"$PW_GUI_ICON_PATH/vba-m.png":"BTN" '@bash -c "button_click PW_VBA-M"' \ - --field=" Yabause"!"$PW_GUI_ICON_PATH/yabause.png":"BTN" '@bash -c "button_click PW_YABAUSE"' & - - "${pw_yad}" --plug=$KEY --tabnum=2 --form --columns=3 --scroll --height=500 \ - --field=" Wargaming Game Center"!"$PW_GUI_ICON_PATH/wgc.png":"BTN" '@bash -c "button_click PW_WGC"' \ - --field=" Battle.net Launcher"!"$PW_GUI_ICON_PATH/battle_net.png":"BTN" '@bash -c "button_click PW_BATTLE_NET"' \ - --field=" Epic Games Launcher"!"$PW_GUI_ICON_PATH/epicgames.png":"BTN" '@bash -c "button_click PW_EPIC"' \ - --field=" GoG Galaxy Launcher"!"$PW_GUI_ICON_PATH/gog.png":"BTN" '@bash -c "button_click PW_GOG"' \ - --field=" Ubisoft Game Launcher"!"$PW_GUI_ICON_PATH/ubc.png":"BTN" '@bash -c "button_click PW_UBC"' \ - --field=" Steam Client Launcher"!"$PW_GUI_ICON_PATH/steam.png":"BTN" '@bash -c "button_click PW_STEAM"' \ - --field=" EVE Online Launcher"!"$PW_GUI_ICON_PATH/eve.png":"BTN" '@bash -c "button_click PW_EVE"' \ - --field=" Origin Launcher"!"$PW_GUI_ICON_PATH/origin.png":"BTN" '@bash -c "button_click PW_ORIGIN"' \ - --field=" Bethesda.net Launcher"!"$PW_GUI_ICON_PATH/bethesda.png":"BTN" '@bash -c "button_click PW_BETHESDA"' \ - --field=" Rockstar Games Launcher"!"$PW_GUI_ICON_PATH/Rockstar.png":"BTN" '@bash -c "button_click PW_ROCKSTAR"' \ - --field=" My.Games Launcher"!"$PW_GUI_ICON_PATH/mygames.png":"BTN" '@bash -c "button_click PW_MYGAMES"' \ - --field=" OSU"!"$PW_GUI_ICON_PATH/osu.png":"BTN" '@bash -c "button_click PW_OSU"' \ - --field=" Ankama Launcher"!"$PW_GUI_ICON_PATH/ankama.png":"BTN" '@bash -c "button_click PW_ANKAMA"' \ - --field=" League of Legends"!"$PW_GUI_ICON_PATH/lol.png":"BTN" '@bash -c "button_click PW_LOL"' \ - --field=" Gameforge Client"!"$PW_GUI_ICON_PATH/gameforge.png":"BTN" '@bash -c "button_click PW_GAMEFORGE"' \ - --field=" ITCH.IO"!"$PW_GUI_ICON_PATH/itch.png":"BTN" '@bash -c "button_click PW_ITCH"' & - - # --field=" Glyph Client"!"$PW_GUI_ICON_PATH/glyph.png":"BTN" '@bash -c "button_click PW_GLYPH"' \ - - "${pw_yad}" --plug=${KEY} --tabnum=1 --columns=3 --form --separator=";" \ - --image "$PW_GUI_ICON_PATH/port_proton.png" \ - --field=":CB" "VULKAN (DXVK and VKD3D)!VULKAN (WINE DXGI)!OPENGL" \ - --field=":LBL" "" \ - --field='DEBUG'!!"${loc_debug}":"BTN" '@bash -c "button_click DEBUG"' \ - --field='WINECFG'!!"${loc_winecfg}":"BTN" '@bash -c "button_click WINECFG"' \ - --field=":CB" "${PW_DEFAULT_WINE_USE}" \ - --field=":LBL" "" \ - --field='WINEFILE'!!"${loc_winefile}":"BTN" '@bash -c "button_click WINEFILE"' \ - --field='WINECMD'!!"${loc_winecmd}":"BTN" '@bash -c "button_click WINECMD"' \ - --field="GET OTHER WINE"!!"":"FBTN" '@bash -c "button_click gui_proton_downloader"' \ - --field=":LBL" "" \ - --field='WINEREG'!!"${loc_winereg}":"BTN" '@bash -c "button_click WINEREG"' \ - --field='WINETRICKS'!!"${loc_winetricks}":"BTN" '@bash -c "button_click WINETRICKS"' &> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" & - - "${pw_yad}" --key=$KEY --notebook --borders=3 --width=1000 --height=168 --no-buttons --text-align=center \ - --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "${portname}-${install_ver} (${scripts_install_ver})" --separator=";" \ - --tab-pos=right --tab="PORT_PROTON" --tab="AUTOINSTALL" --tab=" EMULATORS" --tab=" SETTINGS" --center + "${pw_yad_new}" --plug=${KEY} --tabnum=3 --columns=4 --align-buttons --form --separator=";" \ + --field=" 3D API : :CB" "VULKAN (DXVK and VKD3D)!VULKAN (WINE DXGI)!OPENGL" \ + --field=" PREFIX : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \ + --field=" WINE : :CB" "${PW_DEFAULT_WINE_USE}" \ + --field=" DOWNLOAD OTHER WINE "!"${loc_download_other_wine}":"FBTN" '@bash -c "button_click gui_proton_downloader"' \ + --field=' DEBUG'!""!"${loc_debug}":"FBTN" '@bash -c "button_click DEBUG"' \ + --field=' WINECFG'!""!"${loc_winecfg}":"FBTN" '@bash -c "button_click WINECFG"' \ + --field=' WINEFILE'!""!"${loc_winefile}":"FBTN" '@bash -c "button_click WINEFILE"' \ + --field=' WINECMD'!""!"${loc_winecmd}":"FBTN" '@bash -c "button_click WINECMD"' \ + --field=' WINEREG'!""!"${loc_winereg}":"FBTN" '@bash -c "button_click WINEREG"' \ + --field=' WINETRICKS'!""!"${loc_winetricks}":"FBTN" '@bash -c "button_click WINETRICKS"' \ + --field=" WINE UNINSTALLER"!""!"":"FBTN" '@bash -c "button_click gui_wine_uninstaller"' \ + --field=" CLEAR PREFIX"!""!"":"FBTN" '@bash -c "button_click gui_clear_pfx"' \ + --field=" EDIT USER.CONF"!""!"":"FBTN" '@bash -c "button_click gui_open_user_conf"' \ + --field=" REMOVE PORTPROTON"!""!"":"FBTN" '@bash -c "button_click gui_rm_portproton"' \ + --field=" UPDATE PORTPROTON"!""!"":"FBTN" '@bash -c "button_click gui_pw_update"' \ + --field=" CHANGELOG"!""!"":"FBTN" '@bash -c "button_click open_changelog"' &> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" & + + "${pw_yad_new}" --plug=$KEY --tabnum=2 --form --columns=3 --align-buttons --keep-icon-size --scroll \ + --field=" Dolphin 5.0"!"$PW_GUI_ICON_PATH/dolphin.png"!"":"FBTN" '@bash -c "button_click PW_DOLPHIN"' \ + --field=" MAME"!"$PW_GUI_ICON_PATH/mame.png"!"":"FBTN" '@bash -c "button_click PW_MAME"' \ + --field=" ScummVM"!"$PW_GUI_ICON_PATH/scummvm.png"!"":"FBTN" '@bash -c "button_click PW_SCUMMVM"' \ + --field=" RetroArch"!"$PW_GUI_ICON_PATH/retroarch.png"!"":"FBTN" '@bash -c "button_click PW_RETROARCH"' \ + --field=" PPSSPP Windows"!"$PW_GUI_ICON_PATH/ppsspp.png"!"":"FBTN" '@bash -c "button_click PW_PPSSPP"' \ + --field=" Citra"!"$PW_GUI_ICON_PATH/citra.png"!"":"FBTN" '@bash -c "button_click PW_CITRA"' \ + --field=" Cemu"!"$PW_GUI_ICON_PATH/cemu.png"!"":"FBTN" '@bash -c "button_click PW_CEMU"' \ + --field=" DuckStation"!"$PW_GUI_ICON_PATH/duckstation.png"!"":"FBTN" '@bash -c "button_click PW_DUCKSTATION"' \ + --field=" ePSXe"!"$PW_GUI_ICON_PATH/epsxe.png"!"":"FBTN" '@bash -c "button_click PW_EPSXE"' \ + --field=" Project64"!"$PW_GUI_ICON_PATH/project64.png"!"":"FBTN" '@bash -c "button_click PW_PROJECT64"' \ + --field=" VBA-M"!"$PW_GUI_ICON_PATH/vba-m.png"!"":"FBTN" '@bash -c "button_click PW_VBA-M"' \ + --field=" Yabause"!"$PW_GUI_ICON_PATH/yabause.png"!"":"FBTN" '@bash -c "button_click PW_YABAUSE"' & + + "${pw_yad_new}" --plug=$KEY --tabnum=1 --form --columns=3 --align-buttons --keep-icon-size --scroll \ + --field=" Wargaming Game Center"!"$PW_GUI_ICON_PATH/wgc.png"!"":"FBTN" '@bash -c "button_click PW_WGC"' \ + --field=" Battle.net Launcher"!"$PW_GUI_ICON_PATH/battle_net.png"!"":"FBTN" '@bash -c "button_click PW_BATTLE_NET"' \ + --field=" Epic Games Launcher"!"$PW_GUI_ICON_PATH/epicgames.png"!"":"FBTN" '@bash -c "button_click PW_EPIC"' \ + --field=" GoG Galaxy Launcher"!"$PW_GUI_ICON_PATH/gog.png"!"":"FBTN" '@bash -c "button_click PW_GOG"' \ + --field=" Ubisoft Game Launcher"!"$PW_GUI_ICON_PATH/ubc.png"!"":"FBTN" '@bash -c "button_click PW_UBC"' \ + --field=" Steam Client Launcher"!"$PW_GUI_ICON_PATH/steam.png"!"":"FBTN" '@bash -c "button_click PW_STEAM"' \ + --field=" EVE Online Launcher"!"$PW_GUI_ICON_PATH/eve.png"!"":"FBTN" '@bash -c "button_click PW_EVE"' \ + --field=" Origin Launcher"!"$PW_GUI_ICON_PATH/origin.png"!"":"FBTN" '@bash -c "button_click PW_ORIGIN"' \ + --field=" Bethesda.net Launcher"!"$PW_GUI_ICON_PATH/bethesda.png"!"":"FBTN" '@bash -c "button_click PW_BETHESDA"' \ + --field=" Rockstar Games Launcher"!"$PW_GUI_ICON_PATH/Rockstar.png"!"":"FBTN" '@bash -c "button_click PW_ROCKSTAR"' \ + --field=" My.Games Launcher"!"$PW_GUI_ICON_PATH/mygames.png"!"":"FBTN" '@bash -c "button_click PW_MYGAMES"' \ + --field=" OSU"!"$PW_GUI_ICON_PATH/osu.png"!"":"FBTN" '@bash -c "button_click PW_OSU"' \ + --field=" Ankama Launcher"!"$PW_GUI_ICON_PATH/ankama.png"!"":"FBTN" '@bash -c "button_click PW_ANKAMA"' \ + --field=" League of Legends"!"$PW_GUI_ICON_PATH/lol.png"!"":"FBTN" '@bash -c "button_click PW_LOL"' \ + --field=" Gameforge Client"!"$PW_GUI_ICON_PATH/gameforge.png"!"":"FBTN" '@bash -c "button_click PW_GAMEFORGE"' \ + --field=" ITCH.IO"!"$PW_GUI_ICON_PATH/itch.png"!"":"FBTN" '@bash -c "button_click PW_ITCH"' & + + "${pw_yad_new}" --key=$KEY --notebook --borders=5 --width=1000 --height=235 --no-buttons --auto-close \ + --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "${portname}-${install_ver} (${scripts_install_ver})" \ + --tab-pos=bottom --tab="AUTOINSTALL"!""!"" --tab="EMULATORS"!""!"" --tab="SETTINGS"!""!"" --center YAD_STATUS="$?" if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi @@ -469,11 +485,17 @@ else try_remove_file "${PORT_WINE_TMP_PATH}/tmp_yad_form" fi if [ -f "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" ] ; then - cat "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" export VULKAN_MOD=`cat "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | grep \;\; | awk -F";" '{print $1}'` - export PW_WINE_VER=`cat "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | grep \;\; | awk -F";" '{print $5}'` + export PW_PREFIX_NAME=`cat "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | grep \;\; | awk -F";" '{print $2}' | sed -e "s/[[:blank:]]/_/g" ` + export PW_WINE_VER=`cat "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | grep \;\; | awk -F";" '{print $3}'` + if [[ -z "${PW_PREFIX_NAME}" ]] || [[ ! -z "`echo "${PW_PREFIX_NAME}" | grep -E '^_.*' `" ]] ; then + export PW_PREFIX_NAME="DEFAULT" + else + export PW_PREFIX_NAME="${PW_PREFIX_NAME^^}" + fi try_remove_file "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" fi + export PW_DISABLED_CREATE_DB=1 fi if [[ ! -z "${VULKAN_MOD}" && "${VULKAN_MOD}" = "OPENGL" ]] @@ -486,21 +508,21 @@ fi init_wine_ver -if [ -z "${PW_DISABLED_CREATE_DB}" ] ; then - if [ ! -z "${PORTWINE_DB}" ] ; then +if [[ -z "${PW_DISABLED_CREATE_DB}" ]] ; then + if [[ ! -z "${PORTWINE_DB}" ]] && [[ -z "${PORTWINE_DB_FILE}" ]] ; then PORTWINE_DB_FILE=`grep -il "\#${PORTWINE_DB}.exe" "${PORT_SCRIPTS_PATH}/portwine_db"/*` - if [ -z "${PORTWINE_DB_FILE}" ] ; then - echo "#!/usr/bin/env bash" > "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB" - echo "#Author: "${USER}"" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB" - echo "#"${PORTWINE_DB}.exe"" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB" - echo "#Rating=1-5" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB" - cat "${PORT_SCRIPTS_PATH}/portwine_db/default" | grep "##" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB" - export PORTWINE_DB_FILE="${PORT_SCRIPTS_PATH}/portwine_db/${PORTWINE_DB}" + if [[ -z "${PORTWINE_DB_FILE}" ]] ; then + echo "#!/usr/bin/env bash" > "${portwine_exe}".ppdb + echo "#Author: "${USER}"" >> "${portwine_exe}".ppdb + echo "#"${PORTWINE_DB}.exe"" >> "${portwine_exe}".ppdb + echo "#Rating=1-5" >> "${portwine_exe}".ppdb + cat "${PORT_SCRIPTS_PATH}/portwine_db/default" | grep "##" >> "${portwine_exe}".ppdb + export PORTWINE_DB_FILE="${portwine_exe}".ppdb fi - edit_db_from_gui PW_VULKAN_USE PW_WINE_USE fi + edit_db_from_gui PW_VULKAN_USE PW_WINE_USE PW_PREFIX_NAME fi -echo "PW_YAD_SET=$PW_YAD_SET" + case "$PW_YAD_SET" in 1|252) exit 0 ;; 98) portwine_delete_shortcut ;; @@ -514,7 +536,7 @@ case "$PW_YAD_SET" in WINETRICKS|116) pw_winetricks ;; 118) pw_edit_db ;; gui_clear_pfx) gui_clear_pfx ;; - gui_open_var) gui_open_var ;; + gui_open_user_conf) gui_open_user_conf ;; gui_wine_uninstaller) gui_wine_uninstaller ;; gui_rm_portproton) gui_rm_portproton ;; gui_pw_update) gui_pw_update ;; diff --git a/data_from_portwine/scripts/var b/data_from_portwine/scripts/var index 3c5dee498120b0e62430034175632cb1911b1224..ec9e60141219c8ada2fc57209cfeec41c0f47d74 100755 --- a/data_from_portwine/scripts/var +++ b/data_from_portwine/scripts/var @@ -1,6 +1,6 @@ #!/bin/env bash #Author: Castro-Fidel (PortWINE-Linux.ru) -#SCRIPTS_NEXT_VERSION=2085 +#SCRIPTS_NEXT_VERSION=2089 #PORT_NEXT_VERSION=97 ######################################################################## export PW_MANGOHUD=1 @@ -19,21 +19,20 @@ export PW_FORCE_USE_VSYNC=2 export PW_LOG=0 export PW_TERM="" export PW_USE_TERMINAL=0 -export PW_MUST_HAVE_DLL="physx mfc42 vcrun2019" export PW_WINEDBG_DISABLE=1 export PW_WINDOWS_VER="10" export WINEARCH="win64" -export PW_LIBS_VER="_v21" +export PW_LIBS_VER="_v22.2" export PORTWINE_URL="http://portwine-linux.ru/" export GDK_BACKEND="x11" export PW_USE_GSTREAMER="1" -export WINEPREFIX="${PORT_WINE_PATH}/data/pfx" +export PW_PREFIX_NAME="DEFAULT" export WINE_WIN_START="start.exe /i /unix" ###DEFAULT_WINE### export PW_WINE_USE=PROTON_GE -export PW_PLUGINS_VER="_v2" +export PW_PLUGINS_VER="_v3" ###WINE_PROTON_STEAM### -export PW_STEAM_VER="6.3-8C_PW2" +export PW_STEAM_VER="7.0-1" export PW_PROTON_STEAM_VER="PROTON_STEAM_${PW_STEAM_VER}" ###WINE_PROTON_GE### export PW_GE_VER="7.1-2" @@ -41,33 +40,41 @@ export PW_PROTON_GE_VER="PROTON_GE_${PW_GE_VER}" export WINE_FULLSCREEN_FSR="1" export WINE_FULLSCREEN_FSR_STRENGTH="2" ################################################################# +pw_install_dll_in_prefix () +{ + case $PW_PREFIX_NAME in + DEFAULT) export PW_MUST_HAVE_DLL="physx mfc42 vcrun2019" ;; + DOTNET) export PW_MUST_HAVE_DLL="physx mfc42 vcrun2019 dotnet20sp2 dotnet48" ;; + *) export PW_MUST_HAVE_DLL="" ;; + esac +} add_in_start_portwine () { -echo " " + echo " " } ######################################################################## add_in_stop_portwine () { -echo " " + echo " " } ######################################################################## pw_other_fixes () { -if [[ -f "${WINEPREFIX}/system.reg" ]] ; then -#fix after installation Origin, for disabled OriginWebHelperService by default - if [[ ! -z `cat "${WINEPREFIX}/system.reg" | grep -wm 1 "Origin.exe" | awk '{print $1}'` ]] ; then - sysreg_norig=$(((`cat -n "${WINEPREFIX}/system.reg" | grep OriginWebHelperService | awk '{print $1}'` + 3))) - sed -i "${sysreg_norig}s/dword:0000000[1-2]/dword:00000003/" "${WINEPREFIX}/system.reg" - fi - #fix after installation PnkBstr*, for disabled PnkBstr* by default - for fix_reg in "PnkBstrA.exe" "PnkBstrB.exe" ; do - if [[ ! -z `cat "${WINEPREFIX}/system.reg" | grep -wm 1 "${fix_reg}" | awk '{print $1}'` ]] ; then - sysreg_norig=$(((`cat -n "${WINEPREFIX}/system.reg" | grep "${fix_reg}" | awk '{print $1}'` + 3))) - sed -i "${sysreg_norig}s/dword:0000000[1-2]/dword:00000003/" "${WINEPREFIX}/system.reg" + if [[ -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg" ]] ; then + #fix after installation Origin, for disabled OriginWebHelperService by default + if [[ ! -z `cat "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg" | grep -wm 1 "Origin.exe" | awk '{print $1}'` ]] ; then + sysreg_norig=$(((`cat -n "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg" | grep OriginWebHelperService | awk '{print $1}'` + 3))) + sed -i "${sysreg_norig}s/dword:0000000[1-2]/dword:00000003/" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg" fi - done -fi -#disabled silent autostart steam -if [[ -f "${WINEPREFIX}/user.reg" ]] ; then - sed -i '/steam.exe\\" -silent"/d' "${WINEPREFIX}/user.reg" -fi + #fix after installation PnkBstr*, for disabled PnkBstr* by default + for fix_reg in "PnkBstrA.exe" "PnkBstrB.exe" ; do + if [[ ! -z `cat "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg" | grep -wm 1 "${fix_reg}" | awk '{print $1}'` ]] ; then + sysreg_norig=$(((`cat -n "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg" | grep "${fix_reg}" | awk '{print $1}'` + 3))) + sed -i "${sysreg_norig}s/dword:0000000[1-2]/dword:00000003/" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg" + fi + done + fi + #disabled silent autostart steam + if [[ -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/user.reg" ]] ; then + sed -i '/steam.exe\\" -silent"/d' "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/user.reg" + fi } diff --git a/data_from_portwine/scripts/zen_yad_gui b/data_from_portwine/scripts/zen_yad_gui index 615343209d241793db43e4894f12505f207f3792..078d672f1425ce698f91d383d8780957482fc3e9 100644 --- a/data_from_portwine/scripts/zen_yad_gui +++ b/data_from_portwine/scripts/zen_yad_gui @@ -85,7 +85,8 @@ pw_start_progress_bar_block () { } pw_stop_progress_bar () { - for PW_KILL_YAD_PID in "$PW_YAD_PID_PROGRESS_BAR_BLOCK" "$PW_YAD_PID_PROGRESS_BAR_CS" "$PW_YAD_PID_PFX_COVER_UI" "$PW_YAD_PID_PROGRESS_BAR_COVER" + for PW_KILL_YAD_PID in "$PW_YAD_PID_PROGRESS_BAR_BLOCK" "$PW_YAD_PID_PROGRESS_BAR_CS" \ + "$PW_YAD_PID_PFX_COVER_UI" "$PW_YAD_PID_PROGRESS_BAR_COVER" do kill -s SIGUSR1 "$PW_KILL_YAD_PID" > /dev/null 2>&1 done @@ -151,7 +152,7 @@ pw_gui_for_edit_db () { else export ${int_to_boole}="FALSE" fi TMP_HELP_FOR_GUI="${int_to_boole}_INFO" - int_to_boole_non_pw="`echo ${int_to_boole} | sed 's/^PW_//'`" + int_to_boole_non_pw="`echo ${int_to_boole} | sed 's/^PW_//' `" ADD_CHK_BOX_EDIT_DB+="--field= ${int_to_boole_non_pw} !${!TMP_HELP_FOR_GUI}:CHK%${!int_to_boole}%" done } @@ -180,15 +181,11 @@ pw_gui_for_edit_db () { --text "Change settings in database file for ${PORTWINE_DB}\n" --separator=" " --borders=10 --center \ --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --button="CANCEL":1 --button="OPEN DB FILE":150 --button="SAVE CHANGES":0 YAD_STATUS="$?" - if [[ "$YAD_STATUS" == "1" ]] ; then - /usr/bin/env bash -c ${pw_full_command_line[*]} & - exit 0 - elif [[ "$YAD_STATUS" == "252" ]] ; then - exit 0 - elif [ "$YAD_STATUS" == "150" ] ; then - xdg-open "${PORTWINE_DB_FILE}" & - exit 0 - fi + case "$YAD_STATUS" in + 1) /usr/bin/env bash -c ${pw_full_command_line[*]} & exit 0 ;; + 150) xdg-open "${PORTWINE_DB_FILE}" & exit 0 ;; + 252) exit 0 ;; + esac output_yad_edit_db=(`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_edit_db"`) bool_from_yad=0 edit_db_field_read () { @@ -203,9 +200,9 @@ pw_gui_for_edit_db () { } edit_db_field_read $@ PW_WINDOWS_VER="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $1}'`" - PW_DLL_INSTALL=\"`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $2}'`\" - WINEDLLOVERRIDES=\"`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $3}'`\" - LAUNCH_PARAMETERS=\"`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $5}'`\" + PW_DLL_INSTALL=`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $2}'` + WINEDLLOVERRIDES=`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $3}'` + LAUNCH_PARAMETERS=`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $5}'` FPS_LIMIT="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $7}'`" if [ "${FPS_LIMIT}" == 0 ] ; then @@ -213,6 +210,7 @@ pw_gui_for_edit_db () { else export MANGOHUD_CONFIG=font_size=24,position=top-left,toggle_hud=Shift_R+F12,no_display,resolution,wine,gpu_name,vulkan_driver,gpu_stats,vkbasalt,fps_limit=${FPS_LIMIT} fi + echo "pw_gui_for_edit_db PORTWINE_DB_FILE=$PORTWINE_DB_FILE" edit_db_from_gui $@ MANGOHUD_CONFIG LAUNCH_PARAMETERS PW_WINDOWS_VER PW_DLL_INSTALL WINEDLLOVERRIDES return 0 }