From 828807d75300e3e3943cf395247b2d0e9248e826 Mon Sep 17 00:00:00 2001 From: Mikhail Tergoev <fidel@altlinux.org> Date: Sun, 3 Dec 2023 19:56:37 +0300 Subject: [PATCH] Scripts version 2234 --- data_from_portwine/changelog_eng | 11 +++ data_from_portwine/changelog_rus | 15 ++++ ...ttle.png => World of Sea Battle (ENG).png} | Bin .../img/World of Sea Battle (RU).png | Bin 0 -> 38829 bytes data_from_portwine/scripts/add_in_steam.sh | 18 ++--- data_from_portwine/scripts/functions_helper | 22 +++++- .../scripts/portwine_db/Genshin Impact | 39 +++++++++++ .../portwine_db/Rockstar_Games_Launcher | 2 +- .../WORLD OF SEA BATTLE (TEXT 2 RU) | 13 +--- .../portwine_db/WORLD OF SEA BATTLE (TEXT EN) | 9 +-- .../scripts/portwine_db/warframe | 39 +++++++++++ .../scripts/pw_autoinstall/PW_BATTLE_NET | 1 + .../scripts/pw_autoinstall/PW_GENSHIN_IMPACT | 5 +- .../scripts/pw_autoinstall/PW_ROCKSTAR | 4 +- .../scripts/pw_autoinstall/PW_WARFRAME | 9 +-- .../scripts/pw_autoinstall/PW_WOSB | 24 +++++-- data_from_portwine/scripts/runlib | 10 ++- data_from_portwine/scripts/start.sh | 2 +- data_from_portwine/scripts/var | 4 +- data_from_portwine/scripts/zen_yad_gui | 64 +++++++++++++----- 20 files changed, 220 insertions(+), 71 deletions(-) rename data_from_portwine/img/{World of Sea Battle.png => World of Sea Battle (ENG).png} (100%) create mode 100644 data_from_portwine/img/World of Sea Battle (RU).png create mode 100644 data_from_portwine/scripts/portwine_db/Genshin Impact create mode 100644 data_from_portwine/scripts/portwine_db/warframe 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 0000000000000000000000000000000000000000..e04140edd9dd3fcbc8faef0f55de65cc94e3098c GIT binary patch literal 38829 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 FV1n7D-6jA4 literal 0 HcmV?d00001 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 }