Commit 5b344720 authored by Vladislav's avatar Vladislav

I made double square brackets everywhere (they work faster), ! -z passed to -n, ! -n to z

parent fabbc18d
...@@ -72,12 +72,12 @@ function setGameArt { ...@@ -72,12 +72,12 @@ function setGameArt {
GAMEARTBASE="$( basename "$GAMEARTSOURCE" )" GAMEARTBASE="$( basename "$GAMEARTSOURCE" )"
GAMEARTDEST="${SGGRIDDIR}/${GAMEARTAPPID}${GAMEARTSUFFIX}.${GAMEARTBASE#*.}" # path to filename in grid e.g. turns "/home/gaben/GamesArt/cs2_hero.png" into "~/.local/share/Steam/userdata/1234567/config/grid/4440654_hero.png" GAMEARTDEST="${SGGRIDDIR}/${GAMEARTAPPID}${GAMEARTSUFFIX}.${GAMEARTBASE#*.}" # path to filename in grid e.g. turns "/home/gaben/GamesArt/cs2_hero.png" into "~/.local/share/Steam/userdata/1234567/config/grid/4440654_hero.png"
if [ -n "$GAMEARTSOURCE" ]; then if [[ -n "$GAMEARTSOURCE" ]] ; then
if [ -f "$GAMEARTDEST" ]; then if [[ -f "$GAMEARTDEST" ]] ; then
rm "$GAMEARTDEST" rm "$GAMEARTDEST"
fi fi
if [ -f "$GAMEARTSOURCE" ]; then if [[ -f "$GAMEARTSOURCE" ]] ; then
$GAMEARTCMD "$GAMEARTSOURCE" "$GAMEARTDEST" $GAMEARTCMD "$GAMEARTSOURCE" "$GAMEARTDEST"
fi fi
fi fi
...@@ -143,12 +143,12 @@ function downloadArtFromSteamGridDB { ...@@ -143,12 +143,12 @@ function downloadArtFromSteamGridDB {
SGDB_ENDPOINT_STR="${SEARCHENDPOINT}/$(echo "$SEARCHID" | awk '{print $1}' | paste -s -d, -)?" SGDB_ENDPOINT_STR="${SEARCHENDPOINT}/$(echo "$SEARCHID" | awk '{print $1}' | paste -s -d, -)?"
[ -n "$SEARCHSTYLES" ] && SGDB_ENDPOINT_STR+="&styles=${SEARCHSTYLES}" [[ -n "$SEARCHSTYLES" ]] && SGDB_ENDPOINT_STR+="&styles=${SEARCHSTYLES}"
[ -n "$SEARCHDIMS" ] && SGDB_ENDPOINT_STR+="&dimensions=${SEARCHDIMS}" [[ -n "$SEARCHDIMS" ]] && SGDB_ENDPOINT_STR+="&dimensions=${SEARCHDIMS}"
[ -n "$SEARCHTYPES" ] && SGDB_ENDPOINT_STR+="&types=${SEARCHTYPES}" [[ -n "$SEARCHTYPES" ]] && SGDB_ENDPOINT_STR+="&types=${SEARCHTYPES}"
[ -n "$SEARCHNSFW" ] && SGDB_ENDPOINT_STR+="&nsfw=${SEARCHNSFW}" [[ -n "$SEARCHNSFW" ]] && SGDB_ENDPOINT_STR+="&nsfw=${SEARCHNSFW}"
[ -n "$SEARCHHUMOR" ] && SGDB_ENDPOINT_STR+="&humor=${SEARCHHUMOR}" [[ -n "$SEARCHHUMOR" ]] && SGDB_ENDPOINT_STR+="&humor=${SEARCHHUMOR}"
[ -n "$SEARCHEPILEPSY" ] && SGDB_ENDPOINT_STR+="&epilepsy=${SEARCHEPILEPSY}" [[ -n "$SEARCHEPILEPSY" ]] && SGDB_ENDPOINT_STR+="&epilepsy=${SEARCHEPILEPSY}"
set -o pipefail set -o pipefail
RESPONSE=$(curl -H "Authorization: Bearer $SGDBAPIKEY" -s "$SGDB_ENDPOINT_STR" 2> >(grep -v "SSL_INIT")) RESPONSE=$(curl -H "Authorization: Bearer $SGDBAPIKEY" -s "$SGDB_ENDPOINT_STR" 2> >(grep -v "SSL_INIT"))
...@@ -193,17 +193,17 @@ function downloadArtFromSteamGridDB { ...@@ -193,17 +193,17 @@ function downloadArtFromSteamGridDB {
DLDST="${GRIDDLDIR}/${SGDBFILENAME}.${GRIDDLURL##*.}" DLDST="${GRIDDLDIR}/${SGDBFILENAME}.${GRIDDLURL##*.}"
STARTDL=1 STARTDL=1
if [ -f "$DLDST" ]; then if [[ -f "$DLDST" ]] ; then
if [ "$SGDBHASFILE" == "backup" ]; then if [[ "$SGDBHASFILE" == "backup" ]] ; then
BACKDIR="${GRIDDLDIR}/backup" BACKDIR="${GRIDDLDIR}/backup"
mkdir -p "$BACKDIR" mkdir -p "$BACKDIR"
mv "$DLDST" "$BACKDIR" mv "$DLDST" "$BACKDIR"
elif [ "$SGDBHASFILE" == "replace" ]; then elif [[ "$SGDBHASFILE" == "replace" ]] ; then
rm "$DLDST" 2>/dev/null rm "$DLDST" 2>/dev/null
fi fi
fi fi
if [ "$STARTDL" -eq 1 ]; then if [[ "$STARTDL" -eq 1 ]] ; then
filename="$(basename "$DLDST")" filename="$(basename "$DLDST")"
curl -f -# -A 'Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)' -H 'Cache-Control: no-cache, no-store' -H 'Pragma: no-cache' -L "$DLSRC" -o "$DLDST" 2>&1 | \ curl -f -# -A 'Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)' -H 'Cache-Control: no-cache, no-store' -H 'Pragma: no-cache' -L "$DLSRC" -o "$DLDST" 2>&1 | \
tr '\r' '\n' | sed -ur 's|[# ]+||g;s|.*=.*||g;s|.*|#Downloading at &\n&|g' | \ tr '\r' '\n' | sed -ur 's|[# ]+||g;s|.*=.*||g;s|.*|#Downloading at &\n&|g' | \
...@@ -217,7 +217,7 @@ function downloadArtFromSteamGridDB { ...@@ -217,7 +217,7 @@ function downloadArtFromSteamGridDB {
done done
} }
if [ -f "$SCPATH" ]; then if [[ -f "$SCPATH" ]] ; then
cp "$SCPATH" "${SCPATH//.vdf}_${PROGNAME}_backup.vdf" 2>/dev/null cp "$SCPATH" "${SCPATH//.vdf}_${PROGNAME}_backup.vdf" 2>/dev/null
truncate -s-2 "$SCPATH" truncate -s-2 "$SCPATH"
OLDSET="$(grep -aPo '\x00[0-9]\x00\x02appid' "$SCPATH" | tail -n1 | tr -dc '0-9')" OLDSET="$(grep -aPo '\x00[0-9]\x00\x02appid' "$SCPATH" | tail -n1 | tr -dc '0-9')"
...@@ -231,11 +231,11 @@ fi ...@@ -231,11 +231,11 @@ fi
function getSGDBGameIDFromTitle { function getSGDBGameIDFromTitle {
SGDBSEARCHNAME="$1" SGDBSEARCHNAME="$1"
if [ -n "$SGDBSEARCHNAME" ]; then if [[ -n "$SGDBSEARCHNAME" ]] ; then
SGDBSEARCHENDPOINT="${BASESTEAMGRIDDBAPI}/search/autocomplete/${SGDBSEARCHNAME}" SGDBSEARCHENDPOINT="${BASESTEAMGRIDDBAPI}/search/autocomplete/${SGDBSEARCHNAME}"
SGDBSEARCHNAMERESP="$(curl -H "Authorization: Bearer $SGDBAPIKEY" -s "$SGDBSEARCHENDPOINT" 2> >(grep -v "SSL_INIT") )" SGDBSEARCHNAMERESP="$(curl -H "Authorization: Bearer $SGDBAPIKEY" -s "$SGDBSEARCHENDPOINT" 2> >(grep -v "SSL_INIT") )"
if jq -e '.success' 1> /dev/null <<< "$SGDBSEARCHNAMERESP"; then if jq -e '.success' 1> /dev/null <<< "$SGDBSEARCHNAMERESP"; then
if [ "$(jq '.data | length' <<< "$SGDBSEARCHNAMERESP" )" -gt 0 ]; then if [[ "$(jq '.data | length' <<< "$SGDBSEARCHNAMERESP" )" -gt 0 ]] ; then
SGDBSEARCH_FOUNDNAME="$(jq '.data[0].name' <<< "$SGDBSEARCHNAMERESP" )" SGDBSEARCH_FOUNDNAME="$(jq '.data[0].name' <<< "$SGDBSEARCHNAMERESP" )"
SGDBSEARCH_FOUNDGAID="$(jq '.data[0].id' <<< "$SGDBSEARCHNAMERESP" )" SGDBSEARCH_FOUNDGAID="$(jq '.data[0].id' <<< "$SGDBSEARCHNAMERESP" )"
...@@ -280,10 +280,10 @@ function commandlineGetSteamGridDBArtwork { ...@@ -280,10 +280,10 @@ function commandlineGetSteamGridDBArtwork {
done done
# If we pass a name to search on and we get a Game ID back from SteamGridDB, set this as the ID to search for artwork on # If we pass a name to search on and we get a Game ID back from SteamGridDB, set this as the ID to search for artwork on
if [ -n "$GSGDBA_SEARCHNAME" ]; then if [[ -n "$GSGDBA_SEARCHNAME" ]] ; then
if [ -n "$GSGDBA_FILENAME" ]; then if [[ -n "$GSGDBA_FILENAME" ]] ; then
GSGDBA_FOUNDGAMEID="$( getSGDBGameIDFromTitle "$GSGDBA_SEARCHNAME" )" GSGDBA_FOUNDGAMEID="$( getSGDBGameIDFromTitle "$GSGDBA_SEARCHNAME" )"
if [ -n "$GSGDBA_FOUNDGAMEID" ]; then if [[ -n "$GSGDBA_FOUNDGAMEID" ]] ; then
GSGDBA_APPID="$GSGDBA_FOUNDGAMEID" GSGDBA_APPID="$GSGDBA_FOUNDGAMEID"
SGDBENDPOINTTYPE="game" SGDBENDPOINTTYPE="game"
fi fi
...@@ -327,7 +327,7 @@ NOSTSEARCHID="" # ID to search for the SteamGridDB artwork on (either Steam App ...@@ -327,7 +327,7 @@ NOSTSEARCHID="" # ID to search for the SteamGridDB artwork on (either Steam App
NOSTSEARCHFLAG="--nonsteam" # Whether to search using a Steam AppID or SteamGridDB Game ID (will be set to --steam if we get an AppID) NOSTSEARCHFLAG="--nonsteam" # Whether to search using a Steam AppID or SteamGridDB Game ID (will be set to --steam if we get an AppID)
# Only add NOSTAPPNAME as fallback if we don't have an ID to search on, because commandlineGetSteamGridDBArtwork will prefer name over ID, so if we have to fall back to Non-Steam Name (i.e. no entered custom name) then only do so if we don't have an ID given # Only add NOSTAPPNAME as fallback if we don't have an ID to search on, because commandlineGetSteamGridDBArtwork will prefer name over ID, so if we have to fall back to Non-Steam Name (i.e. no entered custom name) then only do so if we don't have an ID given
if [ -n "$NOSTAPPNAME" ]; then if [[ -n "$NOSTAPPNAME" ]] ; then
NOSTSEARCHNAME="$NOSTAPPNAME" NOSTSEARCHNAME="$NOSTAPPNAME"
NOSTSEARCHNAME="${NOSTSEARCHNAME// /_}" NOSTSEARCHNAME="${NOSTSEARCHNAME// /_}"
fi fi
......
...@@ -9,7 +9,7 @@ IFS=$'\n' ...@@ -9,7 +9,7 @@ IFS=$'\n'
unset DUPLICATE unset DUPLICATE
DUPLICATE="$(cat "$SELF_PATH/portwine_db/"* | grep -E ".exe" | grep '#' | uniq -D | sort -u)" DUPLICATE="$(cat "$SELF_PATH/portwine_db/"* | grep -E ".exe" | grep '#' | uniq -D | sort -u)"
if [[ ! -z "$DUPLICATE" ]] ; then if [[ -n "$DUPLICATE" ]] ; then
for duplicate_db in $DUPLICATE ; do for duplicate_db in $DUPLICATE ; do
echo -e "\nDuplicate:" echo -e "\nDuplicate:"
grep -E "$duplicate_db" "$SELF_PATH/portwine_db/"* | awk -F"portwine_db/" '{print $2}' grep -E "$duplicate_db" "$SELF_PATH/portwine_db/"* | awk -F"portwine_db/" '{print $2}'
......
...@@ -197,34 +197,34 @@ try_copy_file_with_checksums () { ...@@ -197,34 +197,34 @@ try_copy_file_with_checksums () {
export -f try_copy_file_with_checksums export -f try_copy_file_with_checksums
try_copy_dir () { try_copy_dir () {
if [ ! -d "$1" ] ; then print_info "directory $1 not found for copy" if [[ ! -d "$1" ]] ; then print_info "directory $1 not found for copy"
elif [ -z "$2" ] ; then print_error "no way to copy directory $1" elif [[ -z "$2" ]] ; then print_error "no way to copy directory $1"
else else
cp -fr "$1" "$2" cp -fr "$1" "$2"
[ "$?" != 0 ] && print_error "failed to copy directory $1 to $2" || return 0 [[ "$?" != 0 ]] && print_error "failed to copy directory $1 to $2" || return 0
fi fi
return 1 return 1
} }
export -f try_copy_dir export -f try_copy_dir
try_remove_file () { try_remove_file () {
if [ -f "$1" ] || [ ! -e "$1" ] ; then if [[ -f "$1" ]] || [[ ! -e "$1" ]] ; then
rm -f "$1" rm -f "$1"
[ "$?" == 0 ] && return 0 || return 1 [[ "$?" == 0 ]] && return 0 || return 1
fi fi
} }
export -f try_remove_file export -f try_remove_file
try_remove_dir () { try_remove_dir () {
if [ -d "$1" ] ; then if [[ -d "$1" ]] ; then
rm -fr "$1" rm -fr "$1"
[ "$?" == 0 ] && return 0 || return 1 [[ "$?" == 0 ]] && return 0 || return 1
fi fi
} }
export -f try_remove_dir export -f try_remove_dir
create_new_dir () { create_new_dir () {
if [ ! -d "$1" ] ; then if [[ ! -d "$1" ]] ; then
mkdir -p "$1" mkdir -p "$1"
fi fi
return 0 return 0
...@@ -249,9 +249,9 @@ export -f try_force_link_file ...@@ -249,9 +249,9 @@ export -f try_force_link_file
check_symlink () { check_symlink () {
CHK_SYMLINK_FILE="$(file "$1")" CHK_SYMLINK_FILE="$(file "$1")"
if [[ ! -z "$(echo "$CHK_SYMLINK_FILE" | grep -v "broken" | grep "symbolic link to" | awk '{print $1}')" ]] ; then if [[ -n "$(echo "$CHK_SYMLINK_FILE" | grep -v "broken" | grep "symbolic link to" | awk '{print $1}')" ]] ; then
return 0 return 0
elif [[ ! -z "$(echo "$CHK_SYMLINK_FILE" | grep "broken symbolic link to" | awk '{print $1}')" ]] ; then elif [[ -n "$(echo "$CHK_SYMLINK_FILE" | grep "broken symbolic link to" | awk '{print $1}')" ]] ; then
print_error "remove broken symlink: $CHK_SYMLINK_FILE" print_error "remove broken symlink: $CHK_SYMLINK_FILE"
rm -fr "$CHK_SYMLINK_FILE" rm -fr "$CHK_SYMLINK_FILE"
return 1 return 1
...@@ -262,18 +262,18 @@ check_symlink () { ...@@ -262,18 +262,18 @@ check_symlink () {
export -f check_symlink export -f check_symlink
try_force_link_dir () { try_force_link_dir () {
if [ ! -d "$1" ] ; then print_info "directory $1 not found for link" if [[ ! -d "$1" ]] ; then print_info "directory $1 not found for link"
elif [ -z "$2" ] ; then print_error "no way to link directory $1" elif [[ -z "$2" ]] ; then print_error "no way to link directory $1"
else else
ln -s -f -r "$1" "$2" ln -s -f -r "$1" "$2"
[ "$?" != 0 ] && print_error "failed to link directory $1 to $2" || return 0 [[ "$?" != 0 ]] && print_error "failed to link directory $1 to $2" || return 0
fi fi
return 1 return 1
} }
export -f try_force_link_dir export -f try_force_link_dir
check_process () { check_process () {
[ ! -n "$(ps cax | grep "$1" | awk '{print $1}')" ] && return 0 || return 1 [[ -z "$(ps cax | grep "$1" | awk '{print $1}')" ]] && return 0 || return 1
} }
export -f check_process export -f check_process
...@@ -330,7 +330,7 @@ try_download () { ...@@ -330,7 +330,7 @@ try_download () {
if check_gamescope_session ; then if check_gamescope_session ; then
$PW_TERM curl -f -# -A 'Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)' -H 'Cache-Control: no-cache, no-store' \ $PW_TERM curl -f -# -A 'Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)' -H 'Cache-Control: no-cache, no-store' \
-H 'Pragma: no-cache' -L ${FIRST_URL[@]} -o "$dest" -H 'Pragma: no-cache' -L ${FIRST_URL[@]} -o "$dest"
[ "$?" != 0 ] && return 1 || return 0 [[ "$?" != 0 ]] && return 1 || return 0
fi fi
# Normal download # Normal download
...@@ -487,7 +487,7 @@ check_start_from_steam () { ...@@ -487,7 +487,7 @@ check_start_from_steam () {
} }
check_gamescope_session () { check_gamescope_session () {
if [[ ! -z "$GAMESCOPE_IN_USE" ]] if [[ -n "$GAMESCOPE_IN_USE" ]]
then [[ "$GAMESCOPE_IN_USE" == 1 ]] && return 0 || return 1 then [[ "$GAMESCOPE_IN_USE" == 1 ]] && return 0 || return 1
fi fi
if echo "${DESKTOP_SESSION}" | grep -i "gamescope" &>/dev/null ; then if echo "${DESKTOP_SESSION}" | grep -i "gamescope" &>/dev/null ; then
...@@ -500,7 +500,7 @@ check_gamescope_session () { ...@@ -500,7 +500,7 @@ check_gamescope_session () {
} }
check_wayland_session () { check_wayland_session () {
if [[ ! -z "$WAYLAND_IN_USE" ]] if [[ -n "$WAYLAND_IN_USE" ]]
then [[ "$WAYLAND_IN_USE" == 1 ]] && return 0 || return 1 then [[ "$WAYLAND_IN_USE" == 1 ]] && return 0 || return 1
fi fi
if echo "${XDG_SESSION_TYPE}" | grep -i "wayland" &>/dev/null ; then if echo "${XDG_SESSION_TYPE}" | grep -i "wayland" &>/dev/null ; then
...@@ -514,7 +514,7 @@ check_wayland_session () { ...@@ -514,7 +514,7 @@ check_wayland_session () {
export -f check_wayland_session export -f check_wayland_session
check_flatpak () { check_flatpak () {
if [[ ! -z "$FLATPAK_IN_USE" ]] if [[ -n "$FLATPAK_IN_USE" ]]
then [[ "$FLATPAK_IN_USE" == 1 ]] && return 0 || return 1 then [[ "$FLATPAK_IN_USE" == 1 ]] && return 0 || return 1
fi fi
if grep -i "flatpak" /etc/os-release &>/dev/null ; then if grep -i "flatpak" /etc/os-release &>/dev/null ; then
...@@ -547,7 +547,7 @@ unpack () { ...@@ -547,7 +547,7 @@ unpack () {
pw_start_progress_bar_cover_block "${COVERS_PATH}/unpacking_${LANGUAGE_GIF}.gif" pw_start_progress_bar_cover_block "${COVERS_PATH}/unpacking_${LANGUAGE_GIF}.gif"
$command "$1" -C "$2" 2>/dev/null $command "$1" -C "$2" 2>/dev/null
pw_stop_progress_bar_cover_block pw_stop_progress_bar_cover_block
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0 [[ "${PIPESTATUS[0]}" != 0 ]] && print_error "File $1 unpacking error." && return 1 || return 0
else else
$command "$1" -C "$2" && return 0 || return 1 $command "$1" -C "$2" && return 0 || return 1
fi fi
...@@ -701,7 +701,7 @@ init_wine_ver () { ...@@ -701,7 +701,7 @@ init_wine_ver () {
then export PW_WINE_USE="USE_SYSTEM_WINE" then export PW_WINE_USE="USE_SYSTEM_WINE"
elif [[ "${PW_WINE_VER}" == "GET-OTHER-WINE" ]] elif [[ "${PW_WINE_VER}" == "GET-OTHER-WINE" ]]
then gui_proton_downloader then gui_proton_downloader
elif [[ ! -z "${PW_WINE_VER}" ]] elif [[ -n "${PW_WINE_VER}" ]]
then export PW_WINE_USE="$PW_WINE_VER" then export PW_WINE_USE="$PW_WINE_VER"
fi fi
unset PW_WINE_VER unset PW_WINE_VER
...@@ -753,7 +753,7 @@ init_wine_ver () { ...@@ -753,7 +753,7 @@ init_wine_ver () {
done done
mv -f "${WINEDIR}/dist"/* "${WINEDIR}/" mv -f "${WINEDIR}/dist"/* "${WINEDIR}/"
rm -fr "${WINEDIR}/dist" rm -fr "${WINEDIR}/dist"
elif [ -f "${WINEDIR}/proton_dist.tar" ] ; then elif [[ -f "${WINEDIR}/proton_dist.tar" ]] ; then
unpack "${WINEDIR}/proton_dist.tar" "${WINEDIR}/" unpack "${WINEDIR}/proton_dist.tar" "${WINEDIR}/"
for clear_dist_files in $(ls "${WINEDIR}" | sed -e "s/^bin$//g" | sed -e "s/^lib$//g" | sed -e "s/^lib64$//g" | sed -e "s/^share$//g" | sed -e "s/^version$//g") ; do for clear_dist_files in $(ls "${WINEDIR}" | sed -e "s/^bin$//g" | sed -e "s/^lib$//g" | sed -e "s/^lib64$//g" | sed -e "s/^share$//g" | sed -e "s/^version$//g") ; do
rm -fr "${WINEDIR}/$clear_dist_files" rm -fr "${WINEDIR}/$clear_dist_files"
...@@ -849,12 +849,12 @@ ${PW_PV_OVERRIDES}/i386-linux-gnu/aliases:\ ...@@ -849,12 +849,12 @@ ${PW_PV_OVERRIDES}/i386-linux-gnu/aliases:\
/overrides/lib/x86_64-linux-gnu:\ /overrides/lib/x86_64-linux-gnu:\
/overrides/lib/i386-linux-gnu" /overrides/lib/i386-linux-gnu"
if [ ! -z "${PATH}" ] if [[ -n "${PATH}" ]]
then export PW_PATH="${PATH}:${PW_PLUGINS_PATH}/portable/bin" then export PW_PATH="${PATH}:${PW_PLUGINS_PATH}/portable/bin"
else export PW_PATH="${PW_PLUGINS_PATH}/portable/bin" else export PW_PATH="${PW_PLUGINS_PATH}/portable/bin"
fi fi
if [[ ! -z "${PW_SANDBOX_HOME_PATH}" && -d "${PW_SANDBOX_HOME_PATH}" ]] ; then if [[ -n "${PW_SANDBOX_HOME_PATH}" && -d "${PW_SANDBOX_HOME_PATH}" ]] ; then
export pw_runtime="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \ export pw_runtime="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \
--unshare-home \ --unshare-home \
--home=${PW_SANDBOX_HOME_PATH} \ --home=${PW_SANDBOX_HOME_PATH} \
...@@ -892,13 +892,13 @@ ${PW_PV_OVERRIDES}/i386-linux-gnu/aliases:\ ...@@ -892,13 +892,13 @@ ${PW_PV_OVERRIDES}/i386-linux-gnu/aliases:\
unset PRESSURE_VESSEL_FILESYSTEMS_RO PRESSURE_VESSEL_FILESYSTEMS_RW unset PRESSURE_VESSEL_FILESYSTEMS_RO PRESSURE_VESSEL_FILESYSTEMS_RW
for PWRTMRO in ${PW_RT_MOUNT_RO[*]} ; do for PWRTMRO in ${PW_RT_MOUNT_RO[*]} ; do
if [ ! -z "${PRESSURE_VESSEL_FILESYSTEMS_RO}" ] if [[ -n "${PRESSURE_VESSEL_FILESYSTEMS_RO}" ]]
then export PRESSURE_VESSEL_FILESYSTEMS_RO="${PRESSURE_VESSEL_FILESYSTEMS_RO}:${PWRTMRO}" then export PRESSURE_VESSEL_FILESYSTEMS_RO="${PRESSURE_VESSEL_FILESYSTEMS_RO}:${PWRTMRO}"
else export PRESSURE_VESSEL_FILESYSTEMS_RO="${PWRTMRO}" else export PRESSURE_VESSEL_FILESYSTEMS_RO="${PWRTMRO}"
fi fi
done done
for PWRTMRW in ${PW_RT_MOUNT_RW[*]} ; do for PWRTMRW in ${PW_RT_MOUNT_RW[*]} ; do
if [ ! -z "${PRESSURE_VESSEL_FILESYSTEMS_RW}" ] if [[ -n "${PRESSURE_VESSEL_FILESYSTEMS_RW}" ]]
then export PRESSURE_VESSEL_FILESYSTEMS_RW="${PRESSURE_VESSEL_FILESYSTEMS_RW}:${PWRTMRW}" then export PRESSURE_VESSEL_FILESYSTEMS_RW="${PRESSURE_VESSEL_FILESYSTEMS_RW}:${PWRTMRW}"
else export PRESSURE_VESSEL_FILESYSTEMS_RW="${PWRTMRW}" else export PRESSURE_VESSEL_FILESYSTEMS_RW="${PWRTMRW}"
fi fi
...@@ -925,7 +925,7 @@ pw_mangohud_check () { ...@@ -925,7 +925,7 @@ pw_mangohud_check () {
if [[ "${PW_VULKAN_USE}" = "0" ]] ; then if [[ "${PW_VULKAN_USE}" = "0" ]] ; then
MANGOHUD_LIB_NAME="libMangoHud_dlsym.so:libMangoHud_opengl.so:${MANGOHUD_LIB_NAME}" MANGOHUD_LIB_NAME="libMangoHud_dlsym.so:libMangoHud_opengl.so:${MANGOHUD_LIB_NAME}"
fi fi
if [[ ! -z "${PW_LD_PRELOAD}" ]] if [[ -n "${PW_LD_PRELOAD}" ]]
then export PW_LD_PRELOAD="${PW_LD_PRELOAD}:${MANGOHUD_LIB_NAME}" then export PW_LD_PRELOAD="${PW_LD_PRELOAD}:${MANGOHUD_LIB_NAME}"
else export PW_LD_PRELOAD="${MANGOHUD_LIB_NAME}" else export PW_LD_PRELOAD="${MANGOHUD_LIB_NAME}"
fi fi
...@@ -950,7 +950,7 @@ pw_vkbasalt_check () { ...@@ -950,7 +950,7 @@ pw_vkbasalt_check () {
if ! grep "${PW_PLUGINS_PATH}/reshade" "${VKBASALT_CONFIG_FILE}" &>/dev/null if ! grep "${PW_PLUGINS_PATH}/reshade" "${VKBASALT_CONFIG_FILE}" &>/dev/null
then sed -ri "s|= .*/reshade|= \"${PW_PLUGINS_PATH}\"/reshade|g" "${VKBASALT_CONFIG_FILE}" then sed -ri "s|= .*/reshade|= \"${PW_PLUGINS_PATH}\"/reshade|g" "${VKBASALT_CONFIG_FILE}"
fi fi
if [[ ! -z "${PW_VKBASALT_EFFECTS}" ]] && [[ ! -z "${PW_VKBASALT_FFX_CAS}" ]] ; then if [[ -n "${PW_VKBASALT_EFFECTS}" ]] && [[ -n "${PW_VKBASALT_FFX_CAS}" ]] ; then
sed -ri "s/effects = .*/effects = ${PW_VKBASALT_EFFECTS}/g" "${VKBASALT_CONFIG_FILE}" sed -ri "s/effects = .*/effects = ${PW_VKBASALT_EFFECTS}/g" "${VKBASALT_CONFIG_FILE}"
sed -ri "s/casSharpness .*/casSharpness = ${PW_VKBASALT_FFX_CAS}/g" "${VKBASALT_CONFIG_FILE}" sed -ri "s/casSharpness .*/casSharpness = ${PW_VKBASALT_FFX_CAS}/g" "${VKBASALT_CONFIG_FILE}"
fi fi
...@@ -1026,7 +1026,7 @@ pw_kill_autostart () { ...@@ -1026,7 +1026,7 @@ pw_kill_autostart () {
sleep 5 sleep 5
while true ; do while true ; do
if [[ -z "$(ps aux | grep -m 1 -i "$1" | grep -v grep | awk '{print $2}')" ]] \ if [[ -z "$(ps aux | grep -m 1 -i "$1" | grep -v grep | awk '{print $2}')" ]] \
&& [[ ! -z "$(ps aux | grep wrap | grep -v grep | grep -i "PortProton" | head -n 1)" ]] && [[ -n "$(ps aux | grep wrap | grep -v grep | grep -i "PortProton" | head -n 1)" ]]
then then
echo -e "PID $1 not found" echo -e "PID $1 not found"
sleep "${SWAIT}" sleep "${SWAIT}"
...@@ -1040,7 +1040,7 @@ pw_kill_autostart () { ...@@ -1040,7 +1040,7 @@ pw_kill_autostart () {
fi fi
done done
if [[ ! -z "$(ls "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/drive_c/ | grep -m 1 ".tmp")" ]] ; then if [[ -n "$(ls "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/drive_c/ | grep -m 1 ".tmp")" ]] ; then
rm -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/drive_c/*.tmp rm -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/drive_c/*.tmp
fi fi
...@@ -1087,15 +1087,15 @@ stop_portwine () { ...@@ -1087,15 +1087,15 @@ stop_portwine () {
try_remove_dir "${PW_WINELIB}/var" try_remove_dir "${PW_WINELIB}/var"
find "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/" -maxdepth 1 -type f -name "*.tmp" -delete find "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/" -maxdepth 1 -type f -name "*.tmp" -delete
if [[ "$XDG_SESSION_TYPE" == "tty" ]] ; then if [[ "$XDG_SESSION_TYPE" == "tty" ]] ; then
if [ ! -z "$(pgrep -a yad_gui_pp | grep "\--notification" | awk '{print $1}')" ] ; then if [[ -n "$(pgrep -a yad_gui_pp | grep "\--notification" | awk '{print $1}')" ]] ; then
kill -s SIGUSR1 "$(pgrep -a yad_gui_pp | grep "\--notification" | awk '{print $1}')" kill -s SIGUSR1 "$(pgrep -a yad_gui_pp | grep "\--notification" | awk '{print $1}')"
fi fi
else else
if [[ ! -z "$(pgrep -a tray_gui_pp)" ]] ; then if [[ -n "$(pgrep -a tray_gui_pp)" ]] ; then
kill -s SIGUSR1 $(pgrep -a tray_gui_pp) 2>/dev/null kill -s SIGUSR1 $(pgrep -a tray_gui_pp) 2>/dev/null
fi fi
fi fi
if [[ ! -z "$(pgrep -a yad_gui_pp)" ]] ; then if [[ -n "$(pgrep -a yad_gui_pp)" ]] ; then
kill -s SIGUSR1 $(pgrep -a yad_gui_pp) 2>/dev/null kill -s SIGUSR1 $(pgrep -a yad_gui_pp) 2>/dev/null
fi fi
pw_auto_create_shortcut pw_auto_create_shortcut
...@@ -1151,7 +1151,7 @@ pw_check_and_download_wine () { ...@@ -1151,7 +1151,7 @@ pw_check_and_download_wine () {
elif [[ "$PW_WINE_USE" == WINE_*_LG ]] || [[ "$PW_WINE_USE" == WINE_LG ]] elif [[ "$PW_WINE_USE" == WINE_*_LG ]] || [[ "$PW_WINE_USE" == WINE_LG ]]
then export PW_WINE_USE="${PW_WINE_LG_VER}" then export PW_WINE_USE="${PW_WINE_LG_VER}"
fi fi
if [ ! -d "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" ] ; then if [[ ! -d "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" ]] ; then
print_info "Download and install ${PW_WINE_USE}..." print_info "Download and install ${PW_WINE_USE}..."
if try_download "github.com/Castro-Fidel/wine_builds/releases/download/${PW_WINE_USE}/${PW_WINE_USE}.tar.xz" \ if try_download "github.com/Castro-Fidel/wine_builds/releases/download/${PW_WINE_USE}/${PW_WINE_USE}.tar.xz" \
"${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" ; then "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" ; then
...@@ -1176,7 +1176,7 @@ pw_check_and_download_wine () { ...@@ -1176,7 +1176,7 @@ pw_check_and_download_wine () {
pw_check_and_download_dxvk_and_vkd3d () { pw_check_and_download_dxvk_and_vkd3d () {
# Download stable and git version DXVK # Download stable and git version DXVK
for DXVK_VAR_VER in "${DXVK_STABLE_VER}" "${DXVK_GIT_VER}" "${DXVK_LEGACY_VER}" ; do for DXVK_VAR_VER in "${DXVK_STABLE_VER}" "${DXVK_GIT_VER}" "${DXVK_LEGACY_VER}" ; do
if [ ! -d "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}" ] ; then if [[ ! -d "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}" ]] ; then
print_info "Download and install DXVK v.${DXVK_VAR_VER}" print_info "Download and install DXVK v.${DXVK_VAR_VER}"
if try_download "https://github.com/Castro-Fidel/vulkan/releases/download/dxvk-${DXVK_VAR_VER}/dxvk-${DXVK_VAR_VER}.tar.xz" \ if try_download "https://github.com/Castro-Fidel/vulkan/releases/download/dxvk-${DXVK_VAR_VER}/dxvk-${DXVK_VAR_VER}.tar.xz" \
"${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.xz" ; then "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.xz" ; then
...@@ -1206,7 +1206,7 @@ pw_check_and_download_dxvk_and_vkd3d () { ...@@ -1206,7 +1206,7 @@ pw_check_and_download_dxvk_and_vkd3d () {
# Download stable and git version VKD3D # Download stable and git version VKD3D
for VKD3D_VAR_VER in "${VKD3D_STABLE_VER}" "${VKD3D_GIT_VER}" ; do for VKD3D_VAR_VER in "${VKD3D_STABLE_VER}" "${VKD3D_GIT_VER}" ; do
if [ ! -d "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}" ] ; then if [[ ! -d "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}" ]] ; then
print_info "Download and install VKD3D-PROTON v.${VKD3D_VAR_VER}" print_info "Download and install VKD3D-PROTON v.${VKD3D_VAR_VER}"
if try_download "https://github.com/Castro-Fidel/vulkan/releases/download/vkd3d-proton-${VKD3D_VAR_VER}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz" \ if try_download "https://github.com/Castro-Fidel/vulkan/releases/download/vkd3d-proton-${VKD3D_VAR_VER}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz" \
"${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz" ; then "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz" ; then
...@@ -1235,7 +1235,7 @@ pw_check_and_download_dxvk_and_vkd3d () { ...@@ -1235,7 +1235,7 @@ pw_check_and_download_dxvk_and_vkd3d () {
done done
# Download DGVOODOO2 # Download DGVOODOO2
if [ ! -f "${PW_VULKAN_DIR}/dgvoodoo2-${DGV2_VER}/dgVoodoo.conf" ] ; then if [[ ! -f "${PW_VULKAN_DIR}/dgvoodoo2-${DGV2_VER}/dgVoodoo.conf" ]] ; then
print_info "Download and install DGVOODOO2 v.${DGV2_VER}" print_info "Download and install DGVOODOO2 v.${DGV2_VER}"
if try_download "https://github.com/Castro-Fidel/vulkan/releases/download/dgvoodoo2-${DGV2_VER}/dgvoodoo2-${DGV2_VER}.tar.xz" \ if try_download "https://github.com/Castro-Fidel/vulkan/releases/download/dgvoodoo2-${DGV2_VER}/dgvoodoo2-${DGV2_VER}.tar.xz" \
"${PW_VULKAN_DIR}/dgvoodoo2-${DGV2_VER}.tar.xz" "${PW_VULKAN_DIR}/dgvoodoo2-${DGV2_VER}.tar.xz"
...@@ -1326,12 +1326,12 @@ check_dirs_and_files_in_pfx () { ...@@ -1326,12 +1326,12 @@ check_dirs_and_files_in_pfx () {
create_new_dir "${WINEPREFIX}/drive_c/tmp/.private/$USER/" create_new_dir "${WINEPREFIX}/drive_c/tmp/.private/$USER/"
create_new_dir "${WINEPREFIX}/drive_c/tmp/.private/steamuser/" create_new_dir "${WINEPREFIX}/drive_c/tmp/.private/steamuser/"
[ ! -d "${WINEPREFIX}/dosdevices/c:" ] && try_force_link_dir "${WINEPREFIX}/drive_c/" "${WINEPREFIX}/dosdevices/c:" [[ ! -d "${WINEPREFIX}/dosdevices/c:" ]] && try_force_link_dir "${WINEPREFIX}/drive_c/" "${WINEPREFIX}/dosdevices/c:"
[ ! -d "${WINEPREFIX}/dosdevices/z:" ] && try_force_link_dir "/" "${WINEPREFIX}/dosdevices/z:" [[ ! -d "${WINEPREFIX}/dosdevices/z:" ]] && try_force_link_dir "/" "${WINEPREFIX}/dosdevices/z:"
[ ! -d "${WINEPREFIX}/dosdevices/h:" ] && try_force_link_dir "$HOME" "${WINEPREFIX}/dosdevices/h:" [[ ! -d "${WINEPREFIX}/dosdevices/h:" ]] && try_force_link_dir "$HOME" "${WINEPREFIX}/dosdevices/h:"
if [ ! -d "${WINEPREFIX}/dosdevices/s:" ] \ if [[ ! -d "${WINEPREFIX}/dosdevices/s:" ]] \
&& [ -d "$HOME/.local/share/Steam/steamapps/common/" ] && [[ -d "$HOME/.local/share/Steam/steamapps/common/" ]]
then then
try_force_link_dir "$HOME/.local/share/Steam/steamapps/common/" "${WINEPREFIX}/dosdevices/s:" try_force_link_dir "$HOME/.local/share/Steam/steamapps/common/" "${WINEPREFIX}/dosdevices/s:"
fi fi
...@@ -1402,7 +1402,7 @@ check_dirs_and_files_in_pfx () { ...@@ -1402,7 +1402,7 @@ check_dirs_and_files_in_pfx () {
} }
check_nvidia_rtx () { check_nvidia_rtx () {
if [[ ! -z $(echo "$LSPCI_VGA" | grep -i "nvidia") ]]; then if [[ -n $(echo "$LSPCI_VGA" | grep -i "nvidia") ]] ; then
# Turing (without nvidia 16XX) # Turing (without nvidia 16XX)
[[ "$LSPCI_VGA" == *TU[0-9]* ]] && [[ "$LSPCI_VGA" != *TU11[6-7]* ]] && return 0 [[ "$LSPCI_VGA" == *TU[0-9]* ]] && [[ "$LSPCI_VGA" != *TU11[6-7]* ]] && return 0
# Ampere # Ampere
...@@ -1484,7 +1484,7 @@ pw_init_db () { ...@@ -1484,7 +1484,7 @@ pw_init_db () {
print_info "Use $PORTWINE_DB_FILE db file." print_info "Use $PORTWINE_DB_FILE db file."
else else
if [[ "${PW_DISABLED_CREATE_DB}" != 1 ]] ; then if [[ "${PW_DISABLED_CREATE_DB}" != 1 ]] ; then
if [[ ! -z "${PORTWINE_DB}" ]] ; then if [[ -n "${PORTWINE_DB}" ]] ; then
export PORTWINE_DB_FILE=$(grep -il "#${PORTWINE_DB}.exe" "${PORT_SCRIPTS_PATH}/portwine_db"/*) export PORTWINE_DB_FILE=$(grep -il "#${PORTWINE_DB}.exe" "${PORT_SCRIPTS_PATH}/portwine_db"/*)
if [[ -z "${PORTWINE_DB_FILE}" ]] ; then if [[ -z "${PORTWINE_DB_FILE}" ]] ; then
{ {
...@@ -1495,7 +1495,7 @@ pw_init_db () { ...@@ -1495,7 +1495,7 @@ pw_init_db () {
} > "${portwine_exe}".ppdb } > "${portwine_exe}".ppdb
export PORTWINE_DB_FILE="${portwine_exe}".ppdb export PORTWINE_DB_FILE="${portwine_exe}".ppdb
fi fi
if [[ ! -z $(echo "${portwine_exe}" | grep "/data/prefixes/") ]] && \ if [[ -n $(echo "${portwine_exe}" | grep "/data/prefixes/") ]] && \
[[ -z $(echo "${portwine_exe}" | grep "/data/prefixes/DEFAULT/") ]] [[ -z $(echo "${portwine_exe}" | grep "/data/prefixes/DEFAULT/") ]]
then then
PW_PREFIX_NAME=$(echo "${portwine_exe}" | awk -F"/prefixes/" '{print $2}' | awk -F"/" '{print $1}') PW_PREFIX_NAME=$(echo "${portwine_exe}" | awk -F"/prefixes/" '{print $2}' | awk -F"/" '{print $1}')
...@@ -1507,12 +1507,12 @@ pw_init_db () { ...@@ -1507,12 +1507,12 @@ pw_init_db () {
fi fi
fi fi
if [[ -z "${PATH_TO_GAME}" ]] || [[ ! -d "${PATH_TO_GAME}" ]]; then if [[ -z "${PATH_TO_GAME}" ]] || [[ ! -d "${PATH_TO_GAME}" ]] ; then
PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )" PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )"
export PATH_TO_GAME export PATH_TO_GAME
fi fi
if [[ "${PW_WINE_CPU_TOPOLOGY}" == "disabled" ]] && [[ ! -z "${WINE_CPU_TOPOLOGY}" ]] ; then if [[ "${PW_WINE_CPU_TOPOLOGY}" == "disabled" ]] && [[ -n "${WINE_CPU_TOPOLOGY}" ]] ; then
export PW_WINE_CPU_TOPOLOGY="${WINE_CPU_TOPOLOGY}" export PW_WINE_CPU_TOPOLOGY="${WINE_CPU_TOPOLOGY}"
fi fi
if ls "${PATH_TO_GAME}"/*_Data/Resources/ 2>/dev/null | grep "unity" &>/dev/null \ if ls "${PATH_TO_GAME}"/*_Data/Resources/ 2>/dev/null | grep "unity" &>/dev/null \
...@@ -1549,7 +1549,7 @@ pw_port_update () { ...@@ -1549,7 +1549,7 @@ pw_port_update () {
;; ;;
esac esac
if [ ! -f "${PORT_WINE_TMP_PATH}/scripts_ver" ] ; then if [[ ! -f "${PORT_WINE_TMP_PATH}/scripts_ver" ]] ; then
echo "2024" > "${PORT_WINE_TMP_PATH}/scripts_ver" echo "2024" > "${PORT_WINE_TMP_PATH}/scripts_ver"
fi fi
scripts_install_ver=$(head -n 1 "${PORT_WINE_TMP_PATH}/scripts_ver") scripts_install_ver=$(head -n 1 "${PORT_WINE_TMP_PATH}/scripts_ver")
...@@ -1575,7 +1575,7 @@ pw_port_update () { ...@@ -1575,7 +1575,7 @@ pw_port_update () {
scripts_current_ver=$(grep "$BRANCH_VERSION_UPDATE" "${PORT_WINE_TMP_PATH}/curent_var_ver" | awk -F "=" '{print $2}') scripts_current_ver=$(grep "$BRANCH_VERSION_UPDATE" "${PORT_WINE_TMP_PATH}/curent_var_ver" | awk -F "=" '{print $2}')
print_info "Scripts version in git = ${scripts_current_ver}" print_info "Scripts version in git = ${scripts_current_ver}"
print_info "Scripts version local = ${scripts_install_ver}" print_info "Scripts version local = ${scripts_install_ver}"
if [[ ! -z "${scripts_current_ver}" ]] && [[ "${scripts_current_ver}" -gt "${scripts_install_ver}" ]] ; then if [[ -n "${scripts_current_ver}" ]] && [[ "${scripts_current_ver}" -gt "${scripts_install_ver}" ]] ; then
if [[ -f "${PW_GUI_THEMES_PATH}/gui/yad_gui_pp" ]] if [[ -f "${PW_GUI_THEMES_PATH}/gui/yad_gui_pp" ]]
then export pw_yad="${PW_GUI_THEMES_PATH}/gui/yad_gui_pp" then export pw_yad="${PW_GUI_THEMES_PATH}/gui/yad_gui_pp"
elif command -v yad &>/dev/null elif command -v yad &>/dev/null
...@@ -1649,8 +1649,8 @@ update_winetricks () { ...@@ -1649,8 +1649,8 @@ update_winetricks () {
print_info "Version winetricks on server: ${W_TRX_EXT_VER}" print_info "Version winetricks on server: ${W_TRX_EXT_VER}"
W_TRX_INT_VER="$(grep -i 'WINETRICKS_VERSION=' "${PORT_WINE_TMP_PATH}/winetricks" | sed 's/WINETRICKS_VERSION=//')" W_TRX_INT_VER="$(grep -i 'WINETRICKS_VERSION=' "${PORT_WINE_TMP_PATH}/winetricks" | sed 's/WINETRICKS_VERSION=//')"
print_info "Version winetricks in port: ${W_TRX_INT_VER}" print_info "Version winetricks in port: ${W_TRX_INT_VER}"
if [[ ! -f "${PORT_WINE_TMP_PATH}/winetricks" && ! -z "$W_TRX_EXT_VER" ]] \ if [[ ! -f "${PORT_WINE_TMP_PATH}/winetricks" && -n "$W_TRX_EXT_VER" ]] \
|| [[ "$W_TRX_INT_VER" != "$W_TRX_EXT_VER" && ! -z "$W_TRX_EXT_VER" ]] || [[ "$W_TRX_INT_VER" != "$W_TRX_EXT_VER" && -n "$W_TRX_EXT_VER" ]]
then then
try_remove_file "${PORT_WINE_TMP_PATH}/winetricks" try_remove_file "${PORT_WINE_TMP_PATH}/winetricks"
if try_download "${W_TRX_URL}" "${PORT_WINE_TMP_PATH}/winetricks" no_mirror ; then if try_download "${W_TRX_URL}" "${PORT_WINE_TMP_PATH}/winetricks" no_mirror ; then
...@@ -1659,7 +1659,7 @@ update_winetricks () { ...@@ -1659,7 +1659,7 @@ update_winetricks () {
chmod u+x "${PORT_WINE_TMP_PATH}/winetricks" chmod u+x "${PORT_WINE_TMP_PATH}/winetricks"
fi fi
fi fi
if [ -f "${PORT_WINE_TMP_PATH}/winetricks" ] ; then if [[ -f "${PORT_WINE_TMP_PATH}/winetricks" ]] ; then
sed -i 's/w_metadata vcrun2015 dlls \\/w_metadata !dont_use_2015! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks" sed -i 's/w_metadata vcrun2015 dlls \\/w_metadata !dont_use_2015! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks"
sed -i 's/w_metadata vcrun2017 dlls \\/w_metadata !dont_use_2017! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks" sed -i 's/w_metadata vcrun2017 dlls \\/w_metadata !dont_use_2017! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks"
sed -i 's/w_metadata vcrun2019 dlls \\/w_metadata !dont_use_2019! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks" sed -i 's/w_metadata vcrun2019 dlls \\/w_metadata !dont_use_2019! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks"
...@@ -1674,7 +1674,7 @@ edit_db_from_gui () { ...@@ -1674,7 +1674,7 @@ edit_db_from_gui () {
return 0 return 0
fi fi
print_info "edit_db_from_gui PORTWINE_DB_FILE=$PORTWINE_DB_FILE" print_info "edit_db_from_gui PORTWINE_DB_FILE=$PORTWINE_DB_FILE"
if [[ ! -z "$PORTWINE_DB_FILE" ]] \ if [[ -n "$PORTWINE_DB_FILE" ]] \
&& [[ -f "$PORTWINE_DB_FILE" ]] && [[ -f "$PORTWINE_DB_FILE" ]]
then then
for mod_db in $@ ; do for mod_db in $@ ; do
...@@ -1728,13 +1728,13 @@ pw_create_gui_png () { ...@@ -1728,13 +1728,13 @@ pw_create_gui_png () {
if [[ -z "$PORTPROTON_NAME" ]] \ if [[ -z "$PORTPROTON_NAME" ]] \
|| [[ "$PW_NO_RESTART_PPDB" == "1" ]] || [[ "$PW_NO_RESTART_PPDB" == "1" ]]
then then
if [[ ! -z "${PORTWINE_CREATE_SHORTCUT_NAME}" ]] ; then if [[ -n "${PORTWINE_CREATE_SHORTCUT_NAME}" ]] ; then
PORTPROTON_NAME="${PORTWINE_CREATE_SHORTCUT_NAME}" PORTPROTON_NAME="${PORTWINE_CREATE_SHORTCUT_NAME}"
else else
if command -v exiftool &>/dev/null ; then if command -v exiftool &>/dev/null ; then
if ! PW_PRODUCTNAME=$(timeout 3 exiftool -ProductName "${portwine_exe}" 2>/dev/null | sed -n 's/^Product Name\s*:\s*//p') ; then if ! PW_PRODUCTNAME=$(timeout 3 exiftool -ProductName "${portwine_exe}" 2>/dev/null | sed -n 's/^Product Name\s*:\s*//p') ; then
print_error "exiftool - broken!" print_error "exiftool - broken!"
if [[ ! -z $PW_DEBUG ]] ; then if [[ -n "$PW_DEBUG" ]] ; then
debug_timer --start debug_timer --start
timeout 5 exiftool -ProductName "${portwine_exe}" timeout 5 exiftool -ProductName "${portwine_exe}"
debug_timer --end "exiftool" debug_timer --end "exiftool"
...@@ -1751,7 +1751,7 @@ pw_create_gui_png () { ...@@ -1751,7 +1751,7 @@ pw_create_gui_png () {
PW_PRODUCTNAME="$(echo "$PW_PRODUCTNAME" | sed 's/Launcher\|RU//g')" PW_PRODUCTNAME="$(echo "$PW_PRODUCTNAME" | sed 's/Launcher\|RU//g')"
fi fi
if [[ ! -z "$PW_PRODUCTNAME" ]] \ if [[ -n "$PW_PRODUCTNAME" ]] \
&& [[ "$PW_PRODUCTNAME" != Bootstrap* ]] && [[ "$PW_PRODUCTNAME" != Bootstrap* ]]
then then
PORTPROTON_NAME="$PW_PRODUCTNAME" PORTPROTON_NAME="$PW_PRODUCTNAME"
...@@ -1769,7 +1769,7 @@ pw_create_gui_png () { ...@@ -1769,7 +1769,7 @@ pw_create_gui_png () {
PORTPROTON_NAME_PNG="${PORTPROTON_NAME// /_}" PORTPROTON_NAME_PNG="${PORTPROTON_NAME// /_}"
if [[ -z "${PW_ICON_FOR_YAD}" ]] ; then if [[ -z "${PW_ICON_FOR_YAD}" ]] ; then
if [[ ! -z "$(file "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME_PNG}.png" | grep "${PW_RESIZE_TO} x ${PW_RESIZE_TO}")" ]] ; then if [[ -n "$(file "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME_PNG}.png" | grep "${PW_RESIZE_TO} x ${PW_RESIZE_TO}")" ]] ; then
export PW_ICON_FOR_YAD="${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME_PNG}.png" export PW_ICON_FOR_YAD="${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME_PNG}.png"
else else
export PW_ICON_FOR_YAD="${PW_GUI_ICON_PATH}/port_proton.png" export PW_ICON_FOR_YAD="${PW_GUI_ICON_PATH}/port_proton.png"
...@@ -1813,7 +1813,7 @@ pw_find_exe () { ...@@ -1813,7 +1813,7 @@ pw_find_exe () {
fi fi
IFS="$orig_IFS" IFS="$orig_IFS"
if [[ ! -z "${PW_SET_FIND_EXE}" ]] ; then if [[ -n "${PW_SET_FIND_EXE}" ]] ; then
portwine_exe="${PW_PATH_FOR_FIND}$(echo "${PW_SET_FIND_EXE}" | awk -F'|' '{print $1}')" portwine_exe="${PW_PATH_FOR_FIND}$(echo "${PW_SET_FIND_EXE}" | awk -F'|' '{print $1}')"
portwine_create_shortcut silent portwine_create_shortcut silent
/usr/bin/env bash -c ${pw_full_command_line[*]} & /usr/bin/env bash -c ${pw_full_command_line[*]} &
...@@ -1826,11 +1826,11 @@ pw_create_unique_exe () { ...@@ -1826,11 +1826,11 @@ pw_create_unique_exe () {
if [[ -d "$BASEDIR_GAME" ]] ; then if [[ -d "$BASEDIR_GAME" ]] ; then
pushd "$BASEDIR_GAME" || fatal pushd "$BASEDIR_GAME" || fatal
BASENAME_GAME_EXE="$(basename "$portwine_exe")" BASENAME_GAME_EXE="$(basename "$portwine_exe")"
if [[ ! -z "$1" ]] ; then if [[ -n "$1" ]] ; then
BASENAME_GAME="$(basename "$1" .exe).exe" BASENAME_GAME="$(basename "$1" .exe).exe"
ln -sf "$BASENAME_GAME_EXE" "$BASENAME_GAME" ln -sf "$BASENAME_GAME_EXE" "$BASENAME_GAME"
export portwine_exe="$BASEDIR_GAME/$BASENAME_GAME" export portwine_exe="$BASEDIR_GAME/$BASENAME_GAME"
elif [[ ! -z "$PORTWINE_CREATE_SHORTCUT_NAME" ]] ; then elif [[ -n "$PORTWINE_CREATE_SHORTCUT_NAME" ]] ; then
ln -sf "$BASENAME_GAME_EXE" "$PORTWINE_CREATE_SHORTCUT_NAME.exe" ln -sf "$BASENAME_GAME_EXE" "$PORTWINE_CREATE_SHORTCUT_NAME.exe"
export portwine_exe="$BASEDIR_GAME/$PORTWINE_CREATE_SHORTCUT_NAME.exe" export portwine_exe="$BASEDIR_GAME/$PORTWINE_CREATE_SHORTCUT_NAME.exe"
else else
...@@ -1841,7 +1841,7 @@ pw_create_unique_exe () { ...@@ -1841,7 +1841,7 @@ pw_create_unique_exe () {
} }
start_portwine () { start_portwine () {
if [[ "${PW_LOCALE_SELECT}" != "disabled" ]] && [[ ! -z "${PW_LOCALE_SELECT}" ]] ; then if [[ "${PW_LOCALE_SELECT}" != "disabled" ]] && [[ -n "${PW_LOCALE_SELECT}" ]] ; then
export LC_ALL="${PW_LOCALE_SELECT}" export LC_ALL="${PW_LOCALE_SELECT}"
if [[ "${PW_USE_RUNTIME}" == "1" ]] && [[ "${HOST_LC_ALL}" != "${LC_ALL}" ]] ; then if [[ "${PW_USE_RUNTIME}" == "1" ]] && [[ "${HOST_LC_ALL}" != "${LC_ALL}" ]] ; then
export HOST_LC_ALL="${LC_ALL}" export HOST_LC_ALL="${LC_ALL}"
...@@ -1933,7 +1933,7 @@ start_portwine () { ...@@ -1933,7 +1933,7 @@ start_portwine () {
check_variables VKBASALT_LOG_LEVEL none check_variables VKBASALT_LOG_LEVEL none
check_variables DXVK_NVAPI_LOG_LEVEL none check_variables DXVK_NVAPI_LOG_LEVEL none
if [[ "${PW_LOG}" == 1 ]] \ if [[ "${PW_LOG}" == 1 ]] \
|| [[ ! -z "$$PW_DEBUG" ]] || [[ -n "$PW_DEBUG" ]]
then then
export WINEDEBUG="fixme-all,err+loaddll,err+dll,err+file,err+reg" export WINEDEBUG="fixme-all,err+loaddll,err+dll,err+file,err+reg"
export WINE_MONO_TRACE="E:System.NotImplementedException" export WINE_MONO_TRACE="E:System.NotImplementedException"
...@@ -2107,7 +2107,7 @@ start_portwine () { ...@@ -2107,7 +2107,7 @@ start_portwine () {
DXVK_ENABLE_NVAPI="1" DXVK_ENABLE_NVAPI="1"
try_remove_file "${WINEPREFIX}/drive_c/windows/system32/nvngx.ini" try_remove_file "${WINEPREFIX}/drive_c/windows/system32/nvngx.ini"
FIND_NVNGX="$(dirname $(find /usr/* -type f -name "nvngx.dll" 2>/dev/null | head -n 1 | awk '{print $1}'))" FIND_NVNGX="$(dirname $(find /usr/* -type f -name "nvngx.dll" 2>/dev/null | head -n 1 | awk '{print $1}'))"
if [[ ! -z "$FIND_NVNGX" ]] ; then if [[ -n "$FIND_NVNGX" ]] ; then
try_copy_file_with_checksums "${FIND_NVNGX}/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/nvngx.dll" try_copy_file_with_checksums "${FIND_NVNGX}/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/nvngx.dll"
try_copy_file_with_checksums "${FIND_NVNGX}/_nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/_nvngx.dll" try_copy_file_with_checksums "${FIND_NVNGX}/_nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/_nvngx.dll"
else else
...@@ -2184,7 +2184,7 @@ start_portwine () { ...@@ -2184,7 +2184,7 @@ start_portwine () {
if check_gamescope_session ; then if check_gamescope_session ; then
export PW_GAMEMODERUN_SLR="" export PW_GAMEMODERUN_SLR=""
elif [[ "$PW_USE_GAMEMODE" = "1" ]] \ elif [[ "$PW_USE_GAMEMODE" = "1" ]] \
&& [[ ! -z "$DBUS_SESSION_BUS_ADDRESS" ]] && [[ -n "$DBUS_SESSION_BUS_ADDRESS" ]]
then then
if command -v gamemoded &>/dev/null ; then if command -v gamemoded &>/dev/null ; then
export GAMEMODERUN=1 export GAMEMODERUN=1
...@@ -2199,7 +2199,7 @@ start_portwine () { ...@@ -2199,7 +2199,7 @@ start_portwine () {
export GAMEMODERUN=1 export GAMEMODERUN=1
if ! pidof gamemoded &>/dev/null ; then if ! pidof gamemoded &>/dev/null ; then
GAMEMODEAUTO_NAME="libgamemodeauto.so.0" GAMEMODEAUTO_NAME="libgamemodeauto.so.0"
if [[ ! -z "${PW_LD_PRELOAD}" ]] if [[ -n "${PW_LD_PRELOAD}" ]]
then export PW_LD_PRELOAD="${PW_LD_PRELOAD}:${GAMEMODEAUTO_NAME}" then export PW_LD_PRELOAD="${PW_LD_PRELOAD}:${GAMEMODEAUTO_NAME}"
else export PW_LD_PRELOAD="${GAMEMODEAUTO_NAME}" else export PW_LD_PRELOAD="${GAMEMODEAUTO_NAME}"
fi fi
...@@ -2602,7 +2602,7 @@ start_portwine () { ...@@ -2602,7 +2602,7 @@ start_portwine () {
try_force_link_file "${WINEDIR}/lib/wine/i386-windows/${copy_wine_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${copy_wine_dll}.dll" try_force_link_file "${WINEDIR}/lib/wine/i386-windows/${copy_wine_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${copy_wine_dll}.dll"
done done
if [[ ! -z "$CP_DXVK_FILES" ]] ; then if [[ -n "$CP_DXVK_FILES" ]] ; then
print_info "Try create symlink DXVK files..." print_info "Try create symlink DXVK files..."
for wine_dxvk_dll in $CP_DXVK_FILES ; do for wine_dxvk_dll in $CP_DXVK_FILES ; do
if [[ -f "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll" ]] ; then if [[ -f "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll" ]] ; then
...@@ -2622,7 +2622,7 @@ start_portwine () { ...@@ -2622,7 +2622,7 @@ start_portwine () {
try_force_link_file "${PATH_TO_DXVK_FILES}/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/nvapi64.dll" try_force_link_file "${PATH_TO_DXVK_FILES}/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/nvapi64.dll"
fi fi
if [[ ! -z "$CP_VKD3D_FILES" ]] ; then if [[ -n "$CP_VKD3D_FILES" ]] ; then
print_info "Try create symlink VKD3D files..." print_info "Try create symlink VKD3D files..."
for wine_vkd3d_dll in $CP_VKD3D_FILES ; do for wine_vkd3d_dll in $CP_VKD3D_FILES ; do
if [[ -f "${PATH_TO_VKD3D_FILES}/x64/${wine_vkd3d_dll}.dll" ]] ; then if [[ -f "${PATH_TO_VKD3D_FILES}/x64/${wine_vkd3d_dll}.dll" ]] ; then
...@@ -2643,10 +2643,10 @@ start_portwine () { ...@@ -2643,10 +2643,10 @@ start_portwine () {
unset FIND_D3D_MODULE D3D_MODULE_PATH unset FIND_D3D_MODULE D3D_MODULE_PATH
if ! check_flatpak ; then if ! check_flatpak ; then
FIND_D3D_MODULE=$(dirname $(find /usr/ -maxdepth 4 -type f -name "d3dadapter9.so.*") 2>/dev/null) FIND_D3D_MODULE=$(dirname $(find /usr/ -maxdepth 4 -type f -name "d3dadapter9.so.*") 2>/dev/null)
if [[ ! -z "$FIND_D3D_MODULE" ]] ; then if [[ -n "$FIND_D3D_MODULE" ]] ; then
IFS=$'\n' IFS=$'\n'
for D3D_MP in $FIND_D3D_MODULE ; do for D3D_MP in $FIND_D3D_MODULE ; do
if [[ ! -z "$D3D_MODULE_PATH" ]] if [[ -n "$D3D_MODULE_PATH" ]]
then export D3D_MODULE_PATH="$D3D_MODULE_PATH:/run/host${D3D_MP}" then export D3D_MODULE_PATH="$D3D_MODULE_PATH:/run/host${D3D_MP}"
else export D3D_MODULE_PATH="/run/host${D3D_MP}" else export D3D_MODULE_PATH="/run/host${D3D_MP}"
fi fi
...@@ -2707,14 +2707,14 @@ start_portwine () { ...@@ -2707,14 +2707,14 @@ start_portwine () {
fi fi
#run_winetricks_from_db #run_winetricks_from_db
if [[ ! -z "${PW_MUST_HAVE_DLL}" ]] if [[ -n "${PW_MUST_HAVE_DLL}" ]]
then export PW_DLL_INSTALL="$(echo "${PW_MUST_HAVE_DLL} ${PW_DLL_INSTALL}" | awk '{ for(i=1;i<=NF;i++){a[$i]++} }END{ for(i in a){printf("%s ",i)} }' )" then export PW_DLL_INSTALL="$(echo "${PW_MUST_HAVE_DLL} ${PW_DLL_INSTALL}" | awk '{ for(i=1;i<=NF;i++){a[$i]++} }END{ for(i in a){printf("%s ",i)} }' )"
fi fi
if [[ ! -z "${PW_DLL_INSTALL}" ]] ; then if [[ -n "${PW_DLL_INSTALL}" ]] ; then
export PW_DLL_NEED_INSTALL="" export PW_DLL_NEED_INSTALL=""
export USE_WT_FROM_DB=0 export USE_WT_FROM_DB=0
if [ ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" ] ; then if [[ ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" ]] ; then
touch "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" touch "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"
fi fi
for need_install_dll_to_pfx in ${PW_DLL_INSTALL} ; do for need_install_dll_to_pfx in ${PW_DLL_INSTALL} ; do
...@@ -2750,7 +2750,7 @@ start_portwine () { ...@@ -2750,7 +2750,7 @@ start_portwine () {
if [[ -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg" ]] \ if [[ -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg" ]] \
&& [[ -z $(grep "Windows $PW_WINDOWS_VER" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg") ]] && [[ -z $(grep "Windows $PW_WINDOWS_VER" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg") ]]
then then
if [[ ! -z "${PW_WINDOWS_VER}" ]] \ if [[ -n "${PW_WINDOWS_VER}" ]] \
&& [[ $(echo "$PW_WINDOWS_VER" | sed 's/.*/\L&/') == "xp" ]] && [[ $(echo "$PW_WINDOWS_VER" | sed 's/.*/\L&/') == "xp" ]]
then then
export PW_WINDOWS_VER="xp64" export PW_WINDOWS_VER="xp64"
...@@ -2998,7 +2998,7 @@ start_portwine () { ...@@ -2998,7 +2998,7 @@ start_portwine () {
pw_run () { pw_run () {
unset GDK_BACKEND unset GDK_BACKEND
if [[ ! -z "${PATH_TO_GAME}" ]] \ if [[ -n "${PATH_TO_GAME}" ]] \
&& [[ -d "${PATH_TO_GAME}" ]] && [[ -d "${PATH_TO_GAME}" ]]
then then
cd "${PATH_TO_GAME}" || fatal cd "${PATH_TO_GAME}" || fatal
...@@ -3105,7 +3105,7 @@ pw_run () { ...@@ -3105,7 +3105,7 @@ pw_run () {
export -f pw_run export -f pw_run
pw_yad_set_form () { pw_yad_set_form () {
if [[ $(<"${PW_TMPFS_PATH}/tmp_yad_form") != "" ]]; then if [[ $(<"${PW_TMPFS_PATH}/tmp_yad_form") != "" ]] ; then
PW_YAD_SET=$(head -n 1 "${PW_TMPFS_PATH}/tmp_yad_form" | awk '{print $1}') PW_YAD_SET=$(head -n 1 "${PW_TMPFS_PATH}/tmp_yad_form" | awk '{print $1}')
export PW_YAD_SET export PW_YAD_SET
fi fi
...@@ -3113,7 +3113,7 @@ pw_yad_set_form () { ...@@ -3113,7 +3113,7 @@ pw_yad_set_form () {
pw_yad_form_vulkan () { pw_yad_form_vulkan () {
if [[ "$(<"${PW_TMPFS_PATH}/tmp_yad_form_vulkan")" != "" ]] ; then if [[ "$(<"${PW_TMPFS_PATH}/tmp_yad_form_vulkan")" != "" ]] ; then
if [[ ! -z "${KEY_START}" ]] ; then if [[ -n "${KEY_START}" ]] ; then
YAD_FORM_VULKAN=$(sed 's/$/\;/' "${PW_TMPFS_PATH}/tmp_yad_form_vulkan") YAD_FORM_VULKAN=$(sed 's/$/\;/' "${PW_TMPFS_PATH}/tmp_yad_form_vulkan")
VULKAN_MOD=$(echo "${YAD_FORM_VULKAN}" | grep \;\; | awk -F";" '{print $1}') VULKAN_MOD=$(echo "${YAD_FORM_VULKAN}" | grep \;\; | awk -F";" '{print $1}')
PW_WINE_VER=$(echo "${YAD_FORM_VULKAN}" | grep \;\; | awk -F";" '{print $2}') PW_WINE_VER=$(echo "${YAD_FORM_VULKAN}" | grep \;\; | awk -F";" '{print $2}')
...@@ -3125,7 +3125,7 @@ pw_yad_form_vulkan () { ...@@ -3125,7 +3125,7 @@ pw_yad_form_vulkan () {
PW_WINE_VER=$(echo "${YAD_FORM_VULKAN}" | grep \;\; | awk -F";" '{print $3}') PW_WINE_VER=$(echo "${YAD_FORM_VULKAN}" | grep \;\; | awk -F";" '{print $3}')
fi fi
if [[ -z "${PW_PREFIX_NAME}" ]] \ if [[ -z "${PW_PREFIX_NAME}" ]] \
|| [[ ! -z "$(echo "${PW_PREFIX_NAME}" | grep -E '^_.*' )" ]] || [[ -n "$(echo "${PW_PREFIX_NAME}" | grep -E '^_.*' )" ]]
then then
PW_PREFIX_NAME="DEFAULT" PW_PREFIX_NAME="DEFAULT"
else else
...@@ -3307,9 +3307,9 @@ pw_update_pfx_cover_gui () { ...@@ -3307,9 +3307,9 @@ pw_update_pfx_cover_gui () {
PW_GIF_SIZE_Y=$(file "${PW_GIF_FILE}" | awk '{print $9 + 65}') PW_GIF_SIZE_Y=$(file "${PW_GIF_FILE}" | awk '{print $9 + 65}')
echo "UPDATE PREFIX..." > "${PW_TMPFS_PATH}/update_pfx_log" echo "UPDATE PREFIX..." > "${PW_TMPFS_PATH}/update_pfx_log"
export PW_TIMER=0 export PW_TIMER=0
while read -r line || [[ ! -z $(pgrep -a yad | grep "yad_gui_pp --notebook --key=$PW_KEY_PROGRESS_BAR_UP" | awk '{print $1}') ]] ; do while read -r line || [[ -n $(pgrep -a yad | grep "yad_gui_pp --notebook --key=$PW_KEY_PROGRESS_BAR_UP" | awk '{print $1}') ]] ; do
sleep 0.005 sleep 0.005
if [[ ! -z "${line}" ]] && [[ -z "$(echo "${line}" | grep -i "gstreamer")" ]] \ if [[ -n "${line}" ]] && [[ -z "$(echo "${line}" | grep -i "gstreamer")" ]] \
&& [[ -z "$(echo "${line}" | grep -i "kerberos")" ]] \ && [[ -z "$(echo "${line}" | grep -i "kerberos")" ]] \
&& [[ -z "$(echo "${line}" | grep -i "ntlm")" ]] && [[ -z "$(echo "${line}" | grep -i "ntlm")" ]]
then then
...@@ -3416,11 +3416,11 @@ export -f open_changelog ...@@ -3416,11 +3416,11 @@ export -f open_changelog
pw_tray_icon () { pw_tray_icon () {
if [[ "$XDG_SESSION_TYPE" == "tty" ]] ; then if [[ "$XDG_SESSION_TYPE" == "tty" ]] ; then
if [ ! -z "$(pgrep -a yad_gui_pp | grep "\--notification" | awk '{print $1}')" ] ; then if [[ -n "$(pgrep -a yad_gui_pp | grep "\--notification" | awk '{print $1}')" ]] ; then
kill -s SIGUSR1 "$(pgrep -a yad_gui_pp | grep "\--notification" | awk '{print $1}')" kill -s SIGUSR1 "$(pgrep -a yad_gui_pp | grep "\--notification" | awk '{print $1}')"
fi fi
else else
if [[ ! -z "$(pgrep -a tray_gui_pp)" ]] ; then if [[ -n "$(pgrep -a tray_gui_pp)" ]] ; then
kill -s SIGUSR1 $(pgrep -a tray_gui_pp) 2>/dev/null kill -s SIGUSR1 $(pgrep -a tray_gui_pp) 2>/dev/null
fi fi
fi fi
...@@ -3477,7 +3477,7 @@ gui_proton_downloader () { ...@@ -3477,7 +3477,7 @@ gui_proton_downloader () {
then PW_WINE_USE="${PW_PROTON_LG_VER}" then PW_WINE_USE="${PW_PROTON_LG_VER}"
elif [[ "$PW_WINE_USE" == WINE_*_LG ]] || [[ "$PW_WINE_USE" == WINE_LG ]] elif [[ "$PW_WINE_USE" == WINE_*_LG ]] || [[ "$PW_WINE_USE" == WINE_LG ]]
then PW_WINE_USE="${PW_WINE_LG_VER}" then PW_WINE_USE="${PW_WINE_LG_VER}"
elif [[ "$1" == "silent" ]] && [[ ! -z "$2" ]] elif [[ "$1" == "silent" ]] && [[ -n "$2" ]]
then PW_WINE_USE="$2" then PW_WINE_USE="$2"
fi fi
export PW_WINE_USE export PW_WINE_USE
...@@ -3491,7 +3491,7 @@ gui_proton_downloader () { ...@@ -3491,7 +3491,7 @@ gui_proton_downloader () {
# PROTON_GE # PROTON_GE
export PROTON_GE_GIT=($(curl -s "https://api.github.com/repos/GloriousEggroll/proton-ge-custom/releases" | grep "browser_download_url.*\.tar\.gz" | cut -d \" -f 4)) export PROTON_GE_GIT=($(curl -s "https://api.github.com/repos/GloriousEggroll/proton-ge-custom/releases" | grep "browser_download_url.*\.tar\.gz" | cut -d \" -f 4))
if [[ ! -z "${PROTON_GE_GIT}" ]] ; then if [[ -n "${PROTON_GE_GIT}" ]] ; then
for PGEGIT in ${PROTON_GE_GIT[@]} ; do for PGEGIT in ${PROTON_GE_GIT[@]} ; do
echo ${PGEGIT} | awk -F/ '{print $NF}' | sed 's/.tar.gz//' >> "${PW_TMPFS_PATH}/tmp_proton_ge_git" echo ${PGEGIT} | awk -F/ '{print $NF}' | sed 's/.tar.gz//' >> "${PW_TMPFS_PATH}/tmp_proton_ge_git"
done done
...@@ -3502,7 +3502,7 @@ gui_proton_downloader () { ...@@ -3502,7 +3502,7 @@ gui_proton_downloader () {
# WINE_KRON4EK # WINE_KRON4EK
export WINE_KRON4EK=($(curl -s "https://api.github.com/repos/Kron4ek/Wine-Builds/releases" | grep "browser_download_url.*\.tar\.xz" | cut -d \" -f 4)) export WINE_KRON4EK=($(curl -s "https://api.github.com/repos/Kron4ek/Wine-Builds/releases" | grep "browser_download_url.*\.tar\.xz" | cut -d \" -f 4))
if [[ ! -z "${WINE_KRON4EK}" ]] ; then if [[ -n "${WINE_KRON4EK}" ]] ; then
for PGEGIT in ${WINE_KRON4EK[@]} ; do for PGEGIT in ${WINE_KRON4EK[@]} ; do
echo ${PGEGIT} | awk -F/ '{print $NF}' | sed 's/.tar.xz//' >> "${PW_TMPFS_PATH}/tmp_wine_kron4ek_git" echo ${PGEGIT} | awk -F/ '{print $NF}' | sed 's/.tar.xz//' >> "${PW_TMPFS_PATH}/tmp_wine_kron4ek_git"
done done
...@@ -3513,7 +3513,7 @@ gui_proton_downloader () { ...@@ -3513,7 +3513,7 @@ gui_proton_downloader () {
# WINE_GE_CUSTOM # WINE_GE_CUSTOM
export WINE_GE_CUSTOM=($(curl -s "https://api.github.com/repos/GloriousEggroll/wine-ge-custom/releases" | grep "browser_download_url.*\.tar\.xz" | cut -d \" -f 4)) export WINE_GE_CUSTOM=($(curl -s "https://api.github.com/repos/GloriousEggroll/wine-ge-custom/releases" | grep "browser_download_url.*\.tar\.xz" | cut -d \" -f 4))
if [[ ! -z "${WINE_GE_CUSTOM}" ]] ; then if [[ -n "${WINE_GE_CUSTOM}" ]] ; then
for PGEGIT in ${WINE_GE_CUSTOM[@]} ; do for PGEGIT in ${WINE_GE_CUSTOM[@]} ; do
echo ${PGEGIT} | awk -F/ '{print $NF}' | sed 's/.tar.xz//' >> "${PW_TMPFS_PATH}/tmp_wine_ge_custom_git" echo ${PGEGIT} | awk -F/ '{print $NF}' | sed 's/.tar.xz//' >> "${PW_TMPFS_PATH}/tmp_wine_ge_custom_git"
done done
...@@ -3523,7 +3523,7 @@ gui_proton_downloader () { ...@@ -3523,7 +3523,7 @@ gui_proton_downloader () {
# PROTON_LG # PROTON_LG
export PROTON_PW_GIT=($(curl -s "https://api.github.com/repos/Castro-Fidel/wine_builds/releases" | grep "browser_download_url.*\.tar\.xz" | cut -d \" -f 4 | sort -r)) export PROTON_PW_GIT=($(curl -s "https://api.github.com/repos/Castro-Fidel/wine_builds/releases" | grep "browser_download_url.*\.tar\.xz" | cut -d \" -f 4 | sort -r))
if [[ ! -z "${PROTON_PW_GIT}" ]] ; then if [[ -n "${PROTON_PW_GIT}" ]] ; then
for PPWGIT in ${PROTON_PW_GIT[@]} ; do for PPWGIT in ${PROTON_PW_GIT[@]} ; do
echo ${PPWGIT} | awk -F/ '{print $NF}' | sed 's/.tar.xz//' >> "${PW_TMPFS_PATH}/tmp_proton_pw_git" echo ${PPWGIT} | awk -F/ '{print $NF}' | sed 's/.tar.xz//' >> "${PW_TMPFS_PATH}/tmp_proton_pw_git"
done done
...@@ -3616,10 +3616,10 @@ gui_proton_downloader () { ...@@ -3616,10 +3616,10 @@ gui_proton_downloader () {
/usr/bin/env bash -c ${pw_full_command_line[*]} & /usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0 exit 0
fi fi
if [[ ! -z $(<"${PW_TMPFS_PATH}/tmp_set_wine") ]] ; then if [[ -n $(<"${PW_TMPFS_PATH}/tmp_set_wine") ]] ; then
VERSION_WINE_GIT="$(sed 's/TRUE//' "${PW_TMPFS_PATH}/tmp_set_wine")" VERSION_WINE_GIT="$(sed 's/TRUE//' "${PW_TMPFS_PATH}/tmp_set_wine")"
fi fi
if [[ ! -z $(<"${PW_TMPFS_PATH}/tmp_installed_wine_set") ]] ; then if [[ -n $(<"${PW_TMPFS_PATH}/tmp_installed_wine_set") ]] ; then
VERSION_INSTALLED_WINE="$(sed 's/TRUE//' "${PW_TMPFS_PATH}/tmp_installed_wine_set")" VERSION_INSTALLED_WINE="$(sed 's/TRUE//' "${PW_TMPFS_PATH}/tmp_installed_wine_set")"
fi fi
...@@ -3631,7 +3631,7 @@ gui_proton_downloader () { ...@@ -3631,7 +3631,7 @@ gui_proton_downloader () {
exit 0 exit 0
fi fi
elif [[ "$1" == "silent" ]] && [[ ! -z "$2" ]] ; then elif [[ "$1" == "silent" ]] && [[ -n "$2" ]] ; then
VERSION_WINE_GIT="$2" VERSION_WINE_GIT="$2"
fi fi
...@@ -3641,7 +3641,7 @@ gui_proton_downloader () { ...@@ -3641,7 +3641,7 @@ gui_proton_downloader () {
if try_download "${URL_VERSION_PROTON_GIT}" "${PORT_WINE_PATH}/data/tmp/$FILENAME" ; then if try_download "${URL_VERSION_PROTON_GIT}" "${PORT_WINE_PATH}/data/tmp/$FILENAME" ; then
if unpack "${PORT_WINE_PATH}/data/tmp/${FILENAME}" "${PORT_WINE_PATH}/data/dist/" ; then if unpack "${PORT_WINE_PATH}/data/tmp/${FILENAME}" "${PORT_WINE_PATH}/data/dist/" ; then
try_remove_file "${PORT_WINE_PATH}/data/tmp/${FILENAME}" try_remove_file "${PORT_WINE_PATH}/data/tmp/${FILENAME}"
if [ ! -z "${portwine_exe}" ]; then if [[ -n "${portwine_exe}" ]] ; then
PW_WINE_USE="$(echo "${VERSION_WINE_GIT}" | tr [[:lower:]] [[:upper:]])" PW_WINE_USE="$(echo "${VERSION_WINE_GIT}" | tr [[:lower:]] [[:upper:]])"
edit_db_from_gui PW_WINE_USE edit_db_from_gui PW_WINE_USE
fi fi
...@@ -3665,7 +3665,7 @@ gui_proton_downloader () { ...@@ -3665,7 +3665,7 @@ gui_proton_downloader () {
fi fi
} }
if [[ ! -z "${VERSION_INSTALLED_WINE}" ]] ; then if [[ -n "${VERSION_INSTALLED_WINE}" ]] ; then
for REMOVE_WINE in ${VERSION_INSTALLED_WINE} ; do for REMOVE_WINE in ${VERSION_INSTALLED_WINE} ; do
try_remove_dir "${PORT_WINE_PATH}/data/dist/${REMOVE_WINE}" try_remove_dir "${PORT_WINE_PATH}/data/dist/${REMOVE_WINE}"
done done
...@@ -3679,7 +3679,7 @@ gui_proton_downloader () { ...@@ -3679,7 +3679,7 @@ gui_proton_downloader () {
if [[ "$1" != "silent" ]] ; then if [[ "$1" != "silent" ]] ; then
for GIVE_ALL_WINE in ${VERSION_WINE_GIT} ; do for GIVE_ALL_WINE in ${VERSION_WINE_GIT} ; do
for GIVE_WINE_URL in ${WINE_GE_CUSTOM[@]} ${PROTON_GE_GIT[@]} ${WINE_KRON4EK[@]} ${PROTON_PW_GIT[@]} ; do for GIVE_WINE_URL in ${WINE_GE_CUSTOM[@]} ${PROTON_GE_GIT[@]} ${WINE_KRON4EK[@]} ${PROTON_PW_GIT[@]} ; do
if [ ! -z $(echo ${GIVE_WINE_URL} | grep -i "${GIVE_ALL_WINE}") ] ; then if [[ -n $(echo ${GIVE_WINE_URL} | grep -i "${GIVE_ALL_WINE}") ]] ; then
export URL_VERSION_PROTON_GIT="${GIVE_WINE_URL}" export URL_VERSION_PROTON_GIT="${GIVE_WINE_URL}"
fi fi
done done
...@@ -3692,7 +3692,7 @@ gui_proton_downloader () { ...@@ -3692,7 +3692,7 @@ gui_proton_downloader () {
# init_wine_ver # init_wine_ver
print_error "$PW_WINE_USE" print_error "$PW_WINE_USE"
for GIVE_WINE_URL in ${WINE_GE_CUSTOM[@]} ${PROTON_GE_GIT[@]} ${WINE_KRON4EK[@]} ${PROTON_PW_GIT[@]} ; do for GIVE_WINE_URL in ${WINE_GE_CUSTOM[@]} ${PROTON_GE_GIT[@]} ${WINE_KRON4EK[@]} ${PROTON_PW_GIT[@]} ; do
if [ ! -z $(echo ${GIVE_WINE_URL} | grep -i "${PW_WINE_USE}") ] ; then if [[ -n $(echo ${GIVE_WINE_URL} | grep -i "${PW_WINE_USE}") ]] ; then
export URL_VERSION_PROTON_GIT="${GIVE_WINE_URL}" export URL_VERSION_PROTON_GIT="${GIVE_WINE_URL}"
fi fi
done done
...@@ -3805,7 +3805,7 @@ fi ...@@ -3805,7 +3805,7 @@ fi
unset ADD_CHK_BOX_EDIT_DB unset ADD_CHK_BOX_EDIT_DB
for int_to_boole in ${PW_EDIT_DB_LIST} ; do for int_to_boole in ${PW_EDIT_DB_LIST} ; do
if [ "${!int_to_boole}" == "1" ] if [[ "${!int_to_boole}" == "1" ]]
then export ${int_to_boole}="TRUE" then export ${int_to_boole}="TRUE"
else export ${int_to_boole}="FALSE" else export ${int_to_boole}="FALSE"
fi fi
...@@ -3855,7 +3855,7 @@ A brief instruction: ...@@ -3855,7 +3855,7 @@ A brief instruction:
--field="$(gettext "ADD ARGUMENTS FOR .EXE FILE")!$(gettext "Adding an argument after the <b>.exe</b> file, just like you would add an argument in a shortcut on a <b>WINDOWS </b> system") :CBE" "$(combobox_fix --empty "\\${LAUNCH_PARAMETERS[@]}" "-dx11 -skipintro 1")" \ --field="$(gettext "ADD ARGUMENTS FOR .EXE FILE")!$(gettext "Adding an argument after the <b>.exe</b> file, just like you would add an argument in a shortcut on a <b>WINDOWS </b> system") :CBE" "$(combobox_fix --empty "\\${LAUNCH_PARAMETERS[@]}" "-dx11 -skipintro 1")" \
--field=":LBLH" "" \ --field=":LBLH" "" \
--field="$(gettext "Limit the use of processor cores")!$(gettext "Limiting the number of CPU cores is useful for Unity games (It is recommended to set the value equal to 8)") :CB" "$(combobox_fix --disabled "${CPU_LIMIT_VAR}" "${GET_LOGICAL_CORE}")" \ --field="$(gettext "Limit the use of processor cores")!$(gettext "Limiting the number of CPU cores is useful for Unity games (It is recommended to set the value equal to 8)") :CB" "$(combobox_fix --disabled "${CPU_LIMIT_VAR}" "${GET_LOGICAL_CORE}")" \
--field="$(gettext "Forcibly select the OpenGL version for the game")!$(gettext "You can select the required OpenGL version, some games require a forced Compatibility Profile (COMPAT). (Examples are in the drop-down list)") :CBE" "$(combobox_fix --disabled "${PW_MESA_GL_VERSION_OVERRIDE}" "4.6COMPAT!4.6!4.5COMPAT!4.5!3.3COMPAT!3.3")" \ --field="$(gettext "Forcibly select the OpenGL version for the game")!$(gettext "You can select the required OpenGL version, some games require a forced Compatibility Profile (COMPAT). (Examples are in the drop-down list)") :CB" "$(combobox_fix --disabled "${PW_MESA_GL_VERSION_OVERRIDE}" "4.6COMPAT!4.6!4.5COMPAT!4.5!3.3COMPAT!3.3")" \
--field="$(gettext "Forcibly select the VKD3D feature level")!$(gettext "You can set a forced feature level VKD3D for games on DirectX12") :${VKD3D_CB}" "$(combobox_fix --disabled "${PW_VKD3D_FEATURE_LEVEL}" "12_2!12_1!12_0!11_1!11_0")" \ --field="$(gettext "Forcibly select the VKD3D feature level")!$(gettext "You can set a forced feature level VKD3D for games on DirectX12") :${VKD3D_CB}" "$(combobox_fix --disabled "${PW_VKD3D_FEATURE_LEVEL}" "12_2!12_1!12_0!11_1!11_0")" \
--field="$(gettext "Force certain locale for an app:")!$(gettext "Fixes encoding issues in legacy software") :CB" "$(combobox_fix --disabled "${PW_LOCALE_SELECT}" "$LOCALE_LIST")" \ --field="$(gettext "Force certain locale for an app:")!$(gettext "Fixes encoding issues in legacy software") :CB" "$(combobox_fix --disabled "${PW_LOCALE_SELECT}" "$LOCALE_LIST")" \
1> "${PW_TMPFS_PATH}/tmp_output_yad_fps_limit" 2>/dev/null & 1> "${PW_TMPFS_PATH}/tmp_output_yad_fps_limit" 2>/dev/null &
...@@ -3892,7 +3892,7 @@ A brief instruction: ...@@ -3892,7 +3892,7 @@ A brief instruction:
bool_from_yad=0 bool_from_yad=0
for boole_to_int in ${PW_EDIT_DB_LIST} ; do for boole_to_int in ${PW_EDIT_DB_LIST} ; do
export ${boole_to_int}=${output_yad_edit_db[$bool_from_yad]} export ${boole_to_int}=${output_yad_edit_db[$bool_from_yad]}
if [ "${!boole_to_int}" == "TRUE" ] if [[ "${!boole_to_int}" == "TRUE" ]]
then export ${boole_to_int}="1" then export ${boole_to_int}="1"
else export ${boole_to_int}="0" else export ${boole_to_int}="0"
fi fi
...@@ -3923,7 +3923,7 @@ A brief instruction: ...@@ -3923,7 +3923,7 @@ A brief instruction:
MONITOR_HEIGHT="$(echo "$PW_SCREEN_RESOLUTION" | awk -F'x' '{print $2}')" MONITOR_HEIGHT="$(echo "$PW_SCREEN_RESOLUTION" | awk -F'x' '{print $2}')"
MH_FONT_SIZE="font_size=$(( MONITOR_HEIGHT / 45 ))" MH_FONT_SIZE="font_size=$(( MONITOR_HEIGHT / 45 ))"
if [[ ! -z "$MH_FONT_SIZE" ]] if [[ -n "$MH_FONT_SIZE" ]]
then MANGOHUD_CONFIG="$DEFAULT_MANGOHUD_CONFIG,$MH_FONT_SIZE" then MANGOHUD_CONFIG="$DEFAULT_MANGOHUD_CONFIG,$MH_FONT_SIZE"
else MANGOHUD_CONFIG="$DEFAULT_MANGOHUD_CONFIG" else MANGOHUD_CONFIG="$DEFAULT_MANGOHUD_CONFIG"
fi fi
...@@ -4014,7 +4014,7 @@ fi ...@@ -4014,7 +4014,7 @@ fi
ADD_GUI_FX+="--field=${CHKBOX_SPACE}${add_list_fx}!${!PW_VKBASALT_GUI_HELP}:${THEME_CHKBOX}%FALSE%" ADD_GUI_FX+="--field=${CHKBOX_SPACE}${add_list_fx}!${!PW_VKBASALT_GUI_HELP}:${THEME_CHKBOX}%FALSE%"
fi fi
done done
if [[ ! -z "${PW_VKBASALT_FFX_CAS}" ]] ; then if [[ -n "${PW_VKBASALT_FFX_CAS}" ]] ; then
if [[ "$PW_VKBASALT_FFX_CAS" == "0" ]] \ if [[ "$PW_VKBASALT_FFX_CAS" == "0" ]] \
|| [[ "$PW_VKBASALT_FFX_CAS" == "-1" ]] || [[ "$PW_VKBASALT_FFX_CAS" == "-1" ]]
then export VKBASALT_FFX_CAS_GUI="0" then export VKBASALT_FFX_CAS_GUI="0"
...@@ -4168,13 +4168,13 @@ fi ...@@ -4168,13 +4168,13 @@ fi
GET_REFRESH_RATE=(30 40 45 48 60 75 90 120 144 165 175 240) GET_REFRESH_RATE=(30 40 45 48 60 75 90 120 144 165 175 240)
if [ ! -z "$MANGOHUD_CONFIG" ]; then if [[ -n "$MANGOHUD_CONFIG" ]] ; then
PW_MANGOHUD_CONFIG=($(echo "$MANGOHUD_CONFIG" | tr ',' '\n' | grep -v '=')) PW_MANGOHUD_CONFIG=($(echo "$MANGOHUD_CONFIG" | tr ',' '\n' | grep -v '='))
else else
PW_MANGOHUD_CONFIG=($(echo "$DEFAULT_MANGOHUD_CONFIG" | tr ',' '\n' | grep -v '=')) PW_MANGOHUD_CONFIG=($(echo "$DEFAULT_MANGOHUD_CONFIG" | tr ',' '\n' | grep -v '='))
fi fi
if [ ! -z "$FPS_LIMIT" ] ; then if [[ -n "$FPS_LIMIT" ]] ; then
PW_FPS_LIMIT_VAR=($(echo "$FPS_LIMIT" | tr '' '\n' | grep -v '=')) PW_FPS_LIMIT_VAR=($(echo "$FPS_LIMIT" | tr '' '\n' | grep -v '='))
fi fi
...@@ -4238,7 +4238,7 @@ fi ...@@ -4238,7 +4238,7 @@ fi
YAD_MH_FPS_LIMIT=$(<"${PW_TMPFS_PATH}/tmp_yad_mh_fps_limit") YAD_MH_FPS_LIMIT=$(<"${PW_TMPFS_PATH}/tmp_yad_mh_fps_limit")
MONITOR_HEIGHT="$(echo $PW_SCREEN_RESOLUTION | awk -F'x' '{print $2}')" MONITOR_HEIGHT="$(echo $PW_SCREEN_RESOLUTION | awk -F'x' '{print $2}')"
if [[ ! -z "$MONITOR_HEIGHT" ]] if [[ -n "$MONITOR_HEIGHT" ]]
then MH_FONT_SIZE="font_size=$(( MONITOR_HEIGHT / 45 ))" then MH_FONT_SIZE="font_size=$(( MONITOR_HEIGHT / 45 ))"
fi fi
...@@ -4259,7 +4259,7 @@ fi ...@@ -4259,7 +4259,7 @@ fi
done done
GUI_MH_FPS_RESULT="${GUI_MH_FPS_RESULT}" GUI_MH_FPS_RESULT="${GUI_MH_FPS_RESULT}"
if [ "$(echo "${GUI_MH_FPS_RESULT}" | awk -F'+' '{print $2}')" ] ; then if [[ "$(echo "${GUI_MH_FPS_RESULT}" | awk -F'+' '{print $2}')" ]] ; then
export FPS_LIMIT="${GUI_MH_FPS_RESULT%+}" export FPS_LIMIT="${GUI_MH_FPS_RESULT%+}"
if [[ ! "${GUI_MH_RESULT}" =~ "show_fps_limit" ]] ; then if [[ ! "${GUI_MH_RESULT}" =~ "show_fps_limit" ]] ; then
GUI_MH_RESULT="${GUI_MH_RESULT}show_fps_limit," GUI_MH_RESULT="${GUI_MH_RESULT}show_fps_limit,"
...@@ -4268,12 +4268,12 @@ fi ...@@ -4268,12 +4268,12 @@ fi
export FPS_LIMIT="${GUI_MH_FPS_RESULT%+}" export FPS_LIMIT="${GUI_MH_FPS_RESULT%+}"
fi fi
if [[ ! -z "$MH_FONT_SIZE" ]] if [[ -n "$MH_FONT_SIZE" ]]
then GUI_MH_RESULT="${GUI_MH_RESULT}${MH_FONT_SIZE}" then GUI_MH_RESULT="${GUI_MH_RESULT}${MH_FONT_SIZE}"
else GUI_MH_RESULT="${GUI_MH_RESULT%,}" else GUI_MH_RESULT="${GUI_MH_RESULT%,}"
fi fi
if [[ ! -z "$FPS_LIMIT" ]] ; then if [[ -n "$FPS_LIMIT" ]] ; then
GUI_MH_RESULT="${GUI_MH_RESULT},fps_limit=$FPS_LIMIT" GUI_MH_RESULT="${GUI_MH_RESULT},fps_limit=$FPS_LIMIT"
elif [[ "$FPS_LIMIT" == "disabled" ]] ; then elif [[ "$FPS_LIMIT" == "disabled" ]] ; then
GUI_MH_RESULT="${GUI_MH_RESULT},fps_limit=0" GUI_MH_RESULT="${GUI_MH_RESULT},fps_limit=0"
...@@ -4350,7 +4350,7 @@ fi ...@@ -4350,7 +4350,7 @@ fi
unset ADD_CHK_BOX_DGV2 unset ADD_CHK_BOX_DGV2
for int_to_boole in ${PW_DGV2_LIST} ; do for int_to_boole in ${PW_DGV2_LIST} ; do
if [ "${!int_to_boole}" == "1" ] if [[ "${!int_to_boole}" == "1" ]]
then export ${int_to_boole}="TRUE" then export ${int_to_boole}="TRUE"
else export ${int_to_boole}="FALSE" else export ${int_to_boole}="FALSE"
fi fi
...@@ -4443,7 +4443,7 @@ fi ...@@ -4443,7 +4443,7 @@ fi
bool_from_yad=0 bool_from_yad=0
for boole_to_int in ${PW_DGV2_LIST} ; do for boole_to_int in ${PW_DGV2_LIST} ; do
export ${boole_to_int}=${output_yad_dgv2[$bool_from_yad]} export ${boole_to_int}=${output_yad_dgv2[$bool_from_yad]}
if [ "${!boole_to_int}" == "TRUE" ] if [[ "${!boole_to_int}" == "TRUE" ]]
then export ${boole_to_int}="1" then export ${boole_to_int}="1"
else export ${boole_to_int}="0" else export ${boole_to_int}="0"
fi fi
...@@ -4528,7 +4528,7 @@ fi ...@@ -4528,7 +4528,7 @@ fi
GAMESCOPE_NEED_INSTALL="$(gettext "Change settings gamescope for") <b>${PORTWINE_DB}</b>\n $(gettext "<b>NOTE:</b> To display help for each item, simply hover your mouse over the text")" GAMESCOPE_NEED_INSTALL="$(gettext "Change settings gamescope for") <b>${PORTWINE_DB}</b>\n $(gettext "<b>NOTE:</b> To display help for each item, simply hover your mouse over the text")"
GS_CB="CB" && GS_CBE="CBE" && GS_NUM="NUM" && GS_NUMN="NUMN" GS_CB="CB" && GS_CBE="CBE" && GS_NUM="NUM" && GS_NUMN="NUMN"
for int_to_boole in ${PW_GS_LIST} ; do for int_to_boole in ${PW_GS_LIST} ; do
if [ "${!int_to_boole}" == "1" ] if [[ "${!int_to_boole}" == "1" ]]
then export ${int_to_boole}="TRUE" then export ${int_to_boole}="TRUE"
else export ${int_to_boole}="FALSE" else export ${int_to_boole}="FALSE"
fi fi
...@@ -4559,7 +4559,7 @@ fi ...@@ -4559,7 +4559,7 @@ fi
PW_GS_ITM_SDR_NITS="0" PW_GS_ITM_SDR_NITS="0"
PW_GS_ITM_TARGET_NITS="0" PW_GS_ITM_TARGET_NITS="0"
for int_to_boole in ${PW_GS_LIST} ; do for int_to_boole in ${PW_GS_LIST} ; do
if [ "${!int_to_boole}" == "1" ] if [[ "${!int_to_boole}" == "1" ]]
then export ${int_to_boole}="TRUE" then export ${int_to_boole}="TRUE"
else export ${int_to_boole}="FALSE" else export ${int_to_boole}="FALSE"
fi fi
...@@ -4636,7 +4636,7 @@ relaxed - Same as fifo but allows tearing when below the monitors refresh rate." ...@@ -4636,7 +4636,7 @@ relaxed - Same as fifo but allows tearing when below the monitors refresh rate."
bool_from_yad=0 bool_from_yad=0
for boole_to_int in ${PW_GS_LIST} ; do for boole_to_int in ${PW_GS_LIST} ; do
export ${boole_to_int}=${output_yad_gs[$bool_from_yad]} export ${boole_to_int}=${output_yad_gs[$bool_from_yad]}
if [ "${!boole_to_int}" == "TRUE" ] if [[ "${!boole_to_int}" == "TRUE" ]]
then export ${boole_to_int}="1" then export ${boole_to_int}="1"
else export ${boole_to_int}="0" else export ${boole_to_int}="0"
fi fi
...@@ -4705,7 +4705,7 @@ gui_userconf () { ...@@ -4705,7 +4705,7 @@ gui_userconf () {
--field=" $NEW_STEAM_BEHAVIOR $(gettext "steam covers download")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"$(gettext "If downloading steam covers is enabled, they will be downloaded and created. (Disablement is provided in cases where their downloading is unavailable for some reason)")":"FBTN" '@bash -c "button_click --userconf change_download_grid"' \ --field=" $NEW_STEAM_BEHAVIOR $(gettext "steam covers download")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"$(gettext "If downloading steam covers is enabled, they will be downloaded and created. (Disablement is provided in cases where their downloading is unavailable for some reason)")":"FBTN" '@bash -c "button_click --userconf change_download_grid"' \
2>/dev/null & 2>/dev/null &
if [[ ! -z "${PW_SOUND_DRIVER_USE}" ]] \ if [[ -n "${PW_SOUND_DRIVER_USE}" ]] \
&& [[ "${PW_SOUND_DRIVER_USE}" != "disabled" ]] && [[ "${PW_SOUND_DRIVER_USE}" != "disabled" ]]
then then
SOUND_DRIVER_VAR="${PW_SOUND_DRIVER_USE}" SOUND_DRIVER_VAR="${PW_SOUND_DRIVER_USE}"
...@@ -4713,7 +4713,7 @@ gui_userconf () { ...@@ -4713,7 +4713,7 @@ gui_userconf () {
SOUND_DRIVER_VAR="disabled" SOUND_DRIVER_VAR="disabled"
fi fi
if [[ ! -z "${PW_GPU_USE}" ]] \ if [[ -n "${PW_GPU_USE}" ]] \
&& [[ "${PW_GPU_USE}" != "disabled" ]] && [[ "${PW_GPU_USE}" != "disabled" ]]
then then
GPU_VAR="${PW_GPU_USE}" GPU_VAR="${PW_GPU_USE}"
...@@ -4797,7 +4797,7 @@ resize_png () { ...@@ -4797,7 +4797,7 @@ resize_png () {
&& [[ "$ALPINE_FP" != "1" ]] && [[ "$ALPINE_FP" != "1" ]]
then then
print_error "exe-thumbnailer - broken!" print_error "exe-thumbnailer - broken!"
if [[ ! -z $PW_DEBUG ]] ; then if [[ -n "$PW_DEBUG" ]] ; then
debug_timer --start debug_timer --start
timeout 5 exe-thumbnailer --force-resize -s "$RESIZE_TO" "$(readlink -f "${RESIZE_FILE}")" "${PORT_WINE_PATH}/data/img/${RESIZE_NAME_PNG}.png" timeout 5 exe-thumbnailer --force-resize -s "$RESIZE_TO" "$(readlink -f "${RESIZE_FILE}")" "${PORT_WINE_PATH}/data/img/${RESIZE_NAME_PNG}.png"
debug_timer --end "exe-thumbnailer" debug_timer --end "exe-thumbnailer"
...@@ -5000,7 +5000,7 @@ pw_auto_create_shortcut () { ...@@ -5000,7 +5000,7 @@ pw_auto_create_shortcut () {
link_cmd=$(sed -n 's/^Command Line Arguments\s*:\s*//p' "${PW_TMPFS_PATH}/exiftool.tmp") link_cmd=$(sed -n 's/^Command Line Arguments\s*:\s*//p' "${PW_TMPFS_PATH}/exiftool.tmp")
else else
print_error "exiftool - broken!" print_error "exiftool - broken!"
if [[ ! -z $PW_DEBUG ]] ; then if [[ -n "$PW_DEBUG" ]] ; then
debug_timer --start debug_timer --start
timeout 5 exiftool "$link_file" timeout 5 exiftool "$link_file"
debug_timer --end "exiftool" debug_timer --end "exiftool"
...@@ -5070,7 +5070,7 @@ portwine_missing_shortcut () { ...@@ -5070,7 +5070,7 @@ portwine_missing_shortcut () {
--text "\n$(gettext "Could not find the file:")\n${portwine_exe}\n\n$(gettext "ATTENTION:\nIf you forgot to mount the disk with the running application, click CANCEL!")\n" \ --text "\n$(gettext "Could not find the file:")\n${portwine_exe}\n\n$(gettext "ATTENTION:\nIf you forgot to mount the disk with the running application, click CANCEL!")\n" \
--button="$(gettext "DELETE SHORTCUT")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png":0 \ --button="$(gettext "DELETE SHORTCUT")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png":0 \
--button="$(gettext "CANCEL")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png":1 --button="$(gettext "CANCEL")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png":1
if [ $? -eq "0" ] ; then if [[ $? -eq "0" ]] ; then
portwine_delete_shortcut portwine_delete_shortcut
fi fi
exit 0 exit 0
...@@ -5080,7 +5080,7 @@ portwine_missing_shortcut () { ...@@ -5080,7 +5080,7 @@ portwine_missing_shortcut () {
pw_prefix_manager () { pw_prefix_manager () {
update_winetricks update_winetricks
start_portwine start_portwine
if [ ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" ] ; then if [[ ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" ]] ; then
touch "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" touch "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"
fi fi
...@@ -5177,14 +5177,14 @@ pw_prefix_manager () { ...@@ -5177,14 +5177,14 @@ pw_prefix_manager () {
for STPFXMNG in $(<"${PW_TMPFS_PATH}/to_winetricks") ; do for STPFXMNG in $(<"${PW_TMPFS_PATH}/to_winetricks") ; do
grep $(echo ${STPFXMNG} | awk -F'|' '{print $2}') "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" &>/dev/null grep $(echo ${STPFXMNG} | awk -F'|' '{print $2}') "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" &>/dev/null
if [ "$?" == "1" ] ; then if [[ "$?" == "1" ]] ; then
[[ ! -z "${STPFXMNG}" ]] && SET_FROM_PFX_MANAGER+="$(echo "${STPFXMNG}" | awk -F'|' '{print $2}') " [[ -n "${STPFXMNG}" ]] && SET_FROM_PFX_MANAGER+="$(echo "${STPFXMNG}" | awk -F'|' '{print $2}') "
fi fi
done done
IFS="$orig_IFS" IFS="$orig_IFS"
try_remove_file "${PW_TMPFS_PATH}/to_winetricks" try_remove_file "${PW_TMPFS_PATH}/to_winetricks"
if [[ ! -z ${SET_FROM_PFX_MANAGER} ]] ; then if [[ -n ${SET_FROM_PFX_MANAGER} ]] ; then
pw_update_pfx_cover_gui "winetricks" pw_update_pfx_cover_gui "winetricks"
echo "START WINETRICKS..." >> "${PW_TMPFS_PATH}/update_pfx_log" echo "START WINETRICKS..." >> "${PW_TMPFS_PATH}/update_pfx_log"
echo "Try to install DLL in prefix: ${SET_FROM_PFX_MANAGER}" >> "${PW_TMPFS_PATH}/update_pfx_log" echo "Try to install DLL in prefix: ${SET_FROM_PFX_MANAGER}" >> "${PW_TMPFS_PATH}/update_pfx_log"
...@@ -5225,13 +5225,13 @@ portwine_start_debug () { ...@@ -5225,13 +5225,13 @@ portwine_start_debug () {
echo "-----------------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log" echo "-----------------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
if check_flatpak ; then if check_flatpak ; then
echo "FLATPAK in used" >> "${PORT_WINE_PATH}/PortProton.log" echo "FLATPAK in used" >> "${PORT_WINE_PATH}/PortProton.log"
elif [ "${PW_USE_RUNTIME}" = 0 ] ; then elif [[ "${PW_USE_RUNTIME}" = 0 ]] ; then
echo "RUNTIME is disabled" >> "${PORT_WINE_PATH}/PortProton.log" echo "RUNTIME is disabled" >> "${PORT_WINE_PATH}/PortProton.log"
else else
echo "RUNTIME is enabled" >> "${PORT_WINE_PATH}/PortProton.log" echo "RUNTIME is enabled" >> "${PORT_WINE_PATH}/PortProton.log"
fi fi
echo "----------------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log" echo "----------------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
if [ ! -z "${portwine_exe}" ] ; then if [[ -n "${portwine_exe}" ]] ; then
echo "Debug for programm:" >> "${PORT_WINE_PATH}/PortProton.log" echo "Debug for programm:" >> "${PORT_WINE_PATH}/PortProton.log"
echo "${portwine_exe}" >> "${PORT_WINE_PATH}/PortProton.log" echo "${portwine_exe}" >> "${PORT_WINE_PATH}/PortProton.log"
echo "---------------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log" echo "---------------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
...@@ -5254,7 +5254,7 @@ portwine_start_debug () { ...@@ -5254,7 +5254,7 @@ portwine_start_debug () {
echo "$PW_WINE_USE" >> "${PORT_WINE_PATH}/PortProton.log" echo "$PW_WINE_USE" >> "${PORT_WINE_PATH}/PortProton.log"
echo "-------------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log" echo "-------------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
echo "Program bit depth:" >> "${PORT_WINE_PATH}/PortProton.log" echo "Program bit depth:" >> "${PORT_WINE_PATH}/PortProton.log"
if [[ $(file "$portwine_exe") =~ x86-64 ]]; then if [[ $(file "$portwine_exe") =~ x86-64 ]] ; then
echo "64 bit" >> "${PORT_WINE_PATH}/PortProton.log" echo "64 bit" >> "${PORT_WINE_PATH}/PortProton.log"
echo "-----------------------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log" echo "-----------------------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
else else
...@@ -5320,7 +5320,7 @@ portwine_start_debug () { ...@@ -5320,7 +5320,7 @@ portwine_start_debug () {
echo "Vulkan info device name:" >> "${PORT_WINE_PATH}/PortProton.log" echo "Vulkan info device name:" >> "${PORT_WINE_PATH}/PortProton.log"
grep -E '^GPU|deviceName|driverName' "${PW_TMPFS_PATH}/vulkaninfo.tmp" >> "${PORT_WINE_PATH}/PortProton.log" grep -E '^GPU|deviceName|driverName' "${PW_TMPFS_PATH}/vulkaninfo.tmp" >> "${PORT_WINE_PATH}/PortProton.log"
"${PW_PLUGINS_PATH}/portable/bin/vkcube" --c 50 "${PW_PLUGINS_PATH}/portable/bin/vkcube" --c 50
if [ $? -eq 0 ]; then if [[ $? -eq 0 ]] ; then
echo "Vulkan cube test passed successfully" >> "${PORT_WINE_PATH}/PortProton.log" echo "Vulkan cube test passed successfully" >> "${PORT_WINE_PATH}/PortProton.log"
else else
echo "Vulkan cube test completed with error" >> "${PORT_WINE_PATH}/PortProton.log" echo "Vulkan cube test completed with error" >> "${PORT_WINE_PATH}/PortProton.log"
...@@ -5340,7 +5340,7 @@ portwine_start_debug () { ...@@ -5340,7 +5340,7 @@ portwine_start_debug () {
echo "winetricks.log:" >> "${PORT_WINE_PATH}/PortProton.log" echo "winetricks.log:" >> "${PORT_WINE_PATH}/PortProton.log"
cat "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" | sed -e /"^d3dcomp*"/d -e /"^d3dx*"/d >> "${PORT_WINE_PATH}/PortProton.log" cat "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" | sed -e /"^d3dcomp*"/d -e /"^d3dx*"/d >> "${PORT_WINE_PATH}/PortProton.log"
echo "-----------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log" echo "-----------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
if [ ! -z "${PORTWINE_DB_FILE}" ]; then if [[ -n "${PORTWINE_DB_FILE}" ]] ; then
echo "Use ${PORTWINE_DB_FILE} db file:" >> "${PORT_WINE_PATH}/PortProton.log" echo "Use ${PORTWINE_DB_FILE} db file:" >> "${PORT_WINE_PATH}/PortProton.log"
cat "${PORTWINE_DB_FILE}" | sed '/##/d' >> "${PORT_WINE_PATH}/PortProton.log" cat "${PORTWINE_DB_FILE}" | sed '/##/d' >> "${PORT_WINE_PATH}/PortProton.log"
else else
...@@ -5348,7 +5348,7 @@ portwine_start_debug () { ...@@ -5348,7 +5348,7 @@ portwine_start_debug () {
cat "${PORT_SCRIPTS_PATH}/portwine_db/default" | sed '/##/d' >> "${PORT_WINE_PATH}/PortProton.log" cat "${PORT_SCRIPTS_PATH}/portwine_db/default" | sed '/##/d' >> "${PORT_WINE_PATH}/PortProton.log"
fi fi
echo "----------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log" echo "----------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
if [ -f "${USER_CONF}" ]; then if [[ -f "${USER_CONF}" ]] ; then
cat "${USER_CONF}" | sed '/bash/d' >> "${PORT_WINE_PATH}/PortProton.log" cat "${USER_CONF}" | sed '/bash/d' >> "${PORT_WINE_PATH}/PortProton.log"
fi fi
echo "---------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log" echo "---------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
...@@ -5359,9 +5359,9 @@ portwine_start_debug () { ...@@ -5359,9 +5359,9 @@ portwine_start_debug () {
sleep 3 sleep 3
pw_stop_progress_bar_cover pw_stop_progress_bar_cover
unset PW_TIMER unset PW_TIMER
while read -r line || [[ ! -z $(pgrep -a yad | grep "yad_gui_pp --text-info --tail --button="STOP"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png":0 --title="DEBUG"" | awk '{print $1}') ]] ; do while read -r line || [[ -n $(pgrep -a yad | grep "yad_gui_pp --text-info --tail --button="STOP"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png":0 --title="DEBUG"" | awk '{print $1}') ]] ; do
sleep 0.005 sleep 0.005
if [[ ! -z "${line}" ]] && [[ -z "$(echo "${line}" | grep -i "kerberos")" ]] \ if [[ -n "${line}" ]] && [[ -z "$(echo "${line}" | grep -i "kerberos")" ]] \
&& [[ -z "$(echo "${line}" | grep -i "ntlm")" ]] && [[ -z "$(echo "${line}" | grep -i "ntlm")" ]]
then then
echo "# ${line}" echo "# ${line}"
...@@ -5400,7 +5400,7 @@ pw_create_prefix_backup () { ...@@ -5400,7 +5400,7 @@ pw_create_prefix_backup () {
/usr/bin/env bash -c ${pw_full_command_line[*]} & /usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0 exit 0
fi fi
if [[ ! -z "$(grep "/${PW_PREFIX_NAME}/" "${PORT_WINE_PATH}"/*.desktop )" ]] ; then if [[ -n "$(grep "/${PW_PREFIX_NAME}/" "${PORT_WINE_PATH}"/*.desktop )" ]] ; then
try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.create_shortcut" try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.create_shortcut"
grep "/${PW_PREFIX_NAME}/" "${PORT_WINE_PATH}"/*.desktop | awk -F"/${PW_PREFIX_NAME}/" '{print $2}' \ grep "/${PW_PREFIX_NAME}/" "${PORT_WINE_PATH}"/*.desktop | awk -F"/${PW_PREFIX_NAME}/" '{print $2}' \
| awk -F\" '{print $1}' > "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.create_shortcut" | awk -F\" '{print $1}' > "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.create_shortcut"
......
...@@ -12,7 +12,7 @@ fi ...@@ -12,7 +12,7 @@ fi
export PW_VULKAN_USE=1 export PW_VULKAN_USE=1
add_in_start_portwine () { add_in_start_portwine () {
if [ -d "${WINEPREFIX}/drive_c/users/steamuser/AppData/Roaming/Ubisoft/Anno1404/Config/" ] ; then if [[ -d "${WINEPREFIX}/drive_c/users/steamuser/AppData/Roaming/Ubisoft/Anno1404/Config/" ]] ; then
sed -i 's/<DirectXVersion>0<\/DirectXVersion>/<DirectXVersion>9<\/DirectXVersion>/' "${WINEPREFIX}/drive_c/users/steamuser/AppData/Roaming/Ubisoft/Anno1404/Config/Engine.ini" sed -i 's/<DirectXVersion>0<\/DirectXVersion>/<DirectXVersion>9<\/DirectXVersion>/' "${WINEPREFIX}/drive_c/users/steamuser/AppData/Roaming/Ubisoft/Anno1404/Config/Engine.ini"
fi fi
} }
...@@ -5,6 +5,6 @@ ...@@ -5,6 +5,6 @@
################################################ ################################################
export PW_VULKAN_USE=0 export PW_VULKAN_USE=0
export LAUNCH_PARAMETERS="" export LAUNCH_PARAMETERS=""
if [ -d "${PATH_TO_GAME}"/Movies ] ; then if [[ -d "${PATH_TO_GAME}"/Movies ]] ; then
mv "${PATH_TO_GAME}"/Movies "${PATH_TO_GAME}"/Movies_bak mv "${PATH_TO_GAME}"/Movies "${PATH_TO_GAME}"/Movies_bak
fi fi
...@@ -13,7 +13,7 @@ export PW_WINE_USE="WINE_LG" ...@@ -13,7 +13,7 @@ export PW_WINE_USE="WINE_LG"
add_in_start_portwine () add_in_start_portwine ()
{ {
if [ -e "${WINEPREFIX}/drive_c/users/${USER}/Local Settings/Application Data/GOG.com/Galaxy/Configuration/config.json" ] ; then if [[ -e "${WINEPREFIX}/drive_c/users/${USER}/Local Settings/Application Data/GOG.com/Galaxy/Configuration/config.json" ]] ; then
sed -i 's/"featureOverlay" : true,/"featureOverlay" : false,/' "${WINEPREFIX}/drive_c/${USER}/Local Settings/Application Data/GOG.com/Galaxy/Configuration/config.json" sed -i 's/"featureOverlay" : true,/"featureOverlay" : false,/' "${WINEPREFIX}/drive_c/${USER}/Local Settings/Application Data/GOG.com/Galaxy/Configuration/config.json"
fi fi
} }
...@@ -11,13 +11,13 @@ ...@@ -11,13 +11,13 @@
export PW_USE_D3D_EXTRAS=0 export PW_USE_D3D_EXTRAS=0
## export DXVK_HUD=fps,devinfo ## export DXVK_HUD=fps,devinfo
#####################examples########################### #####################examples###########################
while [ `pidof -s dotNetFx40_Full_x86_x64.exe` ] ; do while [[ $(pidof -s dotNetFx40_Full_x86_x64.exe) ]] ; do
if [ $? -eq 0 ] ; then if [[ $? -eq 0 ]] ; then
sleep 1 sleep 1
else else
export dotnet_pids=`ps -ax | grep mscorsvw.exe | awk '{print $1}' | uniq` dotnet_pids=$(ps -ax | grep mscorsvw.exe | awk '{print $1}' | uniq)
[ ! -z $dotnet_pids ] export dotnet_pids
kill -n 9 $dotnet_pids [[ -n "$dotnet_pids" ]] && kill -n 9 "$dotnet_pids"
sleep 1 sleep 1
fi fi
done done
...@@ -10,10 +10,10 @@ export WINEDLLOVERRIDES="gfclient0_msvc140=n;ucrtbase=b" ...@@ -10,10 +10,10 @@ export WINEDLLOVERRIDES="gfclient0_msvc140=n;ucrtbase=b"
#add_in_start_portwine () { #add_in_start_portwine () {
# #
#while true; do #while true; do
# if [ -z "`pgrep GameforgeClient`" ]; then # if [[ -z "`pgrep GameforgeClient`" ]] ; then
# sleep 1 # sleep 1
# else # else
# while [ ! -z "`pgrep GameforgeClient`" ] ; do # while [[ -n "`pgrep GameforgeClient`" ]] ; do
# killall -s KILL gfservice.exe # killall -s KILL gfservice.exe
# done # done
# sleep 1 # sleep 1
......
...@@ -12,7 +12,7 @@ export MESA_EXTENSION_MAX_YEAR=2002 ...@@ -12,7 +12,7 @@ export MESA_EXTENSION_MAX_YEAR=2002
export __GL_ExtensionStringVersion=17700 export __GL_ExtensionStringVersion=17700
add_in_start_portwine () add_in_start_portwine ()
{ {
if [ ! -e "$PATH_TO_GAME/0_Proton_PW_MoHAA" ] ; then if [[ ! -e "$PATH_TO_GAME/0_Proton_PW_MoHAA" ]] ; then
touch "$PATH_TO_GAME/0_Proton_PW_MoHAA" && mv "$PATH_TO_GAME/main/newconfig.cfg" "$PATH_TO_GAME/main/newconfig.cfg.bak" && mv "$PATH_TO_GAME/main/configs/unnamedsoldier.cfg" "$PATH_TO_GAME/main/configs/unnamedsoldier.cfg.bak" && mv "$PATH_TO_GAME/mainta/newconfig.cfg" "$PATH_TO_GAME/mainta/newconfig.cfg.bak" && mv "$PATH_TO_GAME/mainta/configs/unnamedsoldier.cfg" "$PATH_TO_GAME/mainta/configs/unnamedsoldier.cfg.bak" && mv "$PATH_TO_GAME/maintt/newconfig.cfg" "$PATH_TO_GAME/maintt/newconfig.cfg.bak" && mv "$PATH_TO_GAME/maintt/configs/unnamedsoldier.cfg" "$PATH_TO_GAME/maintt/configs/unnamedsoldier.cfg.bak" && touch "$PATH_TO_GAME/0_Proton_PW_MoHAA" && mv "$PATH_TO_GAME/main/newconfig.cfg" "$PATH_TO_GAME/main/newconfig.cfg.bak" && mv "$PATH_TO_GAME/main/configs/unnamedsoldier.cfg" "$PATH_TO_GAME/main/configs/unnamedsoldier.cfg.bak" && mv "$PATH_TO_GAME/mainta/newconfig.cfg" "$PATH_TO_GAME/mainta/newconfig.cfg.bak" && mv "$PATH_TO_GAME/mainta/configs/unnamedsoldier.cfg" "$PATH_TO_GAME/mainta/configs/unnamedsoldier.cfg.bak" && mv "$PATH_TO_GAME/maintt/newconfig.cfg" "$PATH_TO_GAME/maintt/newconfig.cfg.bak" && mv "$PATH_TO_GAME/maintt/configs/unnamedsoldier.cfg" "$PATH_TO_GAME/maintt/configs/unnamedsoldier.cfg.bak" &&
echo '// echo '//
// Video Card Family: NVidia GeForce // Video Card Family: NVidia GeForce
......
...@@ -2,12 +2,12 @@ ...@@ -2,12 +2,12 @@
# Author: chal55rus (Sergey P.), cefeiko, Castro-Fidel (linux-gaming.ru) # Author: chal55rus (Sergey P.), cefeiko, Castro-Fidel (linux-gaming.ru)
########################################################################## ##########################################################################
pw_shutdown_please () { pw_shutdown_please () {
if [ "$PW_USE_RUNTIME" != 1 ] if [[ "$PW_USE_RUNTIME" != 1 ]]
then echo "PW_USE_RUNTIME: `echo $PW_USE_RUNTIME`" then echo "PW_USE_RUNTIME: `echo $PW_USE_RUNTIME`"
else else
sleep 10 sleep 10
while true ; do while true ; do
if [ -z "`ps aux | grep -v grep | grep -wm 1 "$1" | awk '{print $2}'`" ] && [ ! -z "`pgrep wrap | head -n 1`" ]; then if [[ -z "`ps aux | grep -v grep | grep -wm 1 "$1" | awk '{print $2}'`" ]] && [[ -n "`pgrep wrap | head -n 1`" ]] ; then
echo -e "PID "$1" not found" echo -e "PID "$1" not found"
sleep 1 sleep 1
else else
......
...@@ -12,7 +12,7 @@ export PW_AUTOINSTALL_EXE="${WINEPREFIX}/drive_c/Program Files (x86)/OSU/osu!.ex ...@@ -12,7 +12,7 @@ export PW_AUTOINSTALL_EXE="${WINEPREFIX}/drive_c/Program Files (x86)/OSU/osu!.ex
if try_download "https://m1.ppy.sh/r/osu!install.exe" "${PW_AUTOINSTALL_EXE}" no_mirror if try_download "https://m1.ppy.sh/r/osu!install.exe" "${PW_AUTOINSTALL_EXE}" no_mirror
then then
pw_start_progress_bar_install_game "OSU!." pw_start_progress_bar_install_game "OSU!."
if [ -f "${PORT_WINE_PATH}/data/pfx_dotnet/drive_c/Program Files (x86)/OSU/osu!install.exe" ]; then if [[ -f "${PORT_WINE_PATH}/data/pfx_dotnet/drive_c/Program Files (x86)/OSU/osu!install.exe" ]] ; then
mv -f "${PORT_WINE_PATH}/data/pfx_dotnet/drive_c/Program Files (x86)/OSU/osu!install.exe" "${PORT_WINE_PATH}/data/pfx_dotnet/drive_c/Program Files (x86)/OSU/osu!.exe" mv -f "${PORT_WINE_PATH}/data/pfx_dotnet/drive_c/Program Files (x86)/OSU/osu!install.exe" "${PORT_WINE_PATH}/data/pfx_dotnet/drive_c/Program Files (x86)/OSU/osu!.exe"
fi fi
export portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/OSU/osu!.exe" export portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/OSU/osu!.exe"
......
...@@ -9,7 +9,7 @@ then ...@@ -9,7 +9,7 @@ then
pw_start_progress_bar_install_game "Steam." pw_start_progress_bar_install_game "Steam."
pw_kill_autostart steam.exe & pw_kill_autostart steam.exe &
pw_run "${PW_AUTOINSTALL_EXE}" pw_run "${PW_AUTOINSTALL_EXE}"
if [ -f "$WINEPREFIX/drive_c/Program Files (x86)/Steam/Steam.exe" ] if [[ -f "$WINEPREFIX/drive_c/Program Files (x86)/Steam/Steam.exe" ]]
then mv -f "$WINEPREFIX/drive_c/Program Files (x86)/Steam/Steam.exe" "$WINEPREFIX/drive_c/Program Files (x86)/Steam/steam.exe" then mv -f "$WINEPREFIX/drive_c/Program Files (x86)/Steam/Steam.exe" "$WINEPREFIX/drive_c/Program Files (x86)/Steam/steam.exe"
fi fi
portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Steam/steam.exe" portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Steam/steam.exe"
......
...@@ -7,7 +7,7 @@ export PW_VULKAN_USE=1 ...@@ -7,7 +7,7 @@ export PW_VULKAN_USE=1
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/wos_client.exe" export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/wos_client.exe"
WOSB_VERSION="$(curl -s --list-only --connect-timeout 3 https://www.worldofseabattle.com/download2 2>/dev/null | grep 'installer.exe' | awk -F'xsolla-launcher-update/' '{print $2}' | awk -F'/' '{print $1}')" WOSB_VERSION="$(curl -s --list-only --connect-timeout 3 https://www.worldofseabattle.com/download2 2>/dev/null | grep 'installer.exe' | awk -F'xsolla-launcher-update/' '{print $2}' | awk -F'/' '{print $1}')"
[[ ! -z "$WOSB_VERSION" ]] && print_info "Found version: $WOSB_VERSION" || yad_error "Error while get version of WOSB INSTALLER." [[ -n "$WOSB_VERSION" ]] && print_info "Found version: $WOSB_VERSION" || yad_error "Error while get version of WOSB INSTALLER."
start_portwine start_portwine
if try_download "https://installer.launcher.xsolla.com/xlauncher-builds/xsolla-launcher-update/${WOSB_VERSION}/bin/installer.exe" "${PW_AUTOINSTALL_EXE}" no_mirror if try_download "https://installer.launcher.xsolla.com/xlauncher-builds/xsolla-launcher-update/${WOSB_VERSION}/bin/installer.exe" "${PW_AUTOINSTALL_EXE}" no_mirror
......
...@@ -177,7 +177,7 @@ try_remove_file "${PW_TMPFS_PATH}/update_pfx_log" ...@@ -177,7 +177,7 @@ try_remove_file "${PW_TMPFS_PATH}/update_pfx_log"
source "${USER_CONF}" source "${USER_CONF}"
# check PortProton theme # check PortProton theme
if [[ ! -z "$GUI_THEME" ]] \ if [[ -n "$GUI_THEME" ]] \
&& [[ -f "$PW_GUI_THEMES_PATH/$GUI_THEME.pptheme" ]] && [[ -f "$PW_GUI_THEMES_PATH/$GUI_THEME.pptheme" ]]
then then
# shellcheck source=/dev/null # shellcheck source=/dev/null
...@@ -247,7 +247,7 @@ if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] ; then ...@@ -247,7 +247,7 @@ if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] ; then
export GAMESCOPE_INSTALLED="1" export GAMESCOPE_INSTALLED="1"
else else
print_error "gamescope - broken!" print_error "gamescope - broken!"
if [[ -n $PW_DEBUG ]] ; then if [[ -n "$PW_DEBUG" ]] ; then
debug_timer --start debug_timer --start
timeout 5 gamescope --help timeout 5 gamescope --help
debug_timer --end "gamescope" debug_timer --end "gamescope"
...@@ -264,7 +264,7 @@ if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] ; then ...@@ -264,7 +264,7 @@ if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] ; then
export VULKAN_DRIVER_NAME GET_GPU_NAMES export VULKAN_DRIVER_NAME GET_GPU_NAMES
else else
print_error "vulkaninfo - broken!" print_error "vulkaninfo - broken!"
if [[ -n $PW_DEBUG ]] ; then if [[ -n "$PW_DEBUG" ]] ; then
debug_timer --start debug_timer --start
timeout 5 vulkaninfo timeout 5 vulkaninfo
debug_timer --end "vulkaninfo" debug_timer --end "vulkaninfo"
...@@ -284,7 +284,7 @@ if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] ; then ...@@ -284,7 +284,7 @@ if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] ; then
export LSPCI_VGA export LSPCI_VGA
else else
print_error "lspci - broken!" print_error "lspci - broken!"
if [[ -n $PW_DEBUG ]] ; then if [[ -n "$PW_DEBUG" ]] ; then
debug_timer --start debug_timer --start
timeout 5 lspci -vv timeout 5 lspci -vv
debug_timer --end "lspci" debug_timer --end "lspci"
...@@ -303,7 +303,7 @@ if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] ; then ...@@ -303,7 +303,7 @@ if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] ; then
print_var PW_SCREEN_RESOLUTION PW_SCREEN_PRIMARY print_var PW_SCREEN_RESOLUTION PW_SCREEN_PRIMARY
else else
print_error "xrandr - broken!" print_error "xrandr - broken!"
if [[ -n $PW_DEBUG ]] ; then if [[ -n "$PW_DEBUG" ]] ; then
debug_timer --start debug_timer --start
timeout 5 xrandr --verbose timeout 5 xrandr --verbose
debug_timer --end "xrandr" debug_timer --end "xrandr"
...@@ -327,7 +327,7 @@ if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] ; then ...@@ -327,7 +327,7 @@ if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] ; then
unset LOCALE_LIST unset LOCALE_LIST
for LOCALE in $GET_LOCALE_LIST ; do for LOCALE in $GET_LOCALE_LIST ; do
if grep -e "$LOCALE" "${PW_TMPFS_PATH}/locale.tmp" &>/dev/null ; then if grep -e "$LOCALE" "${PW_TMPFS_PATH}/locale.tmp" &>/dev/null ; then
if [[ ! -z "$LOCALE_LIST" ]] if [[ -n "$LOCALE_LIST" ]]
then LOCALE_LIST+="!$(grep -e "$LOCALE" "${PW_TMPFS_PATH}/locale.tmp")" then LOCALE_LIST+="!$(grep -e "$LOCALE" "${PW_TMPFS_PATH}/locale.tmp")"
else LOCALE_LIST="$(grep -e "$LOCALE" "${PW_TMPFS_PATH}/locale.tmp")" else LOCALE_LIST="$(grep -e "$LOCALE" "${PW_TMPFS_PATH}/locale.tmp")"
fi fi
...@@ -336,7 +336,7 @@ if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] ; then ...@@ -336,7 +336,7 @@ if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] ; then
export LOCALE_LIST export LOCALE_LIST
else else
print_error "locale - broken!" print_error "locale - broken!"
if [[ -n $PW_DEBUG ]] ; then if [[ -n "$PW_DEBUG" ]] ; then
debug_timer --start debug_timer --start
timeout 5 locale -a timeout 5 locale -a
debug_timer --end "locale" debug_timer --end "locale"
...@@ -407,7 +407,7 @@ export SKIP_CHECK_UPDATES="1" ...@@ -407,7 +407,7 @@ export SKIP_CHECK_UPDATES="1"
[[ "$MISSING_DESKTOP_FILE" == 1 ]] && portwine_missing_shortcut [[ "$MISSING_DESKTOP_FILE" == 1 ]] && portwine_missing_shortcut
if [[ ! -z $(basename "${portwine_exe}" | grep .ppack) ]] ; then if [[ -n $(basename "${portwine_exe}" | grep .ppack) ]] ; then
unset PW_SANDBOX_HOME_PATH unset PW_SANDBOX_HOME_PATH
pw_init_runtime pw_init_runtime
if check_flatpak if check_flatpak
...@@ -540,8 +540,8 @@ case "${PW_VULKAN_USE}" in ...@@ -540,8 +540,8 @@ case "${PW_VULKAN_USE}" in
*) PW_DEFAULT_VULKAN_USE="$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_ZINK!$SORT_G_NINE!$SORT_OPENGL!$SORT_VULKAN" ;; *) PW_DEFAULT_VULKAN_USE="$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_ZINK!$SORT_G_NINE!$SORT_OPENGL!$SORT_VULKAN" ;;
esac esac
if [[ ! -z "${PW_COMMENT_DB}" ]] ; then : if [[ -n "${PW_COMMENT_DB}" ]] ; then :
elif [[ ! -z "${PORTPROTON_NAME}" ]] ; then elif [[ -n "${PORTPROTON_NAME}" ]] ; then
PW_COMMENT_DB="$(gettext "Launching") <b>${PORTPROTON_NAME}</b>" PW_COMMENT_DB="$(gettext "Launching") <b>${PORTPROTON_NAME}</b>"
else else
PW_COMMENT_DB="$(gettext "Launching") <b>${PORTWINE_DB}</b>" PW_COMMENT_DB="$(gettext "Launching") <b>${PORTWINE_DB}</b>"
...@@ -572,8 +572,7 @@ if [[ -f "${portwine_exe}" ]] ; then ...@@ -572,8 +572,7 @@ if [[ -f "${portwine_exe}" ]] ; then
fi fi
if [[ "${PW_GUI_DISABLED_CS}" != 1 ]] ; then if [[ "${PW_GUI_DISABLED_CS}" != 1 ]] ; then
pw_create_gui_png pw_create_gui_png
grep -il "${portwine_exe}" "${HOME}/.local/share/applications"/*.desktop if ! grep -il "${portwine_exe}" "${HOME}/.local/share/applications"/*.desktop ; then
if [[ "$?" != "0" ]] ; then
PW_SHORTCUT="$(gettext "CREATE SHORTCUT")!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!$(gettext "Create shortcut for select file..."):100" PW_SHORTCUT="$(gettext "CREATE SHORTCUT")!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!$(gettext "Create shortcut for select file..."):100"
else else
PW_SHORTCUT="$(gettext "DELETE SHORTCUT")!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!$(gettext "Delete shortcut for select file..."):98" PW_SHORTCUT="$(gettext "DELETE SHORTCUT")!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!$(gettext "Delete shortcut for select file..."):98"
...@@ -711,12 +710,12 @@ else ...@@ -711,12 +710,12 @@ else
IFS="%" IFS="%"
"${pw_yad}" --plug=$KEY --tabnum="${PW_GUI_SORT_TABS[4]}" --form --columns="$MAIN_GUI_COLUMNS" --homogeneous-column \ "${pw_yad}" --plug=$KEY --tabnum="${PW_GUI_SORT_TABS[4]}" --form --columns="$MAIN_GUI_COLUMNS" --homogeneous-column \
--gui-type-layout=${MAIN_MENU_GUI_TYPE_LAYOUT} \ --gui-type-layout="${MAIN_MENU_GUI_TYPE_LAYOUT}" \
--align-buttons --scroll --separator=" " ${PW_GENERATE_BUTTONS} 2>/dev/null & --align-buttons --scroll --separator=" " ${PW_GENERATE_BUTTONS} 2>/dev/null &
IFS="$orig_IFS" IFS="$orig_IFS"
"${pw_yad}" --plug=$KEY --tabnum="${PW_GUI_SORT_TABS[3]}" --form --columns=3 --align-buttons --separator=";" --homogeneous-column \ "${pw_yad}" --plug=$KEY --tabnum="${PW_GUI_SORT_TABS[3]}" --form --columns=3 --align-buttons --separator=";" --homogeneous-column \
--gui-type-layout=${MAIN_MENU_GUI_TYPE_LAYOUT} \ --gui-type-layout="${MAIN_MENU_GUI_TYPE_LAYOUT}" \
--field=" $(gettext "Reinstall PortProton")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"":"FBTN" '@bash -c "button_click --normal gui_pw_reinstall_pp"' \ --field=" $(gettext "Reinstall PortProton")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"":"FBTN" '@bash -c "button_click --normal gui_pw_reinstall_pp"' \
--field=" $(gettext "Remove PortProton")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"":"FBTN" '@bash -c "button_click --normal gui_rm_portproton"' \ --field=" $(gettext "Remove PortProton")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"":"FBTN" '@bash -c "button_click --normal gui_rm_portproton"' \
--field=" $(gettext "Update PortProton")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"":"FBTN" '@bash -c "button_click --normal gui_pw_update"' \ --field=" $(gettext "Update PortProton")"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png"!"":"FBTN" '@bash -c "button_click --normal gui_pw_update"' \
......
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