Commit 828807d7 authored by Mikhail Tergoev's avatar Mikhail Tergoev

Scripts version 2234

parent a7507ed8
...@@ -2,6 +2,17 @@ You can help us in the development of the project on the website: https://linux- ...@@ -2,6 +2,17 @@ You can help us in the development of the project on the website: https://linux-
---------------------------------------- ----------------------------------------
Changelog: 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 ###Scripts version 2233### Date: 26.11.2023 / Download update size: 8 megabytes
* HOTFIX - create shortcut to STEAM * HOTFIX - create shortcut to STEAM
......
...@@ -2,6 +2,21 @@ ...@@ -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 мегабайт ###Scripts version 2233### Дата: 26.11.2023 / Размер скачиваемого обновления: 8 мегабайт
* HOTFIX - создание ярлыков в STEAM * HOTFIX - создание ярлыков в STEAM
......
...@@ -5,10 +5,13 @@ ...@@ -5,10 +5,13 @@
PROGNAME="PortProton" PROGNAME="PortProton"
# PERSONAL_NAME="$(grep PersonaName "$HOME/.local/share/Steam/config/loginusers.vdf" | awk -F'"' '{print $4}')" # 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" SCVDF="shortcuts.vdf"
SCPATH="$STUIDPATH/config/$SCVDF" SCPATH="$STUIDPATH/config/$SCVDF"
if [[ ! -f "$SCPATH" ]] ; then
echo '0073686f727463757473000808' | xxd -r -p > "$SCPATH"
fi
NOSTAPPNAME="$name_desktop" NOSTAPPNAME="$name_desktop"
NOSTEXEPATH="\"${STEAM_SCRIPTS}/${name_desktop}.sh\"" NOSTEXEPATH="\"${STEAM_SCRIPTS}/${name_desktop}.sh\""
NOSTSTDIR="\"${STEAM_SCRIPTS}\"" NOSTSTDIR="\"${STEAM_SCRIPTS}\""
...@@ -95,21 +98,10 @@ if [ -n "${NOSTEXEPATH}" ]; then ...@@ -95,21 +98,10 @@ if [ -n "${NOSTEXEPATH}" ]; then
printf '\x02%s\x00\x00\x00\x00\x00' "openvr" printf '\x02%s\x00\x00\x00\x00\x00' "openvr"
fi 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 '\x02%s\x00\x00\x00\x00\x00' "Devkit"
printf '\x01%s\x00\x00' "DevkitGameID" printf '\x01%s\x00\x00' "DevkitGameID"
printf '\x02%s\x00\x00\x00\x00\x00' "LastPlayTime" printf '\x02%s\x00\x00\x00\x00\x00' "LastPlayTime"
printf '\x00%s\x00' "tags" printf '\x00%s\x00' "tags"
# splitTags "PortProton"
printf '\x08' printf '\x08'
printf '\x08' printf '\x08'
...@@ -117,4 +109,6 @@ if [ -n "${NOSTEXEPATH}" ]; then ...@@ -117,4 +109,6 @@ if [ -n "${NOSTEXEPATH}" ]; then
printf '\x08' printf '\x08'
printf '\x08' printf '\x08'
} >> "$SCPATH" } >> "$SCPATH"
# echo '00013000504f727450726f746f6e0008080808' | xxd -r -p >> "$SCPATH"
fi fi
...@@ -896,7 +896,6 @@ pw_init_db () { ...@@ -896,7 +896,6 @@ pw_init_db () {
[[ -z `echo "${portwine_exe}" | grep "/data/prefixes/DEFAULT/"` ]] [[ -z `echo "${portwine_exe}" | grep "/data/prefixes/DEFAULT/"` ]]
then then
export PW_PREFIX_NAME=`echo "${portwine_exe}" | awk -F"/prefixes/" '{print $2}' | awk -F"/" '{print $1}'` 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
fi fi
if [[ -f "${PORTWINE_DB_FILE}" ]] ; then if [[ -f "${PORTWINE_DB_FILE}" ]] ; then
...@@ -1086,7 +1085,7 @@ pw_create_gui_png () { ...@@ -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 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" try_remove_dir "${PORT_WINE_TMP_PATH}/tmp_img"
create_new_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" 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" 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 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 () { ...@@ -1151,3 +1150,22 @@ pw_find_exe () {
exit 0 exit 0
fi 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
}
#!/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"
#!/usr/bin/env bash #!/usr/bin/env bash
#Author: Garrett #Author: Garrett
#RockstarService.exe #RockstarService.exe
#Launcher.exe #rockstar_launcher_pp.exe
#LauncherPatcher.exe #LauncherPatcher.exe
#Rating=? #Rating=?
################################################ ################################################
......
#!/usr/bin/env bash #!/usr/bin/env bash
#Author: Cefeiko #Author: Cefeiko
#launcher.exe #wosb_launcher_ru.exe
#Rating=? #Rating=?
################################################ ################################################
export PW_COMMENT_DB="World of Sea Battle export PW_COMMENT_DB="С этим ДБ файлом писать на АНГЛИЙСКОМ не получится.
Для входа в игру используйте ярлык World of Sea Battle (EN)"
Если Ваша система на РУССКОМ,
то для ввода логина и пароля выберите другой ДБ файл:
WORLD OF SEA BATTLE (TEXT EN)
С этим ДБ файлом писать на АНГЛИЙСКОМ не получится,
пока не исправит разработчик"
export PW_PREFIX_NAME="DOTNET" export PW_PREFIX_NAME="DOTNET"
export PW_WINDOWS_VER="10" export PW_WINDOWS_VER="10"
export PW_VULKAN_USE="2" export PW_VULKAN_USE="2"
...@@ -21,4 +15,3 @@ export PW_USE_GSTREAMER="1" ...@@ -21,4 +15,3 @@ export PW_USE_GSTREAMER="1"
export PW_FORCE_LARGE_ADDRESS_AWARE="1" export PW_FORCE_LARGE_ADDRESS_AWARE="1"
export PW_USE_SHADER_CACHE="1" export PW_USE_SHADER_CACHE="1"
export LAUNCH_PARAMETERS="" export LAUNCH_PARAMETERS=""
# export LANG=en_US.UTF-8
#!/usr/bin/env bash #!/usr/bin/env bash
#Author: Cefeiko #Author: Cefeiko
#launcher.exe #wosb_launcher_en.exe
#Rating=? #Rating=?
################################################ ################################################
export PW_COMMENT_DB="World of Sea Battle export PW_COMMENT_DB=""
Если Ваша система на РУССКОМ, то:
Для ввода логина и пароля используйте этот ДБ файл.
После аутентификации перезапустите игру со вторым ДБ файлом:
WORLD OF SEA BATTLE (TEXT 2 RU)"
export PW_PREFIX_NAME="DOTNET" export PW_PREFIX_NAME="DOTNET"
export PW_WINDOWS_VER="10" export PW_WINDOWS_VER="10"
export PW_VULKAN_USE="2" export PW_VULKAN_USE="2"
......
#!/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"
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
######################################################################## ########################################################################
[ "${update_loc}" = "RUS" ] && export BN_LOC=ruRU || export BN_LOC=enUS [ "${update_loc}" = "RUS" ] && 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-${BN_LOC}.exe"
start_portwine start_portwine
if try_download_game "https://battle.net/download/getInstallerForGame?os=win&version=LIVE&gameProgram=BATTLENET_APP" "${PW_AUTOINSTALL_EXE}" if try_download_game "https://battle.net/download/getInstallerForGame?os=win&version=LIVE&gameProgram=BATTLENET_APP" "${PW_AUTOINSTALL_EXE}"
then then
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
export PW_VULKAN_USE=2 export PW_VULKAN_USE=2
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/gi_installer.exe" export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/gi_installer.exe"
export PW_PREFIX_NAME="GENSHIN_IMPACT" export PW_PREFIX_NAME="GENSHIN_IMPACT"
export PORTWINE_CREATE_SHORTCUT_NAME="Genshin Impact"
start_portwine start_portwine
...@@ -13,12 +14,12 @@ then ...@@ -13,12 +14,12 @@ then
pw_kill_autostart launcher.exe & pw_kill_autostart launcher.exe &
export PATH_TO_GAME="${PW_USER_TEMP}" export PATH_TO_GAME="${PW_USER_TEMP}"
pw_run "${PW_AUTOINSTALL_EXE}" 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 "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb" try_remove_file "${portwine_exe}.ppdb"
kill_portwine kill_portwine
pw_stop_progress_bar pw_stop_progress_bar
export PORTWINE_CREATE_SHORTCUT_NAME="Genshin Impact"
portwine_create_shortcut portwine_create_shortcut
fi fi
......
...@@ -3,6 +3,8 @@ ...@@ -3,6 +3,8 @@
######################################################################## ########################################################################
export PW_VULKAN_USE="1" export PW_VULKAN_USE="1"
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Rockstar-Games-Launcher.exe" export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Rockstar-Games-Launcher.exe"
export PORTWINE_CREATE_SHORTCUT_NAME="Rockstar"
start_portwine start_portwine
if try_download_game "https://gamedownloads.rockstargames.com/public/installer/Rockstar-Games-Launcher.exe" "${PW_AUTOINSTALL_EXE}" if try_download_game "https://gamedownloads.rockstargames.com/public/installer/Rockstar-Games-Launcher.exe" "${PW_AUTOINSTALL_EXE}"
then then
...@@ -11,11 +13,11 @@ then ...@@ -11,11 +13,11 @@ then
pw_kill_autostart RockstarService.exe & pw_kill_autostart RockstarService.exe &
pw_run "${PW_AUTOINSTALL_EXE}" pw_run "${PW_AUTOINSTALL_EXE}"
portwine_exe=`find "$WINEPREFIX/drive_c/" -type f -name "Launcher.exe" | grep "Rockstar Games/Launcher/Launcher.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 "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb" try_remove_file "${portwine_exe}.ppdb"
kill_portwine kill_portwine
pw_stop_progress_bar pw_stop_progress_bar
export PORTWINE_CREATE_SHORTCUT_NAME="Rockstar"
portwine_create_shortcut portwine_create_shortcut
fi fi
stop_portwine stop_portwine
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
######################################################################## ########################################################################
export LAUNCH_PARAMETERS=("/q") export LAUNCH_PARAMETERS=("/q")
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Warframe.msi" export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Warframe.msi"
export PORTWINE_CREATE_SHORTCUT_NAME="Warframe"
start_portwine start_portwine
if try_download_game "http://content.warframe.com/dl/Warframe.msi" "${PW_AUTOINSTALL_EXE}" if try_download_game "http://content.warframe.com/dl/Warframe.msi" "${PW_AUTOINSTALL_EXE}"
...@@ -10,16 +11,12 @@ then ...@@ -10,16 +11,12 @@ then
pw_start_progress_bar_block "${loc_gui_installing_the} Warframe. ${loc_gui_please_wait} " pw_start_progress_bar_block "${loc_gui_installing_the} Warframe. ${loc_gui_please_wait} "
pw_kill_autostart Launcher.exe 3 & pw_kill_autostart Launcher.exe 3 &
pw_run msiexec /i "${PW_AUTOINSTALL_EXE}" pw_run msiexec /i "${PW_AUTOINSTALL_EXE}"
export portwine_exe="${WINEPREFIX}/drive_c/users/$USER/AppData/Local/Warframe/Downloaded/Public/Tools/Launcher.exe"
pushd "${WINEPREFIX}/drive_c/users/$USER/AppData/Local/Warframe/Downloaded/Public/Tools/" pw_create_unique_exe "warframe_launcher_pp"
ln -s Launcher.exe Warframe_Launcher.exe
popd
portwine_exe="${WINEPREFIX}/drive_c/users/$USER/AppData/Local/Warframe/Downloaded/Public/Tools/Warframe_Launcher.exe"
try_remove_file "${PW_AUTOINSTALL_EXE}" try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb" try_remove_file "${portwine_exe}.ppdb"
kill_portwine kill_portwine
pw_stop_progress_bar pw_stop_progress_bar
export PORTWINE_CREATE_SHORTCUT_NAME="Warframe"
portwine_create_shortcut portwine_create_shortcut
fi fi
stop_portwine stop_portwine
...@@ -14,15 +14,25 @@ start_portwine ...@@ -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}" if try_download_game "https://installer.launcher.xsolla.com/xlauncher-builds/xsolla-launcher-update/${WOSB_VERSION}/bin/installer.exe" "${PW_AUTOINSTALL_EXE}"
then then
pw_start_progress_bar_block "Installing World of Sea Battle. ${loc_gui_please_wait} " pw_start_progress_bar_block "Installing World of Sea Battle. ${loc_gui_please_wait} "
# pw_kill_autostart WorldOfSeaBattleClient.exe &
pw_run "${PW_AUTOINSTALL_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 "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine
pw_stop_progress_bar pw_stop_progress_bar
export PORTWINE_CREATE_SHORTCUT_NAME="World of Sea Battle" kill_portwine
portwine_create_shortcut
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 fi
stop_portwine stop_portwine
...@@ -392,7 +392,11 @@ start_portwine () { ...@@ -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" then try_force_link_file "${WINEDIR}"/lib64/wine/x86_64-windows/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/dxgi.dll"
fi fi
print_info "Try link wine d3d filese by default..." 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" 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" then try_force_link_file "${WINEDIR}/lib/wine/i386-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_build_dll}.dll"
fi fi
...@@ -409,15 +413,15 @@ start_portwine () { ...@@ -409,15 +413,15 @@ start_portwine () {
print_info "Use OpenGL" print_info "Use OpenGL"
export GL_YIELD="NOTHING" export GL_YIELD="NOTHING"
export mesa_glthread=true 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 elif [[ "${PW_VULKAN_USE}" == "5" ]] ; then
print_info "Use OpenGL Zink" print_info "Use OpenGL Zink"
export GL_YIELD="NOTHING" export GL_YIELD="NOTHING"
export mesa_glthread=true export mesa_glthread=true
export WINE_D3D_CONFIG='renderer=gl'
export __GLX_VENDOR_LIBRARY_NAME=mesa export __GLX_VENDOR_LIBRARY_NAME=mesa
export MESA_LOADER_DRIVER_OVERRIDE=zink export MESA_LOADER_DRIVER_OVERRIDE=zink
export GALLIUM_DRIVER=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 elif [[ "${PW_VULKAN_USE}" == "3" ]] ; then
print_info "Use GALLIUM-NINE (Native DX9 on MESA drivers)" print_info "Use GALLIUM-NINE (Native DX9 on MESA drivers)"
export PW_GALLIUM_NINE_VER="0.8" export PW_GALLIUM_NINE_VER="0.8"
......
...@@ -6,7 +6,7 @@ export pw_full_command_line=("$0" $*) ...@@ -6,7 +6,7 @@ export pw_full_command_line=("$0" $*)
MISSING_DESKTOP_FILE=0 MISSING_DESKTOP_FILE=0
if [[ -f "$1" ]] ; then if [[ -f "$1" ]] ; then
export portwine_exe="$(readlink -f "$1")" export portwine_exe="$1"
elif [[ "$1" == *.exe ]] ; then elif [[ "$1" == *.exe ]] ; then
export portwine_exe="$1" export portwine_exe="$1"
MISSING_DESKTOP_FILE=1 MISSING_DESKTOP_FILE=1
......
#!/usr/bin/env bash #!/usr/bin/env bash
#Author: Castro-Fidel (linux-gaming.ru) #Author: Castro-Fidel (linux-gaming.ru)
#SCRIPTS_NEXT_VERSION=2233 #SCRIPTS_NEXT_VERSION=2234
######################################################################## ########################################################################
export PW_MANGOHUD=0 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 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" ...@@ -40,7 +40,7 @@ export PW_WINE_USE="PROTON_LG"
export PW_PLUGINS_VER="_v12" export PW_PLUGINS_VER="_v12"
export PW_FAKE_DLSS_VER="230506" export PW_FAKE_DLSS_VER="230506"
###WINE_AND_PROTON_LG### ###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_LG_VER="WINE_LG_8-18-1"
export PW_WINE_FULLSCREEN_FSR="1" export PW_WINE_FULLSCREEN_FSR="1"
###DXVK_AND_VKD3D### ###DXVK_AND_VKD3D###
......
...@@ -507,10 +507,29 @@ gui_vkBasalt () { ...@@ -507,10 +507,29 @@ gui_vkBasalt () {
portwine_create_shortcut () { portwine_create_shortcut () {
pw_create_gui_png pw_create_gui_png
pw_stop_progress_bar pw_stop_progress_bar
if ls "$HOME/.local/share/Steam/userdata/"*"/config/shortcuts.vdf" &>/dev/null if [[ ! -z "$PW_STEAM_ID" ]]
then PW_FOUND_VDF=TRUE then STUIDPATH="$HOME/.local/share/Steam/userdata/$PW_STEAM_ID"
else PW_FOUND_VDF=FALSE else STUIDPATH="$(find "$HOME/.local/share/Steam/userdata/" -maxdepth 1 -type d -name "[1-9]*" | head -n1)"
fi fi
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}" export name_desktop="${PORTPROTON_NAME}"
OUTPUT=$("${pw_yad}" --title="${inst_set}." --form --borders=3 \ OUTPUT=$("${pw_yad}" --title="${inst_set}." --form --borders=3 \
--window-icon "$PW_GUI_ICON_PATH/port_proton.png" \ --window-icon "$PW_GUI_ICON_PATH/port_proton.png" \
...@@ -520,13 +539,23 @@ portwine_create_shortcut () { ...@@ -520,13 +539,23 @@ portwine_create_shortcut () {
--field=" ${sc_menu_desktop}":CHK "TRUE" \ --field=" ${sc_menu_desktop}":CHK "TRUE" \
--field=" ${sc_add_in_steam}":CHK "$PW_FOUND_VDF" \ --field=" ${sc_add_in_steam}":CHK "$PW_FOUND_VDF" \
--button="$loc_gui_create_shortcut":0) --button="$loc_gui_create_shortcut":0)
if [ $? -eq "0" ]; then PW_YAD_OUT=$?
name_desktop=$(echo "$OUTPUT" | awk -F'|' '{print $2}') 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_desktop_shortcut=$(echo "$OUTPUT" | awk -F'|' '{print $3}')
create_menu_steam_shortcut=$(echo "$OUTPUT" | awk -F'|' '{print $4}') create_menu_steam_shortcut=$(echo "$OUTPUT" | awk -F'|' '{print $4}')
try_remove_file "${PORT_WINE_PATH}/${name_desktop}.desktop" 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 "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Name=${name_desktop}" >> "${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" echo "Exec=env "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${portwine_exe}\" "" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
...@@ -556,7 +585,7 @@ portwine_create_shortcut () { ...@@ -556,7 +585,7 @@ portwine_create_shortcut () {
echo "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${portwine_exe}\" " >> "${STEAM_SCRIPTS}/${name_desktop}.sh" echo "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${portwine_exe}\" " >> "${STEAM_SCRIPTS}/${name_desktop}.sh"
chmod u+x "${STEAM_SCRIPTS}/${name_desktop}.sh" chmod u+x "${STEAM_SCRIPTS}/${name_desktop}.sh"
"${PORT_SCRIPTS_PATH}/add_in_steam.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 if gui_question "$sc_restert_steam" ; then
pw_start_progress_bar_block "Restarting STEAM... Please wait." pw_start_progress_bar_block "Restarting STEAM... Please wait."
kill -s SIGTERM $(pgrep -a steam) &>/dev/null kill -s SIGTERM $(pgrep -a steam) &>/dev/null
...@@ -569,9 +598,10 @@ portwine_create_shortcut () { ...@@ -569,9 +598,10 @@ portwine_create_shortcut () {
exit 0 exit 0
fi fi
fi fi
unset PW_SKIP_RESTART_STEAM
fi 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 fi
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment