diff --git a/data_from_portwine/changelog_eng b/data_from_portwine/changelog_eng index 32e13253..2e71ce62 100755 --- a/data_from_portwine/changelog_eng +++ b/data_from_portwine/changelog_eng @@ -2,6 +2,17 @@ You can help us in the development of the project on the website: https://linux- ---------------------------------------- Changelog: +###Scripts version 2234### Date: 03.12.2023 / Download update size: 200 megabytes +* updated PROTON_LG to version 8-25-1 (fixed BattleNET) +* fixed the creation of shortcuts to STEAM in the absence of shortcuts.vdf file +* fixed the creation of icons for standard shortcuts (thanks Arta48) +* added the ability to create ppdb files for symbolic links (fix for the same exe file names) +* created individual settings files for games: + - Genshin Impact + - Warframe + - Rockstar +(the application requires restarting the auto-installation of the required game) + ###Scripts version 2233### Date: 26.11.2023 / Download update size: 8 megabytes * HOTFIX - create shortcut to STEAM diff --git a/data_from_portwine/changelog_rus b/data_from_portwine/changelog_rus index 8fb9c02f..c0448fcc 100755 --- a/data_from_portwine/changelog_rus +++ b/data_from_portwine/changelog_rus @@ -2,6 +2,21 @@ ----------------------------------------- История изменений: +###Scripts version 2234### Дата: 03.12.2023 / Размер скачиваемого обновления: 200 мегабайт +* обновлен PROTON_LG до версии 8-25-1 (исправлена работа BattleNET) +* исправлено создание ярлыков в STEAM при отсутствии shortcuts.vdf файла +* исправлено создание иконок для стандартных ярлыков (спасибо Arta48) +* добавлена возможность создавать ppdb файлы на символьные ссылки (исправление для одинаковых имён exe файлов) +* созданы индивидуальные файлы настроек для игр: + - Genshin Impact + - Warframe + - Rockstar +(для применения требуется повторный запуск автоустановки необходимой игры) + +* для лончера World of Sea Battle создаются 2 ярлыка: + - World of Sea Battle (EN) - для первого входа (логина) в игру + - World of Sea Battle (RU) - для возможности писать в чате на русском языке + ###Scripts version 2233### Дата: 26.11.2023 / Размер скачиваемого обновления: 8 мегабайт * HOTFIX - создание ярлыков в STEAM diff --git a/data_from_portwine/img/World of Sea Battle.png b/data_from_portwine/img/World of Sea Battle (ENG).png similarity index 100% rename from data_from_portwine/img/World of Sea Battle.png rename to data_from_portwine/img/World of Sea Battle (ENG).png diff --git a/data_from_portwine/img/World of Sea Battle (RU).png b/data_from_portwine/img/World of Sea Battle (RU).png new file mode 100644 index 00000000..e04140ed Binary files /dev/null and b/data_from_portwine/img/World of Sea Battle (RU).png differ diff --git a/data_from_portwine/scripts/add_in_steam.sh b/data_from_portwine/scripts/add_in_steam.sh index da8a24d1..11653846 100755 --- a/data_from_portwine/scripts/add_in_steam.sh +++ b/data_from_portwine/scripts/add_in_steam.sh @@ -5,10 +5,13 @@ PROGNAME="PortProton" # PERSONAL_NAME="$(grep PersonaName "$HOME/.local/share/Steam/config/loginusers.vdf" | awk -F'"' '{print $4}')" -STUIDPATH="$(find "$HOME/.local/share/Steam/userdata/" -maxdepth 1 -type d -name "[1-9]*" | head -n1)" SCVDF="shortcuts.vdf" SCPATH="$STUIDPATH/config/$SCVDF" +if [[ ! -f "$SCPATH" ]] ; then + echo '0073686f727463757473000808' | xxd -r -p > "$SCPATH" +fi + NOSTAPPNAME="$name_desktop" NOSTEXEPATH="\"${STEAM_SCRIPTS}/${name_desktop}.sh\"" NOSTSTDIR="\"${STEAM_SCRIPTS}\"" @@ -95,21 +98,10 @@ if [ -n "${NOSTEXEPATH}" ]; then printf '\x02%s\x00\x00\x00\x00\x00' "openvr" fi - # splitTags () { - # mapfile -d "," -t -O "${#TAGARR[@]}" TAGARR < <(printf '%s' "$1") - # for i in "${!TAGARR[@]}"; do - # if grep -q "${TAGARR[$i]}" <<< "$(getActiveSteamCollections)"; then - # printf '\x01%s\x00%s\x00' "$i" "${TAGARR[i]}" - # fi - # done - # } - printf '\x02%s\x00\x00\x00\x00\x00' "Devkit" printf '\x01%s\x00\x00' "DevkitGameID" - printf '\x02%s\x00\x00\x00\x00\x00' "LastPlayTime" printf '\x00%s\x00' "tags" - # splitTags "PortProton" printf '\x08' printf '\x08' @@ -117,4 +109,6 @@ if [ -n "${NOSTEXEPATH}" ]; then printf '\x08' printf '\x08' } >> "$SCPATH" + + # echo '00013000504f727450726f746f6e0008080808' | xxd -r -p >> "$SCPATH" fi diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index 294ca73b..95baa87f 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -896,7 +896,6 @@ pw_init_db () { [[ -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 fi if [[ -f "${PORTWINE_DB_FILE}" ]] ; then @@ -1086,7 +1085,7 @@ pw_create_gui_png () { if [[ -x "`command -v wrestool 2>/dev/null`" ]] && [[ ! -f "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" ]] ; then try_remove_dir "${PORT_WINE_TMP_PATH}/tmp_img" create_new_dir "${PORT_WINE_TMP_PATH}/tmp_img" - wrestool -x --output="${PORT_WINE_TMP_PATH}/tmp_img/" -t14 "${portwine_exe}" + wrestool -x --output="${PORT_WINE_TMP_PATH}/tmp_img/" -t14 "$(readlink -f "${portwine_exe}")" cp "$(ls -S -1 "${PORT_WINE_TMP_PATH}/tmp_img/"*".ico" | head -n 1)" "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.ico" icotool -x --width=${PW_RESIZE_TO} --height=${PW_RESIZE_TO} --output="${PORT_WINE_TMP_PATH}/tmp_img/" "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.ico" if [[ ! -f "$(ls -S -1 "${PORT_WINE_TMP_PATH}/tmp_img/"*".png" | grep "${PW_RESIZE_TO}x${PW_RESIZE_TO}")" ]] ; then @@ -1151,3 +1150,22 @@ pw_find_exe () { exit 0 fi } + +pw_create_unique_exe () { + BASEDIR_GAME="$(dirname "$portwine_exe")" + if [[ -d "$BASEDIR_GAME" ]] ; then + pushd "$BASEDIR_GAME" + BASENAME_GAME_EXE="$(basename "$portwine_exe")" + if [[ ! -z "$1" ]] ; then + BASENAME_GAME="$(echo "$(basename "$1" .exe).exe")" + ln -sf "$BASENAME_GAME_EXE" "$BASENAME_GAME" + export portwine_exe="$BASEDIR_GAME/$BASENAME_GAME" + elif [[ ! -z "$PORTWINE_CREATE_SHORTCUT_NAME" ]] ; then + ln -sf "$BASENAME_GAME_EXE" "$PORTWINE_CREATE_SHORTCUT_NAME.exe" + export portwine_exe="$BASEDIR_GAME/$PORTWINE_CREATE_SHORTCUT_NAME.exe" + else + print_warning "There are no arguments for creating a symbolic link! Skip it..." + fi + popd + fi +} diff --git a/data_from_portwine/scripts/portwine_db/Genshin Impact b/data_from_portwine/scripts/portwine_db/Genshin Impact new file mode 100644 index 00000000..26c22f15 --- /dev/null +++ b/data_from_portwine/scripts/portwine_db/Genshin Impact @@ -0,0 +1,39 @@ +#!/usr/bin/env bash +#Author: fidel +#Genshin Impact.exe +#Rating=1-5 +#####################examples########################### +export PW_WINDOWS_VER="10" +export PW_DLL_INSTALL="" +export WINEDLLOVERRIDES="" +export LAUNCH_PARAMETERS="" +export PW_VULKAN_USE="2" +export PW_HIDE_NVIDIA_GPU="0" +export PW_VIRTUAL_DESKTOP="0" +export ENABLE_VKBASALT="0" +export PW_NO_FSYNC="0" +export PW_NO_ESYNC="1" +export PW_USE_GSTREAMER="1" +export PW_REDUCE_PULSE_LATENCY="0" +export PW_USE_TERMINAL="0" +export PW_GUI_DISABLED_CS="0" +export PW_PREFIX_NAME="GENSHIN_IMPACT" +export PW_MANGOHUD="0" +export PW_MANGOHUD_x32="0" +export PW_MANGOHUD_USER_CONF="0" +export PW_USE_RAY_TRACING="0" +export PW_USE_NVAPI_AND_DLSS="0" +export PW_USE_FAKE_DLSS="0" +export PW_WINE_FULLSCREEN_FSR="1" +export PW_USE_GAMEMODE="1" +export PW_DX12_DISABLE="0" +export PW_USE_D3D_EXTRAS="1" +export PW_FIX_VIDEO_IN_GAME="0" +export PW_USE_US_LAYOUT="0" +export PW_FORCE_LARGE_ADDRESS_AWARE="0" +export PW_USE_SHADER_CACHE="1" +export PW_USE_WINE_DXGI="0" +export PW_USE_EAC_AND_BE="0" +export PW_USE_SYSTEM_VK_LAYERS="0" +export PW_USE_OBS_VKCAPTURE="0" +export PW_USE_GALLIUM_ZINK="0" diff --git a/data_from_portwine/scripts/portwine_db/Rockstar_Games_Launcher b/data_from_portwine/scripts/portwine_db/Rockstar_Games_Launcher index add9a435..fed744c7 100755 --- a/data_from_portwine/scripts/portwine_db/Rockstar_Games_Launcher +++ b/data_from_portwine/scripts/portwine_db/Rockstar_Games_Launcher @@ -1,7 +1,7 @@ #!/usr/bin/env bash #Author: Garrett #RockstarService.exe -#Launcher.exe +#rockstar_launcher_pp.exe #LauncherPatcher.exe #Rating=? ################################################ diff --git a/data_from_portwine/scripts/portwine_db/WORLD OF SEA BATTLE (TEXT 2 RU) b/data_from_portwine/scripts/portwine_db/WORLD OF SEA BATTLE (TEXT 2 RU) index 880d299e..ef3e0446 100755 --- a/data_from_portwine/scripts/portwine_db/WORLD OF SEA BATTLE (TEXT 2 RU) +++ b/data_from_portwine/scripts/portwine_db/WORLD OF SEA BATTLE (TEXT 2 RU) @@ -1,16 +1,10 @@ #!/usr/bin/env bash #Author: Cefeiko -#launcher.exe +#wosb_launcher_ru.exe #Rating=? ################################################ -export PW_COMMENT_DB="World of Sea Battle - -Если Ваша система на РУССКОМ, -то для ввода логина и пароля выберите другой ДБ файл: -WORLD OF SEA BATTLE (TEXT EN) - -С этим ДБ файлом писать на АНГЛИЙСКОМ не получится, -пока не исправит разработчик" +export PW_COMMENT_DB="С этим ДБ файлом писать на АНГЛИЙСКОМ не получится. +Для входа в игру используйте ярлык World of Sea Battle (EN)" export PW_PREFIX_NAME="DOTNET" export PW_WINDOWS_VER="10" export PW_VULKAN_USE="2" @@ -21,4 +15,3 @@ export PW_USE_GSTREAMER="1" export PW_FORCE_LARGE_ADDRESS_AWARE="1" export PW_USE_SHADER_CACHE="1" export LAUNCH_PARAMETERS="" -# export LANG=en_US.UTF-8 diff --git a/data_from_portwine/scripts/portwine_db/WORLD OF SEA BATTLE (TEXT EN) b/data_from_portwine/scripts/portwine_db/WORLD OF SEA BATTLE (TEXT EN) index 070979a5..72785571 100755 --- a/data_from_portwine/scripts/portwine_db/WORLD OF SEA BATTLE (TEXT EN) +++ b/data_from_portwine/scripts/portwine_db/WORLD OF SEA BATTLE (TEXT EN) @@ -1,14 +1,9 @@ #!/usr/bin/env bash #Author: Cefeiko -#launcher.exe +#wosb_launcher_en.exe #Rating=? ################################################ -export PW_COMMENT_DB="World of Sea Battle - -Если Ваша система на РУССКОМ, то: -Для ввода логина и пароля используйте этот ДБ файл. -После аутентификации перезапустите игру со вторым ДБ файлом: -WORLD OF SEA BATTLE (TEXT 2 RU)" +export PW_COMMENT_DB="" export PW_PREFIX_NAME="DOTNET" export PW_WINDOWS_VER="10" export PW_VULKAN_USE="2" diff --git a/data_from_portwine/scripts/portwine_db/warframe b/data_from_portwine/scripts/portwine_db/warframe new file mode 100644 index 00000000..e68fbe98 --- /dev/null +++ b/data_from_portwine/scripts/portwine_db/warframe @@ -0,0 +1,39 @@ +#!/usr/bin/env bash +#Author: fidel +#warframe_launcher_pp.exe +#Rating=1-5 +#####################examples########################### +export PW_WINDOWS_VER="10" +export PW_DLL_INSTALL="" +export WINEDLLOVERRIDES="" +export LAUNCH_PARAMETERS="" +export PW_VULKAN_USE="2" +export PW_HIDE_NVIDIA_GPU="0" +export PW_VIRTUAL_DESKTOP="0" +export ENABLE_VKBASALT="0" +export PW_NO_FSYNC="0" +export PW_NO_ESYNC="1" +export PW_USE_GSTREAMER="1" +export PW_REDUCE_PULSE_LATENCY="0" +export PW_USE_TERMINAL="0" +export PW_GUI_DISABLED_CS="0" +export PW_PREFIX_NAME="DEFAULT" +export PW_MANGOHUD="0" +export PW_MANGOHUD_x32="0" +export PW_MANGOHUD_USER_CONF="0" +export PW_USE_RAY_TRACING="0" +export PW_USE_NVAPI_AND_DLSS="0" +export PW_USE_FAKE_DLSS="0" +export PW_WINE_FULLSCREEN_FSR="1" +export PW_USE_GAMEMODE="1" +export PW_DX12_DISABLE="0" +export PW_USE_D3D_EXTRAS="1" +export PW_FIX_VIDEO_IN_GAME="0" +export PW_USE_US_LAYOUT="0" +export PW_FORCE_LARGE_ADDRESS_AWARE="0" +export PW_USE_SHADER_CACHE="1" +export PW_USE_WINE_DXGI="0" +export PW_USE_EAC_AND_BE="0" +export PW_USE_SYSTEM_VK_LAYERS="0" +export PW_USE_OBS_VKCAPTURE="0" +export PW_USE_GALLIUM_ZINK="0" diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_BATTLE_NET b/data_from_portwine/scripts/pw_autoinstall/PW_BATTLE_NET index b3a76c96..3d02c54c 100755 --- a/data_from_portwine/scripts/pw_autoinstall/PW_BATTLE_NET +++ b/data_from_portwine/scripts/pw_autoinstall/PW_BATTLE_NET @@ -3,6 +3,7 @@ ######################################################################## [ "${update_loc}" = "RUS" ] && export BN_LOC=ruRU || export BN_LOC=enUS export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Battle.net-Setup-${BN_LOC}.exe" + start_portwine if try_download_game "https://battle.net/download/getInstallerForGame?os=win&version=LIVE&gameProgram=BATTLENET_APP" "${PW_AUTOINSTALL_EXE}" then diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_GENSHIN_IMPACT b/data_from_portwine/scripts/pw_autoinstall/PW_GENSHIN_IMPACT index 819d4104..396516d4 100755 --- a/data_from_portwine/scripts/pw_autoinstall/PW_GENSHIN_IMPACT +++ b/data_from_portwine/scripts/pw_autoinstall/PW_GENSHIN_IMPACT @@ -4,6 +4,7 @@ export PW_VULKAN_USE=2 export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/gi_installer.exe" export PW_PREFIX_NAME="GENSHIN_IMPACT" +export PORTWINE_CREATE_SHORTCUT_NAME="Genshin Impact" start_portwine @@ -13,12 +14,12 @@ then pw_kill_autostart launcher.exe & export PATH_TO_GAME="${PW_USER_TEMP}" pw_run "${PW_AUTOINSTALL_EXE}" - portwine_exe="$WINEPREFIX/drive_c/Program Files/Genshin Impact/launcher.exe" + export portwine_exe="$WINEPREFIX/drive_c/Program Files/Genshin Impact/launcher.exe" + pw_create_unique_exe try_remove_file "${PW_AUTOINSTALL_EXE}" try_remove_file "${portwine_exe}.ppdb" kill_portwine pw_stop_progress_bar - export PORTWINE_CREATE_SHORTCUT_NAME="Genshin Impact" portwine_create_shortcut fi diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_ROCKSTAR b/data_from_portwine/scripts/pw_autoinstall/PW_ROCKSTAR index eea63d63..1e9a0f5f 100755 --- a/data_from_portwine/scripts/pw_autoinstall/PW_ROCKSTAR +++ b/data_from_portwine/scripts/pw_autoinstall/PW_ROCKSTAR @@ -3,6 +3,8 @@ ######################################################################## export PW_VULKAN_USE="1" export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Rockstar-Games-Launcher.exe" +export PORTWINE_CREATE_SHORTCUT_NAME="Rockstar" + start_portwine if try_download_game "https://gamedownloads.rockstargames.com/public/installer/Rockstar-Games-Launcher.exe" "${PW_AUTOINSTALL_EXE}" then @@ -11,11 +13,11 @@ then pw_kill_autostart RockstarService.exe & pw_run "${PW_AUTOINSTALL_EXE}" portwine_exe=`find "$WINEPREFIX/drive_c/" -type f -name "Launcher.exe" | grep "Rockstar Games/Launcher/Launcher.exe"` + pw_create_unique_exe "rockstar_launcher_pp" try_remove_file "${PW_AUTOINSTALL_EXE}" try_remove_file "${portwine_exe}.ppdb" kill_portwine pw_stop_progress_bar - export PORTWINE_CREATE_SHORTCUT_NAME="Rockstar" portwine_create_shortcut fi stop_portwine diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_WARFRAME b/data_from_portwine/scripts/pw_autoinstall/PW_WARFRAME index 4d5761a1..7bd36a12 100644 --- a/data_from_portwine/scripts/pw_autoinstall/PW_WARFRAME +++ b/data_from_portwine/scripts/pw_autoinstall/PW_WARFRAME @@ -3,6 +3,7 @@ ######################################################################## export LAUNCH_PARAMETERS=("/q") export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Warframe.msi" +export PORTWINE_CREATE_SHORTCUT_NAME="Warframe" start_portwine if try_download_game "http://content.warframe.com/dl/Warframe.msi" "${PW_AUTOINSTALL_EXE}" @@ -10,16 +11,12 @@ then pw_start_progress_bar_block "${loc_gui_installing_the} Warframe. ${loc_gui_please_wait} " pw_kill_autostart Launcher.exe 3 & pw_run msiexec /i "${PW_AUTOINSTALL_EXE}" - - pushd "${WINEPREFIX}/drive_c/users/$USER/AppData/Local/Warframe/Downloaded/Public/Tools/" - ln -s Launcher.exe Warframe_Launcher.exe - popd - portwine_exe="${WINEPREFIX}/drive_c/users/$USER/AppData/Local/Warframe/Downloaded/Public/Tools/Warframe_Launcher.exe" + export portwine_exe="${WINEPREFIX}/drive_c/users/$USER/AppData/Local/Warframe/Downloaded/Public/Tools/Launcher.exe" + pw_create_unique_exe "warframe_launcher_pp" try_remove_file "${PW_AUTOINSTALL_EXE}" try_remove_file "${portwine_exe}.ppdb" kill_portwine pw_stop_progress_bar - export PORTWINE_CREATE_SHORTCUT_NAME="Warframe" portwine_create_shortcut fi stop_portwine diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_WOSB b/data_from_portwine/scripts/pw_autoinstall/PW_WOSB index 6f53c110..442648ab 100755 --- a/data_from_portwine/scripts/pw_autoinstall/PW_WOSB +++ b/data_from_portwine/scripts/pw_autoinstall/PW_WOSB @@ -14,15 +14,25 @@ start_portwine if try_download_game "https://installer.launcher.xsolla.com/xlauncher-builds/xsolla-launcher-update/${WOSB_VERSION}/bin/installer.exe" "${PW_AUTOINSTALL_EXE}" then pw_start_progress_bar_block "Installing World of Sea Battle. ${loc_gui_please_wait} " - - # pw_kill_autostart WorldOfSeaBattleClient.exe & pw_run "${PW_AUTOINSTALL_EXE}" - portwine_exe="$WINEPREFIX/drive_c/users/$USER/AppData/Local/Wosb Launcher/launcher.exe" try_remove_file "${PW_AUTOINSTALL_EXE}" - try_remove_file "${portwine_exe}.ppdb" - kill_portwine pw_stop_progress_bar - export PORTWINE_CREATE_SHORTCUT_NAME="World of Sea Battle" - portwine_create_shortcut + kill_portwine + + if [[ "${update_loc}" == "RUS" ]] ; then + export portwine_exe="$WINEPREFIX/drive_c/users/$USER/AppData/Local/Wosb Launcher/launcher.exe" + export PORTWINE_CREATE_SHORTCUT_NAME="World of Sea Battle (RU)" + pw_create_unique_exe "wosb_launcher_ru" + try_remove_file "${portwine_exe}.ppdb" + export PW_SKIP_RESTART_STEAM=1 + portwine_create_shortcut block_name + fi + + export portwine_exe="$WINEPREFIX/drive_c/users/$USER/AppData/Local/Wosb Launcher/launcher.exe" + export PORTWINE_CREATE_SHORTCUT_NAME="World of Sea Battle (EN)" + pw_create_unique_exe "wosb_launcher_en" + try_remove_file "${portwine_exe}.ppdb" + portwine_create_shortcut block_name + fi stop_portwine diff --git a/data_from_portwine/scripts/runlib b/data_from_portwine/scripts/runlib index dd416d2d..77dc1340 100755 --- a/data_from_portwine/scripts/runlib +++ b/data_from_portwine/scripts/runlib @@ -392,7 +392,11 @@ start_portwine () { then try_force_link_file "${WINEDIR}"/lib64/wine/x86_64-windows/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/dxgi.dll" fi print_info "Try link wine d3d filese by default..." - for wine_build_dll in d3d12core d3d12 d3d11 d3d10 d3d10core d3d10_1 d3d9 d3d8 dxgi ; do + for rm_vulkan_dll in libvkd3d-1 libvkd3d-shader-1 dxvk_config nvapi nvapi64 ; do + try_remove_file "${WINEPREFIX}/drive_c/windows/system32/${wine_build_dll}.dll" + try_remove_file "${WINEPREFIX}/drive_c/windows/syswow64/${wine_build_dll}.dll" + done + for wine_build_dll in d3d12core d3d12 d3d11 d3d10 d3d10core d3d10_1 d3d9 d3d8 dxgi wined3d ; do if ! try_force_link_file "${WINEDIR}/lib/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_build_dll}.dll" then try_force_link_file "${WINEDIR}/lib/wine/i386-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_build_dll}.dll" fi @@ -409,15 +413,15 @@ start_portwine () { print_info "Use OpenGL" export GL_YIELD="NOTHING" export mesa_glthread=true - var_winedlloverride_update "d3d11,d3d10,d3d10core,d3d10_1,d3d9,wined3d9,dxgi=b;d3d12,d3d12core=" + export WINE_D3D_CONFIG='renderer=gl' elif [[ "${PW_VULKAN_USE}" == "5" ]] ; then print_info "Use OpenGL Zink" export GL_YIELD="NOTHING" export mesa_glthread=true + export WINE_D3D_CONFIG='renderer=gl' export __GLX_VENDOR_LIBRARY_NAME=mesa export MESA_LOADER_DRIVER_OVERRIDE=zink export GALLIUM_DRIVER=zink - var_winedlloverride_update "d3d11,d3d10,d3d10core,d3d10_1,d3d9,wined3d9,dxgi=b;d3d12,d3d12core=" elif [[ "${PW_VULKAN_USE}" == "3" ]] ; then print_info "Use GALLIUM-NINE (Native DX9 on MESA drivers)" export PW_GALLIUM_NINE_VER="0.8" diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh index 67c79793..90cbe515 100755 --- a/data_from_portwine/scripts/start.sh +++ b/data_from_portwine/scripts/start.sh @@ -6,7 +6,7 @@ export pw_full_command_line=("$0" $*) MISSING_DESKTOP_FILE=0 if [[ -f "$1" ]] ; then - export portwine_exe="$(readlink -f "$1")" + export portwine_exe="$1" elif [[ "$1" == *.exe ]] ; then export portwine_exe="$1" MISSING_DESKTOP_FILE=1 diff --git a/data_from_portwine/scripts/var b/data_from_portwine/scripts/var index 10e91140..a3173792 100755 --- a/data_from_portwine/scripts/var +++ b/data_from_portwine/scripts/var @@ -1,6 +1,6 @@ #!/usr/bin/env bash #Author: Castro-Fidel (linux-gaming.ru) -#SCRIPTS_NEXT_VERSION=2233 +#SCRIPTS_NEXT_VERSION=2234 ######################################################################## export PW_MANGOHUD=0 export MANGOHUD_CONFIG=cpu_stats,cpu_temp,cpu_mhz,cpu_color=2e97cb,cpu_text=CPU,gpu_stats,gpu_temp,gpu_core_clock,gpu_mem_clock,vulkan_driver,gpu_name,gpu_color=2e9762,gpu_text=GPU,vram,vram_color=ad64c1,ram,ram_color=c26693,io_color=a491d3,frame_timing=1,frametime_color=00ff00,time,arch,wine,wine_color=eb5b5b,engine_color=eb5b5b,background_alpha=0.2,font_size=24,background_color=020202,text_color=ffffff,toggle_hud=Shift_R+F12,resolution,vkbasalt @@ -40,7 +40,7 @@ export PW_WINE_USE="PROTON_LG" export PW_PLUGINS_VER="_v12" export PW_FAKE_DLSS_VER="230506" ###WINE_AND_PROTON_LG### -export PW_PROTON_LG_VER="PROTON_LG_8-24" +export PW_PROTON_LG_VER="PROTON_LG_8-25-1" export PW_WINE_LG_VER="WINE_LG_8-18-1" export PW_WINE_FULLSCREEN_FSR="1" ###DXVK_AND_VKD3D### diff --git a/data_from_portwine/scripts/zen_yad_gui b/data_from_portwine/scripts/zen_yad_gui index d1232e92..6779b44b 100755 --- a/data_from_portwine/scripts/zen_yad_gui +++ b/data_from_portwine/scripts/zen_yad_gui @@ -507,26 +507,55 @@ gui_vkBasalt () { portwine_create_shortcut () { pw_create_gui_png pw_stop_progress_bar - if ls "$HOME/.local/share/Steam/userdata/"*"/config/shortcuts.vdf" &>/dev/null - then PW_FOUND_VDF=TRUE - else PW_FOUND_VDF=FALSE + if [[ ! -z "$PW_STEAM_ID" ]] + then STUIDPATH="$HOME/.local/share/Steam/userdata/$PW_STEAM_ID" + else STUIDPATH="$(find "$HOME/.local/share/Steam/userdata/" -maxdepth 1 -type d -name "[1-9]*" | head -n1)" fi - export name_desktop="${PORTPROTON_NAME}" - OUTPUT=$("${pw_yad}" --title="${inst_set}." --form --borders=3 \ - --window-icon "$PW_GUI_ICON_PATH/port_proton.png" \ - --image "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" \ - --field="${sc_info}":LBL "" \ - --field="${sc_name}:" "${name_desktop}" \ - --field=" ${sc_menu_desktop}":CHK "TRUE" \ - --field=" ${sc_add_in_steam}":CHK "$PW_FOUND_VDF" \ - --button="$loc_gui_create_shortcut":0) - if [ $? -eq "0" ]; then - name_desktop=$(echo "$OUTPUT" | awk -F'|' '{print $2}') + if [[ -d "$STUIDPATH" ]] ; then + export STUIDPATH + PW_FOUND_VDF=TRUE + else + PW_FOUND_VDF=FALSE + fi + + if [[ "$1" == "block_name" ]] ; then + export name_desktop="${PORTPROTON_NAME}" + OUTPUT=$("${pw_yad}" --title="${inst_set}." --form --borders=3 \ + --window-icon "$PW_GUI_ICON_PATH/port_proton.png" \ + --image "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" \ + --field="${sc_info}":LBL "" \ + --field=" ${name_desktop}":LBL "" \ + --field=" ${sc_menu_desktop}":CHK "TRUE" \ + --field=" ${sc_add_in_steam}":CHK "$PW_FOUND_VDF" \ + --button="$loc_gui_create_shortcut":0) + PW_YAD_OUT=$? + else + export name_desktop="${PORTPROTON_NAME}" + OUTPUT=$("${pw_yad}" --title="${inst_set}." --form --borders=3 \ + --window-icon "$PW_GUI_ICON_PATH/port_proton.png" \ + --image "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" \ + --field="${sc_info}":LBL "" \ + --field="${sc_name}:" "${name_desktop}" \ + --field=" ${sc_menu_desktop}":CHK "TRUE" \ + --field=" ${sc_add_in_steam}":CHK "$PW_FOUND_VDF" \ + --button="$loc_gui_create_shortcut":0) + PW_YAD_OUT=$? + fi + + if [[ "$PW_YAD_OUT" == "0" ]] ; then + if [[ "$1" == "block_name" ]] + then name_desktop="$PORTWINE_CREATE_SHORTCUT_NAME" + else name_desktop=$(echo "$OUTPUT" | awk -F'|' '{print $2}') + fi create_menu_desktop_shortcut=$(echo "$OUTPUT" | awk -F'|' '{print $3}') create_menu_steam_shortcut=$(echo "$OUTPUT" | awk -F'|' '{print $4}') try_remove_file "${PORT_WINE_PATH}/${name_desktop}.desktop" + if [[ "${PORTPROTON_NAME}" != "${name_desktop}" ]] + then mv -f "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" "${PORT_WINE_PATH}/data/img/${name_desktop}.png" + fi + echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop" echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" echo "Exec=env "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${portwine_exe}\" "" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" @@ -556,7 +585,7 @@ portwine_create_shortcut () { echo "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${portwine_exe}\" " >> "${STEAM_SCRIPTS}/${name_desktop}.sh" chmod u+x "${STEAM_SCRIPTS}/${name_desktop}.sh" "${PORT_SCRIPTS_PATH}/add_in_steam.sh" - if pgrep -i steam &>/dev/null ; then + if [[ "${PW_SKIP_RESTART_STEAM}" != 1 ]] && pgrep -i steam &>/dev/null ; then if gui_question "$sc_restert_steam" ; then pw_start_progress_bar_block "Restarting STEAM... Please wait." kill -s SIGTERM $(pgrep -a steam) &>/dev/null @@ -569,9 +598,10 @@ portwine_create_shortcut () { exit 0 fi fi + unset PW_SKIP_RESTART_STEAM fi - - [[ "$1" != silent ]] && xdg-open "${PORT_WINE_PATH}" 2>1 >/dev/null & + + [[ "$1" != silent ]] && [[ "${PW_SKIP_RESTART_STEAM}" != 1 ]] && "${PORT_WINE_PATH}" 2>1 >/dev/null & fi }