forked from CastroFidel/PortWINE
		
	Scripts version 2086 - 2089
This commit is contained in:
		| @@ -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 | ||||
| } | ||||
|   | ||||
| @@ -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..." | ||||
|   | ||||
| @@ -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" | ||||
| } | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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 ; } | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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########################### | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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}" | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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..." | ||||
|   | ||||
| @@ -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 | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -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 | ||||
|  | ||||
|   | ||||
| @@ -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_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}" --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_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}" --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"' &  | ||||
|     "${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"' &  | ||||
|  | ||||
|     # --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}" --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 ;; | ||||
|   | ||||
| @@ -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 | ||||
| } | ||||
|   | ||||
| @@ -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 | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user