forked from CastroFidel/PortWINE
		
	###Scripts version 2035###
This commit is contained in:
		| @@ -247,22 +247,6 @@ init_wine_ver () { | ||||
|     export WINESERVER="${WINEDIR}/bin/wineserver" | ||||
|     export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine" | ||||
|  | ||||
|     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:${LD_LIBRARY_PATH}" | ||||
|         fi | ||||
|     else  | ||||
|         export LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib" | ||||
|     fi | ||||
|     if [ ! -z ${PATH_TMP} ] | ||||
|     then export PATH="${PATH_TMP}" | ||||
|     else export PATH_TMP="${PATH}" | ||||
|     fi | ||||
|     if [ ! -z "${PATH}" ] | ||||
|     then export PATH="${WINEDIR}/bin:${PATH}" | ||||
|     else export PATH="${WINEDIR}/bin" | ||||
|     fi | ||||
|  | ||||
|     if [[ -d "${WINEDIR}/files" && ! -d "${WINEDIR}/dist" ]] ; then | ||||
|         chmod -R 755 "${WINEDIR}" | ||||
|         for clear_dist_files in `ls "${WINEDIR}" | sed -e "s/^files$//g" | sed -e "s/^version$//g"` ; do  | ||||
| @@ -307,6 +291,7 @@ init_wine_ver () { | ||||
|             try_force_link_dir "${PORT_WINE_TMP_PATH}/${mono_gecko_chk}" "${WINEDIR}"/share/wine/ | ||||
|         fi | ||||
|     done | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| cabextract_fix () { | ||||
| @@ -335,6 +320,7 @@ pw_stop_progress_bar () { | ||||
|     while [ ! -z "`pgrep -a yad | grep "\-\-progress" | awk '{print $1}'`" ] | ||||
|     do kill -n 9 `pgrep -a yad | grep "\-\-progress" | awk '{print $1}' | head -n 1` > /dev/null 2>&1 | ||||
|     done | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| pw_download_libs () { | ||||
| @@ -450,10 +436,10 @@ update_winetricks () { | ||||
|     fi | ||||
| } | ||||
| wait_wineserver () { | ||||
|     sleep 3 | ||||
|     while [ ! -z "$(ls -l /proc/*/exe 2>/dev/null | grep -ie ${portname} | grep -E 'wine(64)?-preloader|wineserver' | awk -F/ '{print $3}')" ] ; do | ||||
|         sleep 1 | ||||
|     done | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| kill_portwine () { | ||||
| @@ -468,11 +454,12 @@ kill_portwine () { | ||||
|     if [ ! -z `pgrep -a bwrap | grep ${portname} | head -n 1 | awk '{print $1}'` ] ; then | ||||
|         kill -n 9 `pgrep -a bwrap | grep ${portname} | head -n 1 | awk '{print $1}'` | ||||
|     fi | ||||
|     return 0 | ||||
| } | ||||
| export -f kill_portwine | ||||
|  | ||||
| stop_portwine () { | ||||
|     wait_wineserver | ||||
| stop_portwine () {  | ||||
|     wait_wineserver && | ||||
|     add_in_stop_portwine | ||||
|     if [ "$int_xneur" = "1"  ]; then | ||||
|         xneur & | ||||
| @@ -483,7 +470,7 @@ stop_portwine () { | ||||
|     pw_stop_progress_bar | ||||
|     try_remove_file "${PORT_SCRIPTS_PATH}/0" | ||||
|     try_remove_file "${PORT_SCRIPTS_PATH}/1" | ||||
|     kill_portwine | ||||
|     kill_portwine && | ||||
|     if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] | ||||
|     then kill -s SIGUSR1 "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" | ||||
|     fi | ||||
| @@ -491,37 +478,41 @@ stop_portwine () { | ||||
|         chmod -R 755 "${WINEPREFIX}"/drive_c/users/steamuser/Temp/ | ||||
|         rm -fr "${WINEPREFIX}"/drive_c/users/steamuser/Temp/* | ||||
|     fi | ||||
|     if [  ! -z "`ls "${WINEPREFIX}"/drive_c/ | grep -m 1 ".tmp"`" ] ; then | ||||
|         rm -f "${WINEPREFIX}"/drive_c/*.tmp | ||||
|     fi | ||||
|     exit 0 | ||||
| } | ||||
| open_changelog () { | ||||
|     "${pw_yad}" --title="Changelog" --borders=10 --no-buttons --text-align=center \ | ||||
|     --text-info --show-uri --wrap --center --width=1200 --height=550 --uri-color=red \ | ||||
|     --filename="${PORT_WINE_PATH}/data/changelog" | ||||
| } | ||||
| export -f open_changelog | ||||
|  | ||||
| pw_tray_icon () { | ||||
|     if [ -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] ; then | ||||
|         tray_icon_click() { | ||||
|             echo "" | ||||
|         } | ||||
|         export -f tray_icon_click | ||||
|         tray_icon_click_exit() { | ||||
|             kill_portwine | ||||
|             if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] | ||||
|             then kill -s SIGUSR1 "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" | ||||
|             fi | ||||
|             kill -9 `pgrep -a start.sh | awk '/PortWINE/ && /PortProton/' | awk '{print $1}'` | ||||
|             exit 0 | ||||
|         } | ||||
|         export -f tray_icon_click_exit | ||||
|  | ||||
|         "${pw_yad_new}" --notification --no-middle --text="PortProton" \ | ||||
|         --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
|         --image="$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
|         --command="bash -c tray_icon_click" \ | ||||
|         --tooltip="PortProton" \ | ||||
|         --menu="| \ | ||||
| <<< CHANGE LOG >>>!bash -c open_changelog!"$PW_GUI_ICON_PATH/port_changelog.png"| \ | ||||
| <<<   FORCE EXIT   >>>!bash -c tray_icon_click_exit!"$PW_GUI_ICON_PATH/port_exit.png"|" | ||||
|     if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] ; then | ||||
|         kill -n 9 "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" | ||||
|     fi | ||||
|     tray_icon_click() { | ||||
|         echo "" | ||||
|     } | ||||
|     export -f tray_icon_click | ||||
|     tray_icon_click_exit() { | ||||
|         kill_portwine && | ||||
|         if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] | ||||
|         then kill -s SIGUSR1 "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" | ||||
|         fi | ||||
|         kill -n 9 `pgrep -a start.sh | awk '/PortWINE/ && /PortProton/' | awk '{print $1}'` | ||||
|         exit 0 | ||||
|     } | ||||
|     export -f tray_icon_click_exit | ||||
|  | ||||
|     "${pw_yad_new}" --notification --no-middle --text="PortProton" \ | ||||
|     --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
|     --image="$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
|     --command="bash -c tray_icon_click" \ | ||||
|     --tooltip="PortProton" \ | ||||
|     --menu="| \ | ||||
| <<< CHANGE LOG >>>!bash -c open_changelog!"$PW_GUI_ICON_PATH/port_changelog.png"| \ | ||||
| <<<   FORCE EXIT   >>>!bash -c tray_icon_click_exit!"$PW_GUI_ICON_PATH/port_exit.png"|" & | ||||
| } | ||||
|  | ||||
| pw_init_db () { | ||||
| @@ -530,8 +521,8 @@ pw_init_db () { | ||||
|         PORTWINE_DB_FILE=`grep -ilw "#${PORTWINE_DB}" "${PORT_SCRIPTS_PATH}/portwine_db"/* | sed s/".exe"/""/gi` | ||||
|         if [ ! -z "${PORTWINE_DB_FILE}" ]; then | ||||
|             . "${PORTWINE_DB_FILE}" | ||||
|             init_wine_ver && | ||||
|             print_info "Use ${PORTWINE_DB_FILE} db file." | ||||
|             init_wine_ver | ||||
|         fi | ||||
|     fi | ||||
| #        export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )" | ||||
| @@ -540,6 +531,10 @@ pw_init_db () { | ||||
|  | ||||
| pw_port_update () { | ||||
|     ###PORT UPDATE### | ||||
|     if [ ! -f "${PORT_WINE_TMP_PATH}/scripts_ver" ] ; then | ||||
|         echo "2000" > "${PORT_WINE_TMP_PATH}/scripts_ver" | ||||
|     fi | ||||
|     export scripts_install_ver=`cat "${PORT_WINE_TMP_PATH}/scripts_ver" | head -n 1` | ||||
|     if try_download_silent "https://github.com/Castro-Fidel/PortWINE/raw/master/data_from_portwine/scripts/var" "${PORT_WINE_TMP_PATH}/curent_var_ver" ; then | ||||
|         if [ ! -f "${PORT_WINE_TMP_PATH}/${portname}_ver" ] ; then | ||||
|             echo "10" > "${PORT_WINE_TMP_PATH}/${portname}_ver" | ||||
| @@ -560,7 +555,7 @@ pw_port_update () { | ||||
|                 FALSE "${port_upd6}" ` | ||||
|                 case $xsd in | ||||
|                     "${port_upd4}") | ||||
|                         kill_portwine | ||||
|                         kill_portwine && | ||||
|                         xdg-open $PORTWINE_URL | ||||
|                         exit 0 ;; | ||||
|                     "${port_upd5}") | ||||
| @@ -571,10 +566,6 @@ pw_port_update () { | ||||
|             fi | ||||
|         fi | ||||
|         ###SCRIPTS UPDATE### | ||||
|         if [ ! -f "${PORT_WINE_TMP_PATH}/scripts_ver" ] ; then | ||||
|             echo "2000" > "${PORT_WINE_TMP_PATH}/scripts_ver" | ||||
|         fi | ||||
|         export scripts_install_ver=`cat "${PORT_WINE_TMP_PATH}/scripts_ver" | head -n 1` | ||||
|         if [ ! -f "${PORT_WINE_TMP_PATH}/scripts_update_notifier" ] ; then | ||||
|                 echo "1" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier" | ||||
|         fi | ||||
| @@ -628,7 +619,7 @@ pw_kill_autostart () { | ||||
|                 echo -e "PID "$1" not found" | ||||
|                 sleep 1 | ||||
|             else | ||||
|                 kill_portwine | ||||
|                 kill_portwine && | ||||
|                 break | ||||
|             fi | ||||
|         done | ||||
| @@ -654,6 +645,13 @@ edit_db_from_gui () { | ||||
| } | ||||
|  | ||||
| pw_gui_for_edit_db () { | ||||
|     KEY_EDIT_DB_GUI=$RANDOM | ||||
|     if [[ -n "`echo "${MANGOHUD_CONFIG}" | grep "fps_limit"`" ]] ; then | ||||
|         FPS_LIMIT_VAR="`echo ${MANGOHUD_CONFIG} | sed 's/.*fps_limit=//g' | awk -F, '{print $1}'`" | ||||
|     else | ||||
|         FPS_LIMIT_VAR=0 | ||||
|     fi | ||||
|     echo "FPS_LIMIT_VAR=$FPS_LIMIT_VAR" | ||||
|     unset ADD_CHK_BOX_EDIT_DB | ||||
|     edit_db_field_add () { | ||||
|         for int_to_boole in $@ ; do | ||||
| @@ -666,20 +664,26 @@ pw_gui_for_edit_db () { | ||||
|         done | ||||
|     } | ||||
|     edit_db_field_add $@ | ||||
|     export old_IFS=$IFS | ||||
|     export IFS="%"  | ||||
|     output_yad_edit_db=`"${pw_yad_new}" --title "EDIT_DB" --text-align=center --text "Change settings in database file for ${PORTWINE_DB}\n" \ | ||||
|     --columns=4 --form --separator=" " --borders=10 --center ${ADD_CHK_BOX_EDIT_DB} \ | ||||
|     --button="CANCEL":1 --button="OPEN DB FILE":150 --button="SAVE CHANGES":0` | ||||
|     old_IFS=$IFS | ||||
|     IFS="%"  | ||||
|     "${pw_yad_new}" --plug=$KEY_EDIT_DB_GUI --tabnum="1" --form --separator=" " --columns=4 ${ADD_CHK_BOX_EDIT_DB} \ | ||||
|     1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_edit_db" &  | ||||
|     IFS=$old_IFS | ||||
|  | ||||
|     "${pw_yad_new}" --plug=$KEY_EDIT_DB_GUI --tabnum="2" --form --separator=" " --columns=1 \ | ||||
|     --field="MANGOHUD FPS LIMIT (0-disabled):SCL" ${FPS_LIMIT_VAR} 1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" &  | ||||
|  | ||||
|     "${pw_yad_new}" --paned --key="$KEY_EDIT_DB_GUI" --title "EDIT_DB" --text-align=center --height="330" \ | ||||
|     --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" || "$YAD_STATUS" == "252" ]] ; then exit 0 | ||||
|     elif [ "$YAD_STATUS" == "150" ] ; then | ||||
|         xdg-open "${PORTWINE_DB_FILE}" & | ||||
|         exit 0 | ||||
|     fi | ||||
|     export IFS=$old_IFS | ||||
|     export output_yad_edit_db=($output_yad_edit_db) | ||||
|     export bool_from_yad=0 | ||||
|     output_yad_edit_db=(`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_edit_db"`) | ||||
|     bool_from_yad=0 | ||||
|     edit_db_field_read () { | ||||
|         for boole_to_int in $@ ; do | ||||
|             export ${boole_to_int}=${output_yad_edit_db[$bool_from_yad]} | ||||
| @@ -692,6 +696,15 @@ pw_gui_for_edit_db () { | ||||
|     } | ||||
|     edit_db_field_read $@ | ||||
|     edit_db_from_gui $@ | ||||
|  | ||||
|     FPS_LIMIT="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit"`" | ||||
|     if [ "${FPS_LIMIT}" == 0 ] ; then | ||||
|         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 | ||||
|     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} | ||||
|         export PW_MANGOHUD=1 | ||||
|     fi | ||||
|     edit_db_from_gui PW_MANGOHUD MANGOHUD_CONFIG | ||||
|     # PW_DB_TMP=`cat "${PORTWINE_DB_FILE}"` | ||||
|     # echo "${PW_DB_TMP}" | awk '! a[$0]++' > "${PORTWINE_DB_FILE}" | ||||
|     # unset PW_DB_TMP | ||||
| @@ -766,8 +779,8 @@ gui_proton_downloader () { | ||||
|     sed -i '/PROTON_GE/d' "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git" | ||||
|  | ||||
|     for INSTALLING_VERSION_IN_DIST in `ls "${PORT_WINE_PATH}/data/dist/"` ; do | ||||
|         sed -i "/${INSTALLING_VERSION_IN_DIST}/Id" "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git" | ||||
|         sed -i "/${INSTALLING_VERSION_IN_DIST}/Id" "${PORT_WINE_TMP_PATH}/tmp_proton_pw_git" | ||||
|         sed -i "/${INSTALLING_VERSION_IN_DIST}$/Id" "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git" | ||||
|         sed -i "/${INSTALLING_VERSION_IN_DIST}$/Id" "${PORT_WINE_TMP_PATH}/tmp_proton_pw_git" | ||||
|     done | ||||
|     pw_stop_progress_bar | ||||
|  | ||||
| @@ -855,7 +868,8 @@ gui_vkBasalt () { | ||||
|     1> "${PORT_WINE_TMP_PATH}/tmp_yad_cas_set" & | ||||
|  | ||||
|     "${pw_yad_new}" --paned --key="$KEY_FX_GUI" --height="600" --title="vkBasalt" --center --borders=10 \ | ||||
|     --separator=" " --button="CANCEL":1 --button="DISABLED  VKBASALT":180 --button="ENABLED  VKBASALT":182 | ||||
|     --separator=" " --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
|     --button="CANCEL":1 --button="DISABLED  VKBASALT":180 --button="ENABLED  VKBASALT":182 | ||||
|     YAD_VKBASALT_STATUS="$?" | ||||
|     case "${YAD_VKBASALT_STATUS}" in | ||||
|         1|252) | ||||
|   | ||||
| @@ -75,7 +75,7 @@ then | ||||
| 	export PW_USE_GSTREAMER_INFO='Использовать Gstreamer для вывода роликов в играх (поддержка WMF)'  | ||||
| 	export PW_USE_RUNTIME_INFO='Использовать контейнерный режим запуска (Рекомендуется не изменять значение)' | ||||
| 	export PW_MANGOHUD_INFO='Использование мониторинга FPS и нагрузки системы (Включается и выключается сочитанием клавиш - правый Shift + F12)' | ||||
| 	export PW_USE_GAMEMODE_INFO='Использование автоматической оптимизации системы для увеличение производительности в играх (при условии установленного пакета gamemode в системе)' | ||||
| 	export PW_USE_GAMEMODE_INFO='Использование автоматической оптимизации системы для увеличения производительности в играх (при условии установленного пакета gamemode в системе)' | ||||
|  | ||||
| 	export PW_3DFX_INFO='Имитация старого графического ускорителя 3dfx (добавляет горизонтальные полосы)' | ||||
| 	export PW_AdaptiveSharpen_INFO='Увеличение резкости, можно использовать совместо с CAS' | ||||
|   | ||||
| @@ -23,10 +23,9 @@ fi | ||||
|  | ||||
| start_portwine () { | ||||
|     pw_check_and_download_wine "${PW_WINE_USE}"  | ||||
|     init_wine_ver | ||||
|     init_wine_ver  | ||||
|     pw_download_mono | ||||
|     pw_download_gecko | ||||
|     pw_tray_icon & | ||||
|     if [ -x "`which konsole 2>/dev/null`" ]; then export PW_TERM="konsole --nofork -e" | ||||
| #    elif [ -x "`which gnome-terminal 2>/dev/null`" ]; then export PW_TERM="gnome-terminal -- /bin/bash" ??? | ||||
|     elif [ -x "`which lxterminal 2>/dev/null`" ]; then export PW_TERM="lxterminal -e" | ||||
| @@ -37,8 +36,24 @@ start_portwine () { | ||||
|         cp -f "${PORT_SCRIPTS_PATH}/.Xresources" "${HOME}" | ||||
|         xrdb -merge "${HOME}/.Xresources" | ||||
|     fi | ||||
|     pw_tray_icon | ||||
|     pw_start_progress_bar_block "Update prefix for ${PW_WINE_USE}... Please wait..."  | ||||
|  | ||||
|     pw_start_progress_bar_block "Start ${portname}... Please wait..." | ||||
|     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:${LD_LIBRARY_PATH}" | ||||
|         fi | ||||
|     else  | ||||
|         export LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib" | ||||
|     fi | ||||
|     if [ ! -z ${PATH_TMP} ] | ||||
|     then export PATH="${PATH_TMP}" | ||||
|     else export PATH_TMP="${PATH}" | ||||
|     fi | ||||
|     if [ ! -z "${PATH}" ] | ||||
|     then export PATH="${WINEDIR}/bin:${PATH}" | ||||
|     else export PATH="${WINEDIR}/bin" | ||||
|     fi | ||||
|  | ||||
|     if [ "${PW_USE_GSTREAMER}" = 1 ] ; then  | ||||
|         if [ -d "${WINEDIR}/lib64/gstreamer-1.0" ] ; then | ||||
| @@ -154,7 +169,7 @@ start_portwine () { | ||||
|         export RADV_DEBUG="llvm" | ||||
|         var_vkd3d_config_update single_queue | ||||
|     fi | ||||
|     if [[ ! -z "${PW_USE_NVAPI_AND_DLSS_AND_DLSS}" && "${PW_USE_NVAPI_AND_DLSS_AND_DLSS}" == 1 && -d "${WINEDIR}/lib/wine/nvapi/" ]] | ||||
|     if [[ ! -z "${PW_USE_NVAPI_AND_DLSS}" && "${PW_USE_NVAPI_AND_DLSS}" == 1 && -d "${WINEDIR}/lib/wine/nvapi/" ]] | ||||
|     then | ||||
|         try_copy_file "${WINEDIR}/lib/wine/nvapi/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|         try_copy_file "${WINEDIR}/lib64/wine/nvapi/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
| @@ -220,7 +235,7 @@ start_portwine () { | ||||
|     esac | ||||
|     export DXVK_CONFIG_FILE="${PORT_WINE_PATH}/data/dxvk.conf" | ||||
|     export int_xneur=0 | ||||
|     if [ $(pgrep xneur)>'0' ]; then | ||||
|     if [[ ! -z "`pgrep xneur`" ]]; then | ||||
|         killall xneur | ||||
|         export int_xneur=1 | ||||
|     fi | ||||
| @@ -237,10 +252,14 @@ start_portwine () { | ||||
|         export PW_GAMEMODERUN=0 | ||||
|         echo "Gamemod is not installed or disabled in vars script or db file: PW_USE_GAMEMODE=$PW_USE_GAMEMODE" | ||||
|     fi | ||||
|     pw_vkbasalt_check | ||||
|     pw_other_fixes | ||||
|     #init_pfx | ||||
|     if [[ ! -d "${WINEPREFIX}" || ! -d "${WINEPREFIX}"/drive_c/windows || ! -d "${WINEPREFIX}/dosdevices" || ! -f "${WINEPREFIX}"/userdef.reg || ! -f "${WINEPREFIX}"/system.reg || ! -f "${WINEPREFIX}"/user.reg ]] | ||||
|     if [[ ! -d "${WINEPREFIX}" || ! -d "${WINEPREFIX}"/drive_c/windows || ! -d "${WINEPREFIX}/dosdevices" || \ | ||||
|     ! -f "${WINEPREFIX}"/userdef.reg || ! -f "${WINEPREFIX}"/system.reg || ! -f "${WINEPREFIX}"/user.reg  || \ | ||||
|     -z "`cat ${WINEPREFIX}/.wine_ver | grep ${PW_WINE_USE}`" ]] | ||||
|     then | ||||
|         pw_clear_pfx | ||||
|         # pw_clear_pfx | ||||
|         create_new_dir "${WINEPREFIX}" | ||||
|         create_new_dir "${WINEPREFIX}/drive_c" | ||||
|         create_new_dir "${WINEPREFIX}/dosdevices" | ||||
| @@ -254,15 +273,12 @@ start_portwine () { | ||||
|         try_copy_file "${WINEDIR}/share/fonts/"LiberationSerif-Regular.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"times.ttf | ||||
|         try_copy_file "${WINEDIR}/share/fonts/"LiberationMono-Regular.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"cour.ttf | ||||
|         try_copy_file "${WINEDIR}/share/fonts/"SourceHanSansSCRegular.otf "${WINEPREFIX}/drive_c/windows/Fonts/"msyh.ttf | ||||
|         pw_stop_progress_bar | ||||
|         pw_start_progress_bar_block "Updating prefix... Please wait..." | ||||
|         kill_portwine | ||||
|         ${pw_runtime} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" wineboot -u | ||||
|         wait_wineserver | ||||
|         kill_portwine | ||||
|         # kill_portwine && | ||||
|         ${pw_runtime} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" wineboot -i | ||||
|         wait_wineserver && | ||||
|         # kill_portwine && | ||||
|         echo "${PW_WINE_USE}" > "${WINEPREFIX}/.wine_ver" | ||||
|     fi | ||||
|     pw_stop_progress_bar | ||||
|     pw_start_progress_bar_cs "Initialization prefix..." | ||||
|     [ ! -d "${WINEPREFIX}/dosdevices/c:" ] && try_force_link_dir "${WINEPREFIX}/drive_c/" "${WINEPREFIX}/dosdevices/c:" | ||||
|     [ ! -d "${WINEPREFIX}/dosdevices/z:" ] && try_force_link_dir "/" "${WINEPREFIX}/dosdevices/z:" | ||||
|     create_new_dir "${WINEPREFIX}/drive_c/users/steamuser" | ||||
| @@ -310,7 +326,7 @@ start_portwine () { | ||||
|         done | ||||
|         var_winedlloverride_update "d3d11,d3d10,d3d10core,d3d10_1,d3d9,dxgi=b" | ||||
|     elif [ "${PW_VULKAN_USE}" = "1" ] ; then | ||||
|         echo "Use VKD3D-PROTON and DXVK (DX12 to vulkan)" | ||||
|         echo "Use VKD3D-PROTON and DXVK (DX 9-12 to vulkan)" | ||||
|         export CP_DXVK_FILES="d3d11 d3d10 d3d10core d3d10_1 d3d9" | ||||
|         echo "Try copy native DXVK files" | ||||
|         for wine_dxvk_dll in ${CP_DXVK_FILES} ; do | ||||
| @@ -344,9 +360,7 @@ start_portwine () { | ||||
|     export __GL_SHADER_DISK_CACHE_PATH="${PORT_WINE_TMP_PATH}/gl_shader_cache" | ||||
|     export __GL_SHADER_DISK_CACHE=1 | ||||
|     export __GL_SHADER_DISK_CACHE_SIZE=1000000000 | ||||
|     pw_other_fixes | ||||
|     #run_winetricks_from_db | ||||
|     update_winetricks | ||||
|     if [ ! -z "${PW_MUST_HAVE_DLL}" ] | ||||
|     then export PW_DLL_INSTALL="${PW_MUST_HAVE_DLL} ${PW_DLL_INSTALL}" | ||||
|     fi | ||||
| @@ -375,13 +389,13 @@ start_portwine () { | ||||
|             fi | ||||
|         done | ||||
|         if [ "${USE_WT_FROM_DB}" == "1" ] ; then | ||||
|             pw_stop_progress_bar | ||||
|             update_winetricks | ||||
|             print_info "Try to install DLL in prefix: ${PW_DLL_NEED_INSTALL}" | ||||
|             chmod -R 775 "${HOME}/.cache/winetricks" | ||||
|             if [ "${PW_WINE_VER}" != "PROTON_STEAM" ] ; then | ||||
|                 export PW_WINE_VER_FROM_DB="${PW_WINE_USE}" | ||||
|                 export PW_WINE_VER="PROTON_STEAM" | ||||
|                 init_wine_ver | ||||
|                 init_wine_ver && | ||||
|                 cabextract_fix | ||||
|             fi | ||||
|             ${pw_runtime} xterm -e env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" \ | ||||
| @@ -398,11 +412,11 @@ start_portwine () { | ||||
|         fi | ||||
|         ${pw_runtime} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" \ | ||||
|         "${WINELOADER}" winecfg -v `echo "win${PW_WINDOWS_VER}" | sed 's/.*/\L&/'` | ||||
|         wait_wineserver && | ||||
|         echo "Set to win${PW_WINDOWS_VER}" | ||||
|         wait_wineserver | ||||
|     fi | ||||
|     add_in_start_portwine | ||||
|     pw_stop_progress_bar | ||||
|     pw_stop_progress_bar && | ||||
|     pw_start_progress_bar_cs "Start ${portname}... Please wait..." | ||||
| } | ||||
|  | ||||
| @@ -416,7 +430,6 @@ pw_run () { | ||||
|         cd "${WINEPREFIX}/drive_c" | ||||
|     fi | ||||
|     pw_mangohud_check | ||||
|     pw_vkbasalt_check | ||||
|     print_var "WINEDIR" "WINEPREFIX" "WINEDLLOVERRIDES" "PATH_TO_GAME" "PW_WINE_USE" "PW_VULKAN_USE" "VKD3D_CONFIG" "LD_LIBRARY_PATH" "PATH" | ||||
|     if [ "${PW_LOG}" == 1 ] ; then | ||||
|         export PW_LOG_TO_FILE="${PORT_WINE_PATH}/${portname}.log" | ||||
| @@ -437,6 +450,7 @@ pw_run () { | ||||
|             ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} | ||||
|         fi | ||||
|     fi | ||||
|     stop_portwine | ||||
| } | ||||
|  | ||||
| ###MAIN### | ||||
| @@ -469,16 +483,9 @@ fi | ||||
| create_new_dir "${PORT_WINE_TMP_PATH}"/gecko | ||||
| create_new_dir "${PORT_WINE_TMP_PATH}"/mono | ||||
|  | ||||
| if [ -d "${HOME}/.PortWINE/" ] ; then | ||||
|     try_remove_dir "${HOME}/.PortWINE/tmp" | ||||
|     mv -f "${HOME}/.PortWINE"/* "${PORT_WINE_TMP_PATH}" | ||||
|     try_remove_dir "${HOME}/.PortWINE/" | ||||
| fi  | ||||
| cd "${PORT_SCRIPTS_PATH}" | ||||
| . "${PORT_SCRIPTS_PATH}/var" | ||||
|  | ||||
| [ -f "${PORT_SCRIPTS_PATH}/autoinstall" ] && try_remove_file "${PORT_SCRIPTS_PATH}/autoinstall" | ||||
|  | ||||
| if [ ! -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ] ; then | ||||
| 	SET_LANG=`zenity --title  "Install $portname" --text "Select the language" --list --radiolist \ | ||||
| 	--column="Set:" --column "Language:" TRUE "RUS" FALSE "ENG" ` | ||||
|   | ||||
| @@ -186,6 +186,7 @@ pw_winecmd () { | ||||
|     start_portwine | ||||
|     cd "${WINEPREFIX}/drive_c" | ||||
|     ${pw_runtime} xterm -e env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" cmd | ||||
|     stop_portwine | ||||
| } | ||||
|  | ||||
| pw_winereg () { | ||||
| @@ -201,6 +202,7 @@ pw_winetricks () { | ||||
|     cabextract_fix | ||||
|     start_portwine | ||||
|     ${PW_TERM} "${PORT_WINE_TMP_PATH}/winetricks" -q -r | ||||
|     stop_portwine | ||||
| } | ||||
|  | ||||
| pw_edit_db () { | ||||
| @@ -238,7 +240,7 @@ PW_ALL_DIST=`ls "${PORT_WINE_PATH}/data/dist/" | sed -e s/"PROTON_GE$//g" | sed | ||||
| unset DIST_ADD_TO_GUI | ||||
| for DAIG in ${PW_ALL_DIST} | ||||
| do | ||||
|     export DIST_ADD_TO_GUI="${DIST_ADD_TO_GUI}\!${DAIG}" | ||||
|     export DIST_ADD_TO_GUI="${DIST_ADD_TO_GUI}!${DAIG}" | ||||
| done | ||||
| if [ ! -z "${PORTWINE_DB_FILE}" ] ; then | ||||
|     [ -z "${PW_COMMENT_DB}" ] && PW_COMMENT_DB="PortWINE database file for "\"${PORTWINE_DB}"\" was found." | ||||
| @@ -248,24 +250,24 @@ if [ ! -z "${PORTWINE_DB_FILE}" ] ; then | ||||
|         [ -z "${PW_WINE_USE}" ] && export PW_WINE_USE=PROTON_STEAM | ||||
|     fi | ||||
|     case "${PW_VULKAN_USE}" in | ||||
|         "dxvk") export PW_DEFAULT_VULKAN_USE='DXVK (DX 9-11 to Vulkan)\!VULKAN (DXVK and VKD3D)\!OPENGL ' ;; | ||||
|             "0") export PW_DEFAULT_VULKAN_USE='OPENGL \!VULKAN (DXVK and VKD3D)\!DXVK  (DX 9-11 to Vulkan)' ;; | ||||
|               *) export PW_DEFAULT_VULKAN_USE='VULKAN (DXVK and VKD3D)\!DXVK  (DX 9-11 to Vulkan)\!OPENGL ' ;; | ||||
|         "dxvk") export PW_DEFAULT_VULKAN_USE='DXVK (DX 9-11 to Vulkan)!VULKAN (DXVK and VKD3D)!OPENGL ' ;; | ||||
|             "0") export PW_DEFAULT_VULKAN_USE='OPENGL !VULKAN (DXVK and VKD3D)!DXVK  (DX 9-11 to Vulkan)' ;; | ||||
|               *) export PW_DEFAULT_VULKAN_USE='VULKAN (DXVK and VKD3D)!DXVK  (DX 9-11 to Vulkan)!OPENGL ' ;; | ||||
|     esac | ||||
|     case "${PW_WINE_USE}" in | ||||
|         "PROTON_GE") export PW_DEFAULT_WINE_USE="PROTON_GE  (${PW_GE_VER})\!PROTON_STEAM  (${PW_STEAM_VER})${DIST_ADD_TO_GUI}" ;; | ||||
|         "PROTON_STEAM") export PW_DEFAULT_WINE_USE="PROTON_STEAM  (${PW_STEAM_VER})\!PROTON_GE  (${PW_GE_VER})${DIST_ADD_TO_GUI}" ;; | ||||
|         "PROTON_GE") export PW_DEFAULT_WINE_USE="PROTON_GE  (${PW_GE_VER})!PROTON_STEAM  (${PW_STEAM_VER})${DIST_ADD_TO_GUI}" ;; | ||||
|         "PROTON_STEAM") export PW_DEFAULT_WINE_USE="PROTON_STEAM  (${PW_STEAM_VER})!PROTON_GE  (${PW_GE_VER})${DIST_ADD_TO_GUI}" ;; | ||||
|         *) | ||||
|             export DIST_ADD_TO_GUI=`echo ${DIST_ADD_TO_GUI} | sed -e s/"\!${PW_WINE_USE}$//g"` | ||||
|             export PW_DEFAULT_WINE_USE="${PW_WINE_USE}\!PROTON_STEAM  (${PW_STEAM_VER})\!PROTON_GE  (${PW_GE_VER})${DIST_ADD_TO_GUI}" ;; | ||||
|             export PW_DEFAULT_WINE_USE="${PW_WINE_USE}!PROTON_STEAM  (${PW_STEAM_VER})!PROTON_GE  (${PW_GE_VER})${DIST_ADD_TO_GUI}" ;; | ||||
|     esac | ||||
| else | ||||
|     export PW_DEFAULT_VULKAN_USE='VULKAN (DXVK and VKD3D)\!DXVK  (DX 9-11 to Vulkan)\!OPENGL ' | ||||
|     export PW_DEFAULT_WINE_USE="PROTON_STEAM  (${PW_STEAM_VER})\!PROTON_GE  (${PW_GE_VER})${DIST_ADD_TO_GUI}" | ||||
|     export PW_DEFAULT_VULKAN_USE='VULKAN (DXVK and VKD3D)!DXVK  (DX 9-11 to Vulkan)!OPENGL ' | ||||
|     export PW_DEFAULT_WINE_USE="PROTON_STEAM  (${PW_STEAM_VER})!PROTON_GE  (${PW_GE_VER})${DIST_ADD_TO_GUI}" | ||||
|     unset PW_GUI_DISABLED_CS | ||||
| fi | ||||
| if [ ! -z "${portwine_exe}" ]; then | ||||
|     if [[ -z "${PW_GUI_DISABLED_CS}" || "${PW_GUI_DISABLED_CS}" = 0 ]] ; then | ||||
|     if [[ -z "${PW_GUI_DISABLED_CS}" || "${PW_GUI_DISABLED_CS}" == 0 ]] ; then | ||||
|         OUTPUT_START=$("${pw_yad}" --text-align=center --text "$PW_COMMENT_DB" --wrap-width=150 --borders=15 --form --center  \ | ||||
|         --title "${portname}-${install_ver} (${scripts_install_ver})"  --image "$PW_GUI_ICON_PATH/port_proton.png" --separator=";" \ | ||||
|         --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
| @@ -293,13 +295,6 @@ else | ||||
|     } | ||||
|     export -f button_click | ||||
|  | ||||
|     open_changelog () { | ||||
|         "${pw_yad}" --title="Changelog" --borders=10 --no-buttons --text-align=center \ | ||||
|         --text-info --show-uri --wrap --center --width=1200 --height=550 --uri-color=red \ | ||||
|         --filename="${PORT_WINE_PATH}/data/changelog" | ||||
|     } | ||||
|     export -f open_changelog | ||||
|  | ||||
|     gui_clear_pfx () { | ||||
|         if gui_question "${port_clear_pfx}" ; then | ||||
|             pw_clear_pfx | ||||
| @@ -356,11 +351,11 @@ else | ||||
|  | ||||
|     "${pw_yad}" --plug=${KEY} --tabnum=1 --columns=3 --form --separator=";" \ | ||||
|     --image "$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
|     --field=":CB" "VULKAN (DXVK and VKD3D)\!DXVK  (DX 9-11 to Vulkan)\!OPENGL" \ | ||||
|     --field=":CB" "VULKAN (DXVK and VKD3D)!DXVK  (DX 9-11 to Vulkan)!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" "PROTON_STEAM  (${PW_STEAM_VER})\!PROTON_GE  (${PW_GE_VER})${DIST_ADD_TO_GUI}" \ | ||||
|     --field=":CB" "PROTON_STEAM  (${PW_STEAM_VER})!PROTON_GE  (${PW_GE_VER})${DIST_ADD_TO_GUI}" \ | ||||
|     --field=":LBL" "" \ | ||||
|     --field='WINEFILE'!!"${loc_winefile}":"BTN" '@bash -c "button_click WINEFILE"' \ | ||||
|     --field='WINECMD'!!"${loc_winecmd}":"BTN" '@bash -c "button_click WINECMD"' \ | ||||
| @@ -427,7 +422,5 @@ case "$PW_YAD_SET" in | ||||
|     gui_rm_portproton) gui_rm_portproton ;; | ||||
|     gui_proton_downloader) gui_proton_downloader ;; | ||||
|     120) gui_vkBasalt ;; | ||||
|     *) pw_autoinstall_from_db ;; | ||||
|     PW_*) pw_autoinstall_from_db ;; | ||||
| esac | ||||
|  | ||||
| stop_portwine | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| #!/bin/bash | ||||
| #Author: Castro-Fidel (PortWINE-Linux.ru) | ||||
| #SCRIPTS_NEXT_VERSION=2034 | ||||
| #SCRIPTS_NEXT_VERSION=2035 | ||||
| #PORT_NEXT_VERSION=97 | ||||
| ######################################################################## | ||||
| export PW_MANGOHUD=0 | ||||
| @@ -69,6 +69,6 @@ for fix_reg in "PnkBstrA.exe" "PnkBstrB.exe" ; do | ||||
|         sed -i "${sysreg_norig}s/dword:0000000[1-2]/dword:00000003/" "${WINEPREFIX}/system.reg" | ||||
|     fi | ||||
| done | ||||
| #disabled silent autostart steam | ||||
| sed -i '/steam.exe\\" -silent"/d' "${WINEPREFIX}/user.reg" | ||||
| } | ||||
| ###FOR_OLD_VERSION_PORTPROTON### | ||||
| #SCRIPTS_VERSION=1000 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user