forked from CastroFidel/PortWINE
		
	Scripts version 2307
This commit is contained in:
		| @@ -156,11 +156,12 @@ create_new_dir () { | ||||
| } | ||||
|  | ||||
| try_force_link_file () { | ||||
|     if [ ! -f "$1" ] ; then : | ||||
|     if [ ! -f "$1" ] ; then print_warning "file not found for link: $1" | ||||
|     elif [ -z "$2" ] ; then print_error "no way to link file $1" | ||||
|     else | ||||
|         try_remove_file "$2" | ||||
|         ln -s -f -r "$1" "$2" | ||||
|         [ "$?" != 0 ] && print_error "failed to link file $1 to $2" || return 0 | ||||
|         return 0 | ||||
|     fi | ||||
|     return 1 | ||||
| } | ||||
| @@ -197,7 +198,6 @@ check_process () { | ||||
| export -f check_process | ||||
|  | ||||
| try_download () { | ||||
|     local filename="$(basename "$1")" | ||||
|     local dest="$2" | ||||
|     local silent="false" | ||||
|     local no_mirror="false" | ||||
| @@ -209,6 +209,13 @@ try_download () { | ||||
|                 no_mirror=true | ||||
|     esac | ||||
|  | ||||
|     if [[ -n "${PW_AUTOINSTALL_EXE}" ]] \ | ||||
|     && [[ "$no_mirror" == "true" ]] ; then | ||||
|         local filename="$(basename "${PW_AUTOINSTALL_EXE}")" | ||||
|     else | ||||
|         local filename="$(basename "$1")" | ||||
|     fi | ||||
|  | ||||
|     if [[ "${MIRROR}" == CDN ]] \ | ||||
|     && [[ "$no_mirror" != "true" ]] | ||||
|     then | ||||
| @@ -1107,7 +1114,7 @@ check_dirs_and_files_in_pfx () { | ||||
|         LN_FONTS="arialbd.ttf courbd.ttf georgia.ttf micross.ttf msyh.ttf simsun.ttc arial.ttf cour.ttf malgun.ttf msgothic.ttc nirmala.ttf times.ttf" | ||||
|         for link_font in $LN_FONTS ; do | ||||
|             if [[ ! -f "${WINEPREFIX}/drive_c/windows/Fonts/${link_font}" ]] ; then | ||||
|                 try_force_link_file "${WINEDIR}/share/fonts/${link_font}" "${WINEPREFIX}/drive_c/windows/Fonts/" | ||||
|                 try_force_link_file "${WINEDIR}/share/fonts/${link_font}" "${WINEPREFIX}/drive_c/windows/Fonts/${link_font}" | ||||
|             fi | ||||
|         done | ||||
|  | ||||
| @@ -1264,15 +1271,6 @@ pw_init_db () { | ||||
|             check_variables PW_USE_FAKE_DLSS "0" | ||||
|             check_variables PW_USE_RAY_TRACING "1" | ||||
|         fi | ||||
|  | ||||
|         if grep "ru" "${PORT_WINE_TMP_PATH}/PortProton_loc" &>/dev/null ; then | ||||
|             for chk_lang_and_uname in "steam_emu.ini" "steam_api.ini" "steam_api64.ini" ; do | ||||
|                 if [[ -f "${PATH_TO_GAME}/${chk_lang_and_uname}" ]] ; then | ||||
|                     sed -i "s/Language=english/Language=russian/" "${PATH_TO_GAME}/${chk_lang_and_uname}" | ||||
|                     sed -i "/UserName=/c\UserName=${USER}" "${PATH_TO_GAME}/${chk_lang_and_uname}" | ||||
|                 fi | ||||
|             done | ||||
|         fi | ||||
|     fi | ||||
|  | ||||
|     [[ "${START_FROM_STEAM}" == 1 ]] && export PW_GUI_DISABLED_CS=1 | ||||
| @@ -1641,10 +1639,15 @@ start_portwine () { | ||||
|     fi | ||||
|  | ||||
|     pw_wineboot () { | ||||
|         LIST_NATIVE_WINE_DLL="winevulkan ir50_32 atl100 ntdll wined3d vulkan-1 shell32 dxgi d3d8 d3d9 d3d10core d3d11 d3d12 d3d12core" | ||||
|         LIST_NATIVE_WINE_DLL="winevulkan ir50_32 wined3d vulkan-1 dxgi d3d8 d3d9 d3d10core d3d11 d3d12 d3d12core" | ||||
|         for change_wine_dll in $LIST_NATIVE_WINE_DLL ; do | ||||
|             try_force_link_file "${WINEDIR}/lib64/wine/x86_64-windows/${change_wine_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|             try_force_link_file "${WINEDIR}/lib/wine/i386-windows/${change_wine_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|             try_force_link_file "${WINEDIR}/lib64/wine/x86_64-windows/${change_wine_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${change_wine_dll}.dll" | ||||
|             try_force_link_file "${WINEDIR}/lib/wine/i386-windows/${change_wine_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${change_wine_dll}.dll" | ||||
|         done | ||||
|  | ||||
|         for change_wine_dll in atl100 ntdll shell32 ; do | ||||
|             try_copy_file "${WINEDIR}/lib64/wine/x86_64-windows/${change_wine_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${change_wine_dll}.dll" | ||||
|             try_copy_file "${WINEDIR}/lib/wine/i386-windows/${change_wine_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${change_wine_dll}.dll" | ||||
|         done | ||||
|  | ||||
|         print_info "Used wineboot $@ for prefix: ${PW_PREFIX_NAME}" | ||||
| @@ -1699,11 +1702,7 @@ start_portwine () { | ||||
|             pw_wineboot -r | ||||
|         fi | ||||
|     fi | ||||
|     if grep 'xapofx1_' "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/user.reg" &>/dev/null ; then | ||||
|         sed -i '/xapofx1_/d' "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/user.reg" | ||||
|         sed -i '/x3daudio/d' "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/user.reg" | ||||
|         sed -i '/xaudio2/d' "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/user.reg" | ||||
|     fi | ||||
|  | ||||
|     echo "${PW_WINE_USE}" > "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver" | ||||
|  | ||||
|     if [[ "${PW_NO_ESYNC}" == 1 ]] | ||||
| @@ -1800,18 +1799,18 @@ start_portwine () { | ||||
|  | ||||
|     export DXVK_ENABLE_NVAPI=1 | ||||
|     if [[ "${PW_USE_FAKE_DLSS}" == 1 ]] && [[ -d "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/" ]] ; then | ||||
|         try_force_link_file "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|         try_force_link_file "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/nvngx.ini" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|         try_force_link_file "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/nvngx.dll" | ||||
|         try_force_link_file "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/nvngx.ini" "${WINEPREFIX}/drive_c/windows/system32/nvngx.ini" | ||||
|         enabled_fake_nvidia_videocard old | ||||
|         var_winedlloverride_update "nvapi,nvapi64,nvngx=n;_nvngx=;nvcuda=b" | ||||
|     elif [[ "${PW_USE_NVAPI_AND_DLSS}" == 1 ]] ; then | ||||
|         FIND_NVNGX="$(dirname $(find /usr/* -type f -name "nvngx.dll" 2>/dev/null | head -n 1 | awk '{print $1}'))" | ||||
|         if [[ ! -z "$FIND_NVNGX" ]] ; then | ||||
|             try_force_link_file "${FIND_NVNGX}/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|             try_force_link_file "${FIND_NVNGX}/_nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|             try_force_link_file "${FIND_NVNGX}/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/nvngx.dll" | ||||
|             try_force_link_file "${FIND_NVNGX}/_nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/_nvngx.dll" | ||||
|         else | ||||
|             try_force_link_file "${PW_PLUGINS_PATH}/nvngx/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|             try_force_link_file "${PW_PLUGINS_PATH}/nvngx/_nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|             try_force_link_file "${PW_PLUGINS_PATH}/nvngx/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/nvngx.dll" | ||||
|             try_force_link_file "${PW_PLUGINS_PATH}/nvngx/_nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/_nvngx.dll" | ||||
|         fi | ||||
|         enabled_fake_nvidia_videocard 0 | ||||
|         var_winedlloverride_update "nvngx,_nvngx,nvapi,nvapi64=n;nvcuda=b" | ||||
| @@ -1953,8 +1952,8 @@ start_portwine () { | ||||
|         # try link d3d extras libs | ||||
|         PATH_TO_D3DEXTRAS="${PW_PLUGINS_PATH}/d3d_extras" | ||||
|         for d3d_extras_from_plugins in $D3D_EXTRAS_LIBS ; do | ||||
|             try_force_link_file "${PATH_TO_D3DEXTRAS}/x64/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|             try_force_link_file "${PATH_TO_D3DEXTRAS}/x32/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|             try_force_link_file "${PATH_TO_D3DEXTRAS}/x64/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/system32/${d3d_extras_from_plugins}.dll" | ||||
|             try_force_link_file "${PATH_TO_D3DEXTRAS}/x32/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${d3d_extras_from_plugins}.dll" | ||||
|             var_winedlloverride_update "${d3d_extras_from_plugins}=n" | ||||
|             if [[ -z "$(grep "${d3d_extras_from_plugins}" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log")" ]] ; then | ||||
|                 echo "${d3d_extras_from_plugins}" >> "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" | ||||
| @@ -1962,19 +1961,19 @@ start_portwine () { | ||||
|         done | ||||
|     else | ||||
|         for d3d_extras_from_plugins in $D3D_EXTRAS_LIBS ; do | ||||
|             try_force_link_file "${WINEDIR}/lib/wine/i386-windows/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|             try_force_link_file "${WINEDIR}/lib64/wine/x86_64-windows/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|             try_force_link_file "${WINEDIR}/lib/wine/i386-windows/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${d3d_extras_from_plugins}.dll" | ||||
|             try_force_link_file "${WINEDIR}/lib64/wine/x86_64-windows/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/system32/${d3d_extras_from_plugins}.dll" | ||||
|         done | ||||
|     fi | ||||
|  | ||||
|     # fix physx | ||||
|     PHYSX_PATH="${WINEPREFIX}/drive_c/Program Files (x86)/NVIDIA Corporation/PhysX/Common" | ||||
|     for physx_dll in PhysXDevice PhysXLoader PhysXUpdateLoader ; do | ||||
|         try_force_link_file "${PHYSX_PATH}/${physx_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|         try_force_link_file "${PHYSX_PATH}/${physx_dll}64.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|         try_force_link_file "${PHYSX_PATH}/${physx_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${physx_dll}.dll" | ||||
|         try_force_link_file "${PHYSX_PATH}/${physx_dll}64.dll" "${WINEPREFIX}/drive_c/windows/system32/${physx_dll}64.dll" | ||||
|     done | ||||
|     try_force_link_file "${PHYSX_PATH}/cudart32_65.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|     try_force_link_file "${PHYSX_PATH}/cudart64_65.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|     try_force_link_file "${PHYSX_PATH}/cudart32_65.dll" "${WINEPREFIX}/drive_c/windows/syswow64/cudart32_65.dll" | ||||
|     try_force_link_file "${PHYSX_PATH}/cudart64_65.dll" "${WINEPREFIX}/drive_c/windows/system32/cudart64_65.dll" | ||||
|  | ||||
|     # 3D API | ||||
|     unset CP_VKD3D_FILES CP_DXVK_FILES CP_D8VK_FILES CP_DGV2_FILES CP_WINE_FILES | ||||
| @@ -2074,7 +2073,7 @@ start_portwine () { | ||||
|  | ||||
|     # DGVOODOO2 enable: | ||||
|     if [[ "${PW_DGVOODOO2}" == "1" ]] ; then | ||||
|         print_info "Try copy native DGVOODOO2 files..." | ||||
|         print_info "Try create symlink DGVOODOO2 files..." | ||||
|         PATH_TO_DGV2_FILES="${PW_VULKAN_DIR}/dgvoodoo2-${DGV2_VER}" | ||||
|         CP_DGV2_FILES="ddraw d3dimm d3d8 d3d9 glide glide2x glide3x" | ||||
|         try_copy_file "${PATH_TO_DGV2_FILES}/dgVoodoo.conf" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
| @@ -2083,9 +2082,9 @@ start_portwine () { | ||||
|             rm_from_var CP_DGV2_FILES "d3d8 d3d9" | ||||
|             rm_from_var CP_WINE_FILES "ddraw" | ||||
|         else | ||||
|             try_force_link_file "${PATH_TO_DGV2_FILES}/x64/d3d9.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|             try_force_link_file "${PATH_TO_DGV2_FILES}/x64/d3d9.dll" "${WINEPREFIX}/drive_c/windows/system32/d3d9.dll" | ||||
|             try_remove_file "${WINEPREFIX}/drive_c/windows/system32/dgVoodoo.conf" | ||||
|             try_force_link_file "${DGV2CONF}" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|             try_force_link_file "${DGV2CONF}" "${WINEPREFIX}/drive_c/windows/system32/dgVoodoo.conf" | ||||
|             case "${PW_VULKAN_USE}" in | ||||
|                 0) | ||||
|                     rm_from_var CP_WINE_FILES "ddraw d3d8 d3d9" | ||||
| @@ -2116,7 +2115,7 @@ start_portwine () { | ||||
|             esac | ||||
|         fi | ||||
|         for wine_dgv2_dll in $CP_DGV2_FILES ; do | ||||
|             try_force_link_file "${PATH_TO_DGV2_FILES}/x32/${wine_dgv2_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|             try_force_link_file "${PATH_TO_DGV2_FILES}/x32/${wine_dgv2_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_dgv2_dll}.dll" | ||||
|             var_winedlloverride_update "${wine_dgv2_dll}=n" | ||||
|         done | ||||
|         # DGVOODOO2 settings: | ||||
| @@ -2158,12 +2157,12 @@ start_portwine () { | ||||
|     done | ||||
|  | ||||
|     if [[ ! -z "$CP_DXVK_FILES" ]] ; then | ||||
|         print_info "Try copy native DXVK files..." | ||||
|         print_info "Try create symlink DXVK files..." | ||||
|         check_variables DXVK_HDR "0" | ||||
|         for wine_dxvk_dll in $CP_DXVK_FILES ; do | ||||
|             if [[ -f "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll"  ]] ; then | ||||
|                 try_force_link_file "${PATH_TO_DXVK_FILES}/x32/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|                 try_force_link_file "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|                 try_force_link_file "${PATH_TO_DXVK_FILES}/x32/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_dxvk_dll}.dll" | ||||
|                 try_force_link_file "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_dxvk_dll}.dll" | ||||
|                 var_winedlloverride_update "${wine_dxvk_dll}=n" | ||||
|             fi | ||||
|         done | ||||
| @@ -2174,18 +2173,18 @@ start_portwine () { | ||||
|  | ||||
|     if [[ "$DXVK_ENABLE_NVAPI" == "1" ]] ; then | ||||
|         print_info "Try copy NVAPI files..." | ||||
|         try_force_link_file "${PATH_TO_DXVK_FILES}/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" || \ | ||||
|         try_force_link_file "${PW_PLUGINS_PATH}/nvapi/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|         try_force_link_file "${PATH_TO_DXVK_FILES}/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/" || \ | ||||
|         try_force_link_file "${PW_PLUGINS_PATH}/nvapi/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|         try_force_link_file "${PATH_TO_DXVK_FILES}/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/nvapi.dll" || \ | ||||
|         try_force_link_file "${PW_PLUGINS_PATH}/nvapi/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/nvapi.dll" | ||||
|         try_force_link_file "${PATH_TO_DXVK_FILES}/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/nvapi64.dll" || \ | ||||
|         try_force_link_file "${PW_PLUGINS_PATH}/nvapi/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/nvapi64.dll" | ||||
|     fi | ||||
|  | ||||
|     if [[ ! -z "$CP_VKD3D_FILES" ]] ; then | ||||
|         print_info "Try copy native VKD3D files..." | ||||
|         print_info "Try create symlink VKD3D files..." | ||||
|         for wine_vkd3d_dll in $CP_VKD3D_FILES ; do | ||||
|             if [[ -f "${PATH_TO_VKD3D_FILES}/x64/${wine_vkd3d_dll}.dll" ]] ; then | ||||
|                 try_force_link_file "${PATH_TO_VKD3D_FILES}/x86/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|                 try_force_link_file "${PATH_TO_VKD3D_FILES}/x64/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|                 try_force_link_file "${PATH_TO_VKD3D_FILES}/x86/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_vkd3d_dll}.dll" | ||||
|                 try_force_link_file "${PATH_TO_VKD3D_FILES}/x64/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_vkd3d_dll}.dll" | ||||
|                 var_winedlloverride_update "${wine_vkd3d_dll}=n" | ||||
|             fi | ||||
|         done | ||||
| @@ -2194,17 +2193,17 @@ start_portwine () { | ||||
|     fi | ||||
|  | ||||
|     if [[ ! -z "$CP_D8VK_FILES" ]] ; then | ||||
|         print_info "Try copy native D8VK files..." | ||||
|         print_info "Try create symlink D8VK files..." | ||||
|         PATH_TO_D8VK_FILES="${PW_VULKAN_DIR}/d8vk-${D8VK_VER}" | ||||
|         for wine_d8vk_dll in $CP_D8VK_FILES ; do | ||||
|             try_force_link_file "${PATH_TO_D8VK_FILES}/x32/${wine_d8vk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|             try_force_link_file "${PATH_TO_D8VK_FILES}/x64/${wine_d8vk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|             try_force_link_file "${PATH_TO_D8VK_FILES}/x32/${wine_d8vk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_d8vk_dll}.dll" | ||||
|             try_force_link_file "${PATH_TO_D8VK_FILES}/x64/${wine_d8vk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_d8vk_dll}.dll" | ||||
|             var_winedlloverride_update "${wine_d8vk_dll}=n" | ||||
|         done | ||||
|     fi | ||||
|  | ||||
|     if [[ "$CP_GALLIUM_NINE_FILES" == "d3d9" ]] ; then | ||||
|         print_info "Try copy native GALLIUM_NINE files..." | ||||
|         print_info "Try create symlink GALLIUM_NINE files..." | ||||
|         PATH_TO_GALLIUM_NINE_FILES="${PW_PLUGINS_PATH}/gallium_nine_v.${PW_GALLIUM_NINE_VER}" | ||||
|         try_force_link_file "${PATH_TO_GALLIUM_NINE_FILES}/lib32/d3d9-nine.dll.so" "${WINEPREFIX}/drive_c/windows/syswow64/d3d9.dll" | ||||
|         try_force_link_file "${PATH_TO_GALLIUM_NINE_FILES}/lib64/d3d9-nine.dll.so" "${WINEPREFIX}/drive_c/windows/system32/d3d9.dll" | ||||
| @@ -2236,8 +2235,8 @@ start_portwine () { | ||||
|  | ||||
|     if [[ ! -d "${WINEPREFIX}/drive_c/vrclient/bin" ]] ; then | ||||
|         create_new_dir "${WINEPREFIX}/drive_c/vrclient/bin" | ||||
|         try_force_link_file "${WINEDIR}"/lib/wine/i386-windows/vrclient.dll "${WINEPREFIX}/drive_c/vrclient/bin/" | ||||
|         try_force_link_file "${WINEDIR}"/lib64/wine/x86_64-windows/vrclient_x64.dll "${WINEPREFIX}/drive_c/vrclient/bin/" | ||||
|         try_force_link_file "${WINEDIR}"/lib/wine/i386-windows/vrclient.dll "${WINEPREFIX}/drive_c/vrclient/bin/vrclient.dll" | ||||
|         try_force_link_file "${WINEDIR}"/lib64/wine/x86_64-windows/vrclient_x64.dll "${WINEPREFIX}/drive_c/vrclient/bin/vrclient_x64.dll" | ||||
|     fi | ||||
|  | ||||
|     if [[ "${PW_USE_SHADER_CACHE}" == "1" ]] ; then | ||||
| @@ -2394,6 +2393,16 @@ start_portwine () { | ||||
|         export DXVK_CONFIG_FILE="${PATH_TO_GAME}/dxvk.conf" | ||||
|     fi | ||||
|  | ||||
|     if  [[ "$LANGUAGE" == "ru" ]] ; then | ||||
|         for chk_lang_and_uname in "steam_emu.ini" "steam_api.ini" "steam_api64.ini" "SteamConfig.ini" ; do | ||||
|             if [[ -f "${PATH_TO_GAME}/${chk_lang_and_uname}" ]] ; then | ||||
|                 sed -i "/Language/c\Language=russian/" "${PATH_TO_GAME}/${chk_lang_and_uname}" | ||||
|                 sed -i "/UserName/c\UserName=${USER}" "${PATH_TO_GAME}/${chk_lang_and_uname}" | ||||
|                 sed -i "/PlayerName/c\PlayerName=${USER}" "${PATH_TO_GAME}/${chk_lang_and_uname}" | ||||
|             fi | ||||
|         done | ||||
|     fi | ||||
|  | ||||
|     if [[ "${PW_DISABLE_COMPOSITING}" == "1" ]] \ | ||||
|     && ! check_gamescope_session | ||||
|     then | ||||
| @@ -2527,12 +2536,13 @@ pw_yad_set_form () { | ||||
|  | ||||
| pw_yad_form_vulkan () { | ||||
|     if [[ "$(<"${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan")" != "" ]] ; then | ||||
|         sed -i 's/$/\;/' "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | ||||
|         YAD_FORM_VULKAN=$(<"${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan") | ||||
|         YAD_FORM_VULKAN=$(sed 's/$/\;/' "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan") | ||||
|         VULKAN_MOD=$(echo "${YAD_FORM_VULKAN}" | grep \;\; | awk -F";" '{print $1}') | ||||
|         PW_WINE_VER=$(echo "${YAD_FORM_VULKAN}" | grep \;\; | awk -F";" '{print $2}') | ||||
|         PW_PREFIX_NAME=$(echo "${YAD_FORM_VULKAN}" | grep \;\; | awk -F";" '{print $3}' | sed -e s/[[:blank:]]/_/g) | ||||
|         if [[ -z "${PW_PREFIX_NAME}" ]] || [[ ! -z "$(echo "${PW_PREFIX_NAME}" | grep -E '^_.*' )" ]] ; then | ||||
|         if [[ -z "${PW_PREFIX_NAME}" ]] \ | ||||
|         || [[ ! -z "$(echo "${PW_PREFIX_NAME}" | grep -E '^_.*' )" ]] | ||||
|         then | ||||
|             PW_PREFIX_NAME="DEFAULT" | ||||
|         else | ||||
|             PW_PREFIX_NAME="${PW_PREFIX_NAME^^}" | ||||
| @@ -2545,7 +2555,7 @@ portwine_launch () { | ||||
|     start_portwine | ||||
|     PORTWINE_MSI=$(basename "${portwine_exe}" | grep .msi) | ||||
|     PORTWINE_BAT=$(basename "${portwine_exe}" | grep .bat) | ||||
|     if [[ ! -z "${PW_VIRTUAL_DESKTOP}" && "${PW_VIRTUAL_DESKTOP}" == "1" ]] ; then | ||||
|     if [[ "${PW_VIRTUAL_DESKTOP}" == "1" ]] ; then | ||||
|         pw_run explorer "/desktop=PortProton,${PW_SCREEN_RESOLUTION}" ${WINE_WIN_START} "$portwine_exe" | ||||
|     elif [ ! -z "${PORTWINE_MSI}" ]; then | ||||
|         pw_run msiexec /i "$portwine_exe" | ||||
| @@ -3202,7 +3212,7 @@ A brief instruction: | ||||
|  | ||||
|     "${pw_yad}" --notebook --key="$KEY_EDIT_DB_GUI" --title "$(eval_gettext "EDIT DB")" --text-align=center \ | ||||
|     --text "$(eval_gettext "Change settings in database file for") <b>${PORTWINE_DB}</b>\n $(eval_gettext "<b>NOTE:</b> To display help for each item, simply hover your mouse over the text")" \ | ||||
|     --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --separator=" " --expand \ | ||||
|     --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --separator=" " --expand --center \ | ||||
|     --tab="$(eval_gettext "MAIN")"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \ | ||||
|     --tab="$(eval_gettext "ADVANCED")"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \ | ||||
|     --button="$(eval_gettext "CANCEL THE CHANGES")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Cancel the current changes and return to the previous menu")":1 \ | ||||
| @@ -3382,7 +3392,7 @@ fi | ||||
|     1> "${PORT_WINE_TMP_PATH}/tmp_yad_cas_set" 2>/dev/null & | ||||
|  | ||||
|     "${pw_yad}" --paned --key="$KEY_FX_GUI" --sensitive --gui-type=settings --gui-type-height=5 --gui-type-width=5 --title="vkBasalt" \ | ||||
|     --separator=" " --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \ | ||||
|     --separator=" " --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --center \ | ||||
|     --button="$(eval_gettext "CANCEL THE CHANGES")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Cancel the current changes and return to the previous menu")":1 \ | ||||
|     --button="$(eval_gettext "DISABLE") VKBASALT"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Disable vkBasalt and go to the previous menu")":180 \ | ||||
|     --button="$(eval_gettext "SAVE CHANGES")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Save the current changes, and go to the previous menu")":182 2>/dev/null | ||||
| @@ -3543,7 +3553,7 @@ fi | ||||
|         ${ADD_GUI_MH_FPS} 1> "${PORT_WINE_TMP_PATH}/tmp_yad_mh_fps_limit" 2>/dev/null & | ||||
|     IFS=$old_IFS | ||||
|  | ||||
|     "${pw_yad}" --paned --key="$KEY_MH_GUI" --title="MangoHud" \ | ||||
|     "${pw_yad}" --paned --key="$KEY_MH_GUI" --title="MangoHud" --center \ | ||||
|         --separator=" " --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --sensitive --gui-type=settings --gui-type-height=5 --gui-type-width=5 \ | ||||
|         --button="$(eval_gettext "CANCEL THE CHANGES")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Cancel the current changes and return to the previous menu")":1 \ | ||||
|         --button="$(eval_gettext "DISABLE") MANGOHUD"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Disable MangoHud and go to the previous menu")":182 \ | ||||
| @@ -3677,7 +3687,7 @@ fi | ||||
|     --field="${CHKBOX_SPACE}ANTIALIASING!$(eval_gettext "Forced antialiasing in Direct3D and Glide games") :CB" "${PW_DGV2_ANTIALIASING}!disabled!2!4!8" \ | ||||
|     1> "${PORT_WINE_TMP_PATH}/tmp_yad_dgv2_set_cb" 2>/dev/null & | ||||
|  | ||||
|     "${pw_yad}" --paned --key=$KEY_DGV2_GUI --height="350" --title="dgVoodoo2" \ | ||||
|     "${pw_yad}" --paned --key=$KEY_DGV2_GUI --height="350" --title="dgVoodoo2" --center \ | ||||
|     --separator=" " --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --sensitive --gui-type=settings --gui-type-height=5 --gui-type-width=5 \ | ||||
|     --button="$(eval_gettext "CANCEL THE CHANGES")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Cancel the current changes and return to the previous menu")":1 \ | ||||
|     --button="$(eval_gettext "DISABLE") DGVOODOO2"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png"!"$(eval_gettext "Disable dgVoodoo2 and go to the previous menu")":162 \ | ||||
| @@ -3743,7 +3753,7 @@ fi | ||||
|  | ||||
|     output_yad_gamescope="$("${pw_yad}" --title "GAMESCOPE" --text-align=center --height="350" \ | ||||
|     --text "$(eval_gettext "Change settings gamescope for") <b>${PORTWINE_DB}</b>\n $(eval_gettext "<b>NOTE:</b> To display help for each item, simply hover your mouse over the text")" \ | ||||
|     --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --separator=" " --expand --form \ | ||||
|     --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --separator=" " --expand --center --form \ | ||||
|     --field="$(eval_gettext "Add arguments for GAMESCOPE:")!$(eval_gettext " | ||||
| <b>-W, -H:</b> set the resolution used by gamescope. Resizing the gamescope window will update these settings. Ignored in embedded mode. If -H is specified but -W isn't, a 16:9 aspect ratio is assumed. Defaults to 1280×720. | ||||
| <b>-w, -h:</b> set the resolution used by the game. If -h is specified but -w isn't, a 16:9 aspect ratio is assumed. Defaults to the values specified in -W and -H. | ||||
|   | ||||
| @@ -1,9 +1,13 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Author: Castro-Fidel (linux-gaming.ru) | ||||
| ######################################################################## | ||||
| [[ "$LANGUAGE" == "ru" ]] && export BN_LOC=ruRU || export BN_LOC=enUS | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Battle.net-Setup-${BN_LOC}.exe" | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Battle.net-Setup.exe" | ||||
| export PW_WINE_USE="WINE_LG" | ||||
| export PW_VULKAN_USE="1" | ||||
| export LAUNCH_PARAMETERS="" | ||||
| export WINEDLLOVERRIDES="locationapi=" | ||||
| export PW_WINE_FULLSCREEN_FSR="0" | ||||
| export PW_USE_EAC_AND_BE="0" | ||||
|  | ||||
| start_portwine | ||||
| if try_download "https://battle.net/download/getInstallerForGame?os=win&version=LIVE&gameProgram=BATTLENET_APP" "${PW_AUTOINSTALL_EXE}" no_mirror | ||||
|   | ||||
| @@ -76,7 +76,7 @@ unset CHK_SYMLINK_FILE PW_MESA_GL_VERSION_OVERRIDE PW_VKD3D_FEATURE_LEVEL PATH_T | ||||
| unset PW_PREFIX_NAME WINEPREFIX VULKAN_MOD PW_WINE_VER PW_ADD_TO_ARGS_IN_RUNTIME PW_GAMEMODERUN_SLR AMD_VULKAN_ICD PW_WINE_CPU_TOPOLOGY | ||||
| unset PW_NAME_D_NAME PW_NAME_D_ICON PW_NAME_D_EXEC PW_EXEC_FROM_DESKTOP PW_ALL_DF PW_GENERATE_BUTTONS PW_NAME_D_ICON PW_NAME_D_ICON_48 | ||||
| unset MANGOHUD_CONFIG FPS_LIMIT PW_WINE_USE WINEDLLPATH WINE WINEDIR WINELOADER WINESERVER PW_USE_RUNTIME PORTWINE_CREATE_SHORTCUT_NAME MIRROR | ||||
| unset PW_LOCALE_SELECT PW_SETTINGS_INDICATION PW_GUI_START | ||||
| unset PW_LOCALE_SELECT PW_SETTINGS_INDICATION PW_GUI_START PW_AUTOINSTALL_EXE | ||||
|  | ||||
| export PORT_WINE_TMP_PATH="${PORT_WINE_PATH}/data/tmp" | ||||
| rm -f "$PORT_WINE_TMP_PATH"/*{exe,msi,tar}* | ||||
| @@ -487,7 +487,7 @@ if [[ -f "${portwine_exe}" ]] ; then | ||||
|  | ||||
|             PW_YAD_SET="$?" | ||||
|             if [[ "$PW_YAD_SET" == "1" || "$PW_YAD_SET" == "252" ]] ; then exit 0 ; fi | ||||
|             if [[ $(<"${PORT_WINE_TMP_PATH}//tmp_yad_form") != "" ]]; then | ||||
|             if [[ $(<"${PORT_WINE_TMP_PATH}/tmp_yad_form") != "" ]]; then | ||||
|                 PW_YAD_SET=$(head -n 1 "${PORT_WINE_TMP_PATH}/tmp_yad_form" | awk '{print $1}') | ||||
|                 export PW_YAD_SET | ||||
|                 export PW_YAD_FORM_TAB="1" | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| #!/usr/bin/env bash | ||||
| #Author: Castro-Fidel (linux-gaming.ru) | ||||
| #SCRIPTS_NEXT_VERSION=2306 | ||||
| #SCRIPTS_NEXT_VERSION=2307 | ||||
| ######################################################################## | ||||
| export LANGUAGES_LIST="ru es" | ||||
| export PW_MANGOHUD="0" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user