Compare commits

..

36 Commits

Author SHA1 Message Date
f0c561a295 Scripts version 2371 2024-11-08 19:07:37 +03:00
a92689686d Merge branch 'dervart-devel' into devel 2024-11-08 18:45:24 +03:00
685629d6ca Merge branch 'devel' of github.com:dervart/PortWINE into dervart-devel 2024-11-08 18:44:25 +03:00
169c146b77 Merge branch 'Htylol-fix-for-portwine_missing_shortcut' into devel 2024-11-08 18:37:42 +03:00
1aca1ec017 Merge branch 'fix-for-portwine_missing_shortcut' of github.com:Htylol/PortWINE into Htylol-fix-for-portwine_missing_shortcut 2024-11-08 18:37:22 +03:00
3be8645b38 remove epmty VAR in USER.CONF 2024-11-08 18:36:13 +03:00
041ac9d04c Merge branch 'Htylol-gtk-themes-1' into devel 2024-11-08 18:03:51 +03:00
b366de16df fix conflict 2024-11-08 18:03:15 +03:00
b6ceaa3f96 Merge branch 'Htylol-update-start.sh1' into devel 2024-11-08 17:46:52 +03:00
e60b6cd0b7 Merge branch 'update-start.sh1' of github.com:Htylol/PortWINE into Htylol-update-start.sh1 2024-11-08 17:46:46 +03:00
8f92994070 Merge branch 'Htylol-update-gs1' into devel 2024-11-08 17:45:52 +03:00
b40b17d0b7 Merge branch 'update-gs1' of github.com:Htylol/PortWINE into Htylol-update-gs1 2024-11-08 17:45:44 +03:00
9a4a007518 Merge branch 'Htylol-skip-resize-fix1' into devel 2024-11-08 17:36:45 +03:00
8a49e81bff Merge branch 'skip-resize-fix1' of github.com:Htylol/PortWINE into Htylol-skip-resize-fix1 2024-11-08 17:36:35 +03:00
813d83d6d1 fix dpi 2024-11-08 17:33:39 +03:00
aaaade7877 Merge branch 'Htylol-improve_reg_func' into devel 2024-11-08 17:15:14 +03:00
880f6ebaf2 Merge branch 'improve_reg_func' of github.com:Htylol/PortWINE into Htylol-improve_reg_func 2024-11-08 17:15:04 +03:00
903f6c7041 added dxgi.syncInterval=0 for BDO 2024-11-08 17:12:35 +03:00
1384f6da2d disabled WINEFSYNC_FUTEX2 by default 2024-11-08 17:11:06 +03:00
94723c743d update BDO 2024-11-08 17:08:20 +03:00
cf06436a14 Update Saturn.ppdb 2024-11-08 17:58:54 +07:00
27c9d36072 Update Saturn.ppdb
Добавлено уточнение по поводу нестабильности игры при сворачивании
2024-11-08 17:57:54 +07:00
90a666dc91 Update Saturn.ppdb 2024-11-08 16:31:51 +07:00
e1928d5ec4 Saturn db 2024-11-08 16:26:49 +07:00
76bbec19dd Saturn PW 2024-11-08 16:26:10 +07:00
8956b79993 Saturn image 2024-11-08 16:25:08 +07:00
c26ce5b2fe update 2024-11-07 04:43:54 +05:00
16dc574121 Fixed bug for portwine_missing_shortcut 2024-11-06 12:59:35 +05:00
1e9a9e3ea5 Update for portwine_exe (only .exe,.bat,.msi,.reg) 2024-11-06 06:31:55 +05:00
fafd42ecd1 Added __GL_THREADED_OPTIMIZATIONS for nvidia gamescope 2024-11-04 15:10:42 +05:00
bb7133ae25 added fix for alt linux 2024-11-04 06:17:01 +05:00
b97b6623f2 Added choice of GTK themes (default, light, dark) 2024-11-04 03:46:12 +05:00
feedb9b2c9 Added PW_GS_CURSOR_SCALE_HEIGHT for gamescope 2024-11-03 10:39:53 +05:00
2bdcf4ee7b Added recommend_dpi and fixes_after_update 2024-11-02 21:47:47 +05:00
84834e1bdc Added .png to 48 and make happy exe-thumbnailer 2024-11-02 18:57:07 +05:00
7b0579e3c2 Улучшил функцию для работы с реестром 2024-11-02 04:38:18 +05:00
20 changed files with 396 additions and 116 deletions

View File

@ -2,6 +2,17 @@ You can help us in the development of the project on the website: https://linux-
----------------------------------------
Changelog:
###Scripts version 2371### / Date: 08.11.2024 / Download update size: 4 megabytes
* FUTEX2 is disabled by default (breaks some games)
* added auto-installation of the Saturn game (thanks to Dervart)
* added the ability to select a dark/light theme in the global PP settings (thanks to Htylol)
* significantly improved functions (thanks to Htylol):
* registry editor
* determining the extension of the launched file
* check desktop files
* gamescope settings
* added cursor scale setting for gamescope (thanks to Htylol)
###Scripts version 2370### / Date: 01.11.2024 / Download update size: 215 megabytes
* updated PROTON_LG to version "9-18"
* updated versions:

View File

@ -2,6 +2,17 @@
-----------------------------------------
История изменений:
###Scripts version 2371### / Дата: 08.11.2024 / Размер скачиваемого обновления: 4 мегабайта
* FUTEX2 отключен по умолчанию (ломает работу некоторых игр)
* добавлена автоустановка игры Saturn (спасибо Dervart)
* добавлена возможность выбора темной/светлой темы в глобальных настройках PP (спасибо Htylol)
* значительно улучшены функции (спасибо Htylol):
* редактор реестра
* определение расширения запускаемого файла
* проверки ярлыков
* настройки gamescope
* добавлена настройка масштаба курсора для gamescope (спасибо Htylol)
###Scripts version 2370### / Дата: 01.11.2024 / Размер скачиваемого обновления: 215 мегабайт
* обновлен PROTON_LG до версии "9-18"
* обновлены версии:

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

View File

@ -7,7 +7,7 @@
msgid ""
msgstr "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-11-01 02:46+0500\n"
"POT-Creation-Date: 2024-11-02 10:04+0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -1256,6 +1256,10 @@ msgid "Force use sdl videodriver x11, works with BACKEND SDL. (Default is "
"wayland)"
msgstr ""
msgid "If specified, sets a base output height to linearly scale the cursor "
"against."
msgstr ""
msgid "Change settings gamescope for"
msgstr ""
@ -1381,6 +1385,24 @@ msgid "If downloading steam covers is enabled, they will be downloaded and "
"is unavailable for some reason)"
msgstr ""
msgid "default"
msgstr ""
msgid "compact"
msgstr ""
msgid "classic"
msgstr ""
msgid "dark"
msgstr ""
msgid "light"
msgstr ""
msgid "Recommended value"
msgstr ""
msgid "Choose a graphics card to run the game"
msgstr ""
@ -1388,10 +1410,10 @@ msgid "Select which video card will be used to run the game (used for all "
"running games and programs in PortProton)"
msgstr ""
msgid "Force dpi for fonts"
msgid "Force dpi"
msgstr ""
msgid "Here you can set forced dpi for fonts in wine"
msgid "Here you can set forced dpi for applications wine"
msgstr ""
msgid "Choice wine audio driver"
@ -1400,12 +1422,18 @@ msgstr ""
msgid "Fixes sound popling if choice alsa"
msgstr ""
msgid "Choice gui themes"
msgid "Select PortProton theme"
msgstr ""
msgid "Allows you to select a theme for PortProton"
msgstr ""
msgid "Select gtk theme"
msgstr ""
msgid "Allows you to select a theme for GTK."
msgstr ""
msgid "Time display"
msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-11-01 02:43+0500\n"
"POT-Creation-Date: 2024-11-02 10:04+0500\n"
"PO-Revision-Date: 2024-10-26 13:58+0500\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -1636,6 +1636,12 @@ msgstr ""
"Forzar el uso del controlador de video SDL x11, funciona con el backend SDL. "
"(Por defecto es Wayland)."
msgid ""
"If specified, sets a base output height to linearly scale the cursor against."
msgstr ""
"Si se especifica, establece una altura de salida base para escalar "
"linealmente el cursor."
msgid "Change settings gamescope for"
msgstr "Cambiar ajustes gamescope para"
@ -1804,6 +1810,24 @@ msgstr ""
"crearán. (La desactivación se proporciona en los casos en que su descarga no "
"esté disponible por algún motivo)"
msgid "default"
msgstr "por defecto"
msgid "compact"
msgstr "compacto"
msgid "classic"
msgstr "clásico"
msgid "dark"
msgstr "oscuro"
msgid "light"
msgstr "ligero"
msgid "Recommended value"
msgstr ""
msgid "Choose a graphics card to run the game"
msgstr "Elige una tarjeta gráfica para ejecutar el juego"
@ -1814,10 +1838,10 @@ msgstr ""
"Selecciona qué tarjeta de vídeo se utilizará para ejecutar el juego (se "
"utiliza para todos los juegos y programas en ejecución en PortProton)"
msgid "Force dpi for fonts"
msgid "Force dpi"
msgstr ""
msgid "Here you can set forced dpi for fonts in wine"
msgid "Here you can set forced dpi for applications wine"
msgstr ""
msgid "Choice wine audio driver"
@ -1826,12 +1850,18 @@ msgstr "Controlador de audio de vino elegido"
msgid "Fixes sound popling if choice alsa"
msgstr "Corrige el sonido estallido de elección alsa alsa"
msgid "Choice gui themes"
msgstr "Temas de interfaz gráfica de usuario elegidos"
msgid "Select PortProton theme"
msgstr "Seleccione el tema PortProton"
msgid "Allows you to select a theme for PortProton"
msgstr "Le permite seleccionar un tema para PortProton"
msgid "Select gtk theme"
msgstr "Seleccione el tema gtk"
msgid "Allows you to select a theme for GTK."
msgstr "Le permite seleccionar un tema para GTK."
msgid "Time display"
msgstr "Mostrar tiempo"
@ -2222,6 +2252,9 @@ msgid ""
"list below:"
msgstr ""
#~ msgid "Choice gui themes"
#~ msgstr "Temas de interfaz gráfica de usuario elegidos"
#~ msgid ""
#~ "A higher number of duplicate desktop files were found for this file."
#~ "\\nShould I delete the extra ones or not?"

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-11-01 02:43+0500\n"
"PO-Revision-Date: 2024-11-01 02:44+0500\n"
"POT-Creation-Date: 2024-11-02 10:04+0500\n"
"PO-Revision-Date: 2024-11-02 10:05+0500\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: ru_RU\n"
@ -1615,6 +1615,12 @@ msgstr ""
"запуском), работает вместе с SDL BACKEND (используется по умолчанию в "
"Wayland сессии)"
msgid ""
"If specified, sets a base output height to linearly scale the cursor against."
msgstr ""
"Если указано, устанавливает базовую высоту вывода для линейного "
"масштабирования курсора."
msgid "Change settings gamescope for"
msgstr "Изменить настройки Gamescope для"
@ -1782,6 +1788,24 @@ msgstr ""
"создаваться. (Отключение предусмотрено в тех случаях, когда их скачивание по "
"каким-то причинам недоступно)"
msgid "default"
msgstr "по умолчанию"
msgid "compact"
msgstr "компактная"
msgid "classic"
msgstr "классическая"
msgid "dark"
msgstr "тёмная"
msgid "light"
msgstr "светлая"
msgid "Recommended value"
msgstr "Рекомендуемое значение"
msgid "Choose a graphics card to run the game"
msgstr "Выбрать видеокарту для запуска игры"
@ -1792,12 +1816,11 @@ msgstr ""
"Выбор видеокарты для запуска игры (используется для всех запущенных игр и "
"программ в PortProton)"
msgid "Force dpi for fonts"
msgstr "Принудительное разрешение шрифтов"
msgid "Force dpi"
msgstr "Принудительный масштаб"
msgid "Here you can set forced dpi for fonts in wine"
msgstr ""
"Здесь вы можете установить принудительное разрешение для шрифтов в Wine"
msgid "Here you can set forced dpi for applications wine"
msgstr "Здесь вы можете установить принудительный масштаб для приложений wine"
msgid "Choice wine audio driver"
msgstr "Выбрать звуковой драйвер"
@ -1805,12 +1828,18 @@ msgstr "Выбрать звуковой драйвер"
msgid "Fixes sound popling if choice alsa"
msgstr "Выбор alsa исправляет заикание звука"
msgid "Choice gui themes"
msgstr "Выбор графической темы"
msgid "Select PortProton theme"
msgstr "Выбрать тему PortProton"
msgid "Allows you to select a theme for PortProton"
msgstr "Позволяет выбрать тему для PortProton"
msgid "Select gtk theme"
msgstr "Выбрать тему GTK"
msgid "Allows you to select a theme for GTK."
msgstr "Позволяет выбрать светлую или тёмную тему"
msgid "Time display"
msgstr "Отображение времени"
@ -2217,6 +2246,9 @@ msgstr ""
"--autoinstall и название того, что необходимо установить, указано в списке "
"ниже:"
#~ msgid "Choice gui themes"
#~ msgstr "Выбор графической темы"
#~ msgid ""
#~ "A higher number of duplicate desktop files were found for this file."
#~ "\\nShould I delete the extra ones or not?"

View File

@ -904,7 +904,7 @@ search_desktop_file () {
if [[ $DESKTOP_WITH_TIME == enabled ]] || [[ $SORT_WITH_TIME == enabled ]] ; then
while IFS=" " read -r -a line2 ; do
if [[ -z ${line2[0]} ]] \
|| [[ ! ${line2[0],,} =~ (.bat$|.exe$|.msi$|.reg$) ]] ; then
|| [[ ! ${line2[0],,} =~ .(bat|exe|msi|reg)$ ]] ; then
BROKEN_LINE=1
break
fi
@ -939,7 +939,7 @@ search_desktop_file () {
# Ремонт, если есть пустые строки и непонятные строки без .exe, .bat, .msi, .reg
if [[ $BROKEN_LINE == 1 ]] ; then
while IFS=" " read -r -a line4 ; do
if [[ -n ${line4[0]} ]] && [[ ${line4[0]} =~ (.[Bb][Aa][Tt]$|.[Ee][Xx][Ee]$|.[Mm][Ss][Ii]$|.[Rr][Ee][Gg]$) ]]
if [[ -n ${line4[0]} ]] && [[ ${line4[0],,} =~ .(bat|exe|msi|reg)$ ]]
then echo "${line4[*]}"
fi
done < "$PORT_WINE_TMP_PATH/statistics" > "$PORT_WINE_TMP_PATH/statistics_repair"
@ -1114,8 +1114,8 @@ create_name_desktop () {
fi
if (( ${#PORTWINE_DB_DESKTOP} > 3 )) ; then
for ((i=0 ; i<${#PORTWINE_DB_DESKTOP} ; i++)) ; do
if [[ ${PORTWINE_DB_DESKTOP:i:2} =~ ([a-z][A-Z]|[a-z][0-9]) ]] \
&& [[ ! ${PORTWINE_DB_DESKTOP:i:3} =~ ([a-z][A-Z]" "|[a-z][0-9]" ") ]] ; then
if [[ ${PORTWINE_DB_DESKTOP:i:2} =~ [a-z]([A-Z]|[0-9]) ]] \
&& [[ ! ${PORTWINE_DB_DESKTOP:i:3} =~ [a-z]([A-Z]|[0-9])" " ]] ; then
PORTWINE_DB_PROXY+="${PORTWINE_DB_DESKTOP:i:1} "
elif [[ ${PORTWINE_DB_DESKTOP:i:3} =~ [0-9][0-9][a-zA-Z] ]] ; then
PORTWINE_DB_PROXY+="${PORTWINE_DB_DESKTOP:i:2} "
@ -1267,65 +1267,87 @@ combobox_fix () {
}
get_and_set_reg_file () {
local name_block name_for_find find_block find_file find_line count name_for_new_block
local line_reg find_number_line find_check_file name_for_set name_block_old
local name_block name_for_find find_block find_file find_line count name_for_new_block name_for_find_old
local line_reg find_number_line find_check_file name_for_set name_type_reg name_fatal name_add_or_del
name_add_or_del=$1
name_block=$2
name_block_old=$name_block
name_for_find=$3
name_for_set=$4
name_for_new_block=$5
name_block=${name_block//\\/\\\\}
name_block=${name_block//\[/\\[}
find_block=$(grep -n "${name_block//\]/\\]}" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/"*.reg)
name_type_reg=$4
name_for_set=$5
name_for_new_block=$6
name_for_find_old=$name_for_find
name_fatal="$name_block $name_for_find"
case $name_type_reg in
REG_DWORD)
name_for_find='"'"$name_for_find"'"'"=dword:"
name_for_set=$(convert_dec_and_hex --dec "$name_for_set") ;;
REG_SZ)
name_for_find='"'"$name_for_find"'"'"="
name_for_set='"'"$name_for_set"'"' ;;
*)
if [[ $name_add_or_del == --delete ]] ; then
name_for_find='"'"$name_for_find"'"'
else
print_error "Name type reg not set for $name_fatal"
return 1
fi ;;
esac
name_block=${name_block//\\/\\\\\\\\\\\\\\}
name_block=${name_block//*/\\[$name_block}
name_block="${name_block//*/${name_block//\\/\\\\}\\]}"
if [[ -n $name_for_new_block ]] ; then
find_block=$(grep -n "$name_block" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/$name_for_new_block.reg")
else
find_block=$(grep -n "$name_block" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/"*.reg)
fi
if [[ -n $find_block ]] ; then
find_file=${find_block//:*/}
find_line=${find_block//$find_file:/}
find_line=${find_line//:*/}
if [[ -n $name_for_new_block ]] ; then
find_file="${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/$name_for_new_block.reg"
find_line=${find_block//:*/}
else
find_file=${find_block//:*/}
find_line=${find_block//$find_file:/}
find_line=${find_line//:*/}
fi
count=-1
while IFS= read -r line_reg ; do
((count++))
if [[ $line_reg =~ $name_for_find ]] ; then
if [[ $line_reg == $name_for_find$name_for_set ]] ; then
# когда менять не нужно, потому что такое же
return 0
fi
find_number_line=$(( count + find_line ))
find_check_file=1
break
fi
[[ -z $line_reg ]] && break
done <<< $(sed -n "$find_line"',$p' $find_file)
done <<< "$(sed -n "$find_line"',$p' "$find_file")"
IFS="$orig_IFS"
fi
if [[ $1 == --add ]] ; then
if [[ $name_add_or_del == --add ]] ; then
if [[ -z $find_block ]] ; then
if [[ -n $name_for_new_block ]] ; then
sed -i '$a\\n'"${name_block_old//\\/\\\\}" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/$name_for_new_block.reg"
find_file=${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/$name_for_new_block.reg
sed -i '$a\\n'"$name_block\n" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/$name_for_new_block.reg"
find_file="${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/$name_for_new_block.reg"
find_line=$(wc -l "$find_file" | awk -F" " '{print $1}')
find_line=$(( find_line - 1 ))
else
print_error "$name_block_old not found in reg files"
print_error "$name_fatal not found in reg files"
return 1
fi
fi
if [[ $name_for_set =~ ^[0-9]+$ ]] ; then
name_for_set=$(convert_dec_and_hex --dec "$name_for_set")
fi
if [[ ! $name_for_set =~ ^[0-9]+$ ]] ; then
if [[ $find_check_file == 1 ]] ; then
sed -i "${find_number_line}s/$name_for_find.*/$name_for_find\"$name_for_set\"/" "$find_file"
else
print_info "Added ${name_for_find//=*} to reg file"
sed -i "$(( find_line + 1 ))"'a\\n'"$name_for_find\"$name_for_set\"" "$find_file"
fi
if [[ $find_check_file == 1 ]] ; then
print_info "Change $name_for_find_old to reg file"
sed -i "${find_number_line}s/$name_for_find.*/$name_for_find$name_for_set/" "$find_file"
else
if [[ $find_check_file == 1 ]] ; then
sed -i "${find_number_line}s/$name_for_find.*/$name_for_find$name_for_set/" "$find_file"
else
print_info "Added ${name_for_find//=*} to reg file"
sed -i "$(( find_line + 1 ))"'a\\n'"$name_for_find$name_for_set" "$find_file"
fi
print_info "Added $name_for_find_old to reg file"
sed -i "$(( find_line + 1 ))a$name_for_find$name_for_set" "$find_file"
fi
elif [[ $1 == --delete ]] ; then
elif [[ $name_add_or_del == --delete ]] ; then
[[ $find_check_file != 1 ]] && return 0
print_info "Delete ${name_for_find//=*} to reg file"
print_info "Delete $name_for_find_old to reg file"
sed -i "${find_number_line}d" "$find_file"
fi
}
@ -1337,7 +1359,7 @@ convert_dec_and_hex () {
case "$type" in
--dec)
# Преобразование из десятичного в шестнадцатеричный
echo -n $(printf "%08x" $num) ;;
echo -n "$(printf "%08x" "$num")" ;;
--hex)
# Преобразование из шестнадцатеричного в десятичный
echo $(( 0x$num )) ;;
@ -1346,6 +1368,33 @@ convert_dec_and_hex () {
esac
}
recommend_dpi () {
local height=$1
if [[ -z "$height" ]] ; then
echo "disabled"
return 1
fi
local dpi=$(( height / 10 ))
(( dpi < 96 )) && local dpi="96"
echo "$dpi"
}
fixes_after_update () {
local fixes_path line fixes_info IFS
fixes_info=$1
fixes_path="$PORT_WINE_TMP_PATH/fixes_apply"
[[ ! -f $fixes_path ]] && touch "$fixes_path"
while IFS= read -r line ; do
if [[ $line == "$fixes_info" ]] ; then
return 1
fi
done < "$fixes_path"
echo "$fixes_info" >> "$fixes_path"
return 0
}
restart_pp () {
case "$1" in
--userconf) export RESTART_PP_USED="userconf" ;;
@ -1475,20 +1524,20 @@ init_wine_ver () {
export WINELOADER="${WINEDIR}/bin/wine"
export WINESERVER="${WINEDIR}/bin/wineserver"
if [[ -d "${WINEDIR}/files" && ! -d "${WINEDIR}/dist" ]] ; then
for clear_dist_files in $(ls "${WINEDIR}" | sed -e "s/^files$//g" | sed -e "s/^version$//g") ; do
for clear_dist_files in $(ls "${WINEDIR}" | sed -r "s/^(files|version)$//g") ; do
rm -fr "${WINEDIR}/$clear_dist_files"
done
mv -f "${WINEDIR}/files"/* "${WINEDIR}/"
rm -fr "${WINEDIR}/files"
elif [[ ! -d "${WINEDIR}/files" && -d "${WINEDIR}/dist" ]] ; then
for clear_dist_files in $(ls "${WINEDIR}" | sed -e "s/^dist$//g" | sed -e "s/^version$//g") ; do
for clear_dist_files in $(ls "${WINEDIR}" | sed -r "s/^(dist|version)$//g") ; do
rm -fr "${WINEDIR}/$clear_dist_files"
done
mv -f "${WINEDIR}/dist"/* "${WINEDIR}/"
rm -fr "${WINEDIR}/dist"
elif [[ -f "${WINEDIR}/proton_dist.tar" ]] ; then
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 -r "s/^(bin|lib|lib64|share|version)$//g") ; do
rm -fr "${WINEDIR}/$clear_dist_files"
done
fi
@ -2659,6 +2708,10 @@ edit_db_from_gui () {
edit_user_conf_from_gui () {
for mod_db in $@ ; do
if [[ -z "${!mod_db}" ]] ; then
sed -i "/^export ${mod_db}=.*/d" "${USER_CONF}"
return 0
fi
proxy_mod_db="${!mod_db}"
if [[ $proxy_mod_db =~ (${translations[Disabled]}|${translations[Disable]}) ]] ; then
proxy_mod_db=disabled
@ -2729,7 +2782,7 @@ pw_create_gui_png () {
fi
fi
PORTPROTON_NAME="$(echo "${PORTPROTON_NAME}" | sed "s/\`//g" | sed "s/\"//g" | sed "s/'//g" | sed "s/\!//g")"
PORTPROTON_NAME="${PORTPROTON_NAME//(\`|\"|\'|\!)/})"
export PORTPROTON_NAME
edit_db_from_gui PORTPROTON_NAME FILE_DESCRIPTION
fi
@ -2989,8 +3042,8 @@ start_portwine () {
export WINEFSYNC_FUTEX2="0"
else
export WINEFSYNC="1"
export WINEFSYNC_FUTEX2="1"
export WINEFSYNC_SPINCOUNT=100
check_variables WINEFSYNC_FUTEX2 0
fi
if [[ "${PW_FORCE_LARGE_ADDRESS_AWARE}" == 1 ]]
@ -3758,28 +3811,33 @@ start_portwine () {
fi
if [[ "$PW_DINPUT_PROTOCOL" == "1" ]] ; then
get_and_set_reg_file --add '[System\\CurrentControlSet\\Services\\winebus]' '"DisableHidraw"=dword:' "0"
get_and_set_reg_file --add '[System\\CurrentControlSet\\Services\\winebus]' '"Enable SDL"=dword:' "0"
get_and_set_reg_file --add 'System\CurrentControlSet\Services\winebus' 'DisableHidraw' 'REG_DWORD' "0" "system"
get_and_set_reg_file --add 'System\CurrentControlSet\Services\winebus' 'Enable SDL' 'REG_DWORD' "0" "system"
else
get_and_set_reg_file --add '[System\\CurrentControlSet\\Services\\winebus]' '"DisableHidraw"=dword:' "1"
get_and_set_reg_file --add '[System\\CurrentControlSet\\Services\\winebus]' '"Enable SDL"=dword:' "1"
get_and_set_reg_file --add 'System\CurrentControlSet\Services\winebus' 'DisableHidraw' 'REG_DWORD' "1" "system"
get_and_set_reg_file --add 'System\CurrentControlSet\Services\winebus' 'Enable SDL' 'REG_DWORD' "1" "system"
fi
if [[ "$PW_WINE_DPI_VALUE" != "disabled" ]] ; then
get_and_set_reg_file --add '[Control Panel\\Desktop]' '"LogPixels"=dword:' "${PW_WINE_DPI_VALUE// (*/}"
if [[ "$PW_WINE_DPI_VALUE" == "recommended" ]] ; then
PW_RECOMMENDED_DPI=$(recommend_dpi "${PW_SCREEN_RESOLUTION:5:8}")
get_and_set_reg_file --add 'Control Panel\Desktop' 'LogPixels' 'REG_DWORD' "$PW_RECOMMENDED_DPI" "user"
else
get_and_set_reg_file --add 'Control Panel\Desktop' 'LogPixels' 'REG_DWORD' "$PW_WINE_DPI_VALUE" "user"
fi
fi
if [[ "$PW_USE_NATIVE_WAYLAND" == "1" ]] ; then
export PW_DISPLAY="env DISPLAY="
export PW_USE_RUNTIME="0"
get_and_set_reg_file --add '[Software\\Wine\\Drivers]' '"Graphics"=' "x11,wayland" "user"
get_and_set_reg_file --add 'Software\Wine\Drivers' 'Graphics' 'REG_SZ' "x11,wayland" "user"
else
unset PW_DISPLAY
get_and_set_reg_file --delete '[Software\\Wine\\Drivers]' '"Graphics"=' "x11,wayland"
get_and_set_reg_file --delete 'Software\Wine\Drivers' 'Graphics'
fi
if [[ "$PW_SOUND_DRIVER_USE" != "disabled" ]] ; then
get_and_set_reg_file --add '[Software\\Wine\\Drivers]' '"Audio"=' "$PW_SOUND_DRIVER_USE" "user"
get_and_set_reg_file --add 'Software\Wine\Drivers' 'Audio' 'REG_SZ' "$PW_SOUND_DRIVER_USE" "user"
fi
pw_stop_progress_bar
@ -3820,7 +3878,8 @@ start_portwine () {
fi
fi
# GAMESCOPE enable:
unset PW_GAMESCOPE_ARGS_NEW PW_GAMESCOPE_VARIABLES_BEFORE PW_GAMESCOPE_VARIABLES_AFTER
# GAMESCOPE fixes:
if [[ "${PW_GAMESCOPE}" == "1" && "${GAMESCOPE_INSTALLED}" == "1" ]] \
|| check_gamescope_session
then
@ -3836,7 +3895,12 @@ start_portwine () {
if [[ -d /sys/bus/pci/drivers/i915 ]] ; then
export INTEL_DEBUG="norbc"
fi
if [[ -d /sys/bus/pci/drivers/nvidia ]] ; then
PW_GAMESCOPE_VARIABLES_BEFORE+="__GL_THREADED_OPTIMIZATIONS=0 "
PW_GAMESCOPE_VARIABLES_AFTER+="__GL_THREADED_OPTIMIZATIONS=1 "
fi
fi
# GAMESCOPE enable:
if [[ "${PW_GAMESCOPE}" == "1" && "${GAMESCOPE_INSTALLED}" == "1" ]] \
&& ! check_gamescope_session
then
@ -3849,7 +3913,6 @@ start_portwine () {
fi
#checkbox
unset PW_GAMESCOPE_ARGS_NEW
[[ "${PW_GS_FULLSCREEN}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" -f"
[[ "${PW_GS_FORCE_FULLSCREEN}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" --force-windows-fullscreen"
[[ "${PW_GS_BORDERLESS_WINDOW}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" -b"
@ -3879,6 +3942,7 @@ start_portwine () {
[[ "${PW_GS_BACKEND_SDL}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" --backend sdl"
[[ "${PW_GS_SDL_VIDEODRIVER_X11}" == "1" ]] && export SDL_VIDEODRIVER="x11"
[[ "${PW_GS_CURSOR_SCALE_HEIGHT}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" --cursor-scale-height 1"
#combobox
if [[ "${PW_GS_SHOW_RESOLUTION}" != "disabled" ]] ; then
@ -3921,7 +3985,7 @@ start_portwine () {
[[ "${PW_GS_ITM_TARGET_NITS}" != "0" ]] && PW_GAMESCOPE_ARGS_NEW+=" --hdr-itm-target-nits ${PW_GS_ITM_TARGET_NITS}"
edit_db_from_gui PW_GAMESCOPE_ARGS_NEW
export PW_RUN_GAMESCOPE="gamescope${PW_ID_VIDEO}${PW_GAMESCOPE_ARGS_NEW} --"
export PW_RUN_GAMESCOPE="${PW_GAMESCOPE_VARIABLES_BEFORE}gamescope${PW_ID_VIDEO}${PW_GAMESCOPE_ARGS_NEW} env ${PW_GAMESCOPE_VARIABLES_AFTER}"
fi
pw_mangohud_check
@ -5386,16 +5450,19 @@ gui_gamescope () {
PW_GS_EXPOSE_WAYLAND PW_GS_REALTIME_SCHEDULING
)
grep -e '--mangoapp' "${PW_TMPFS_PATH}/gamescope.tmp" &>/dev/null && add_to_array "PW_GS_LIST" PW_GS_MANGOAPP
grep -e '--backend' "${PW_TMPFS_PATH}/gamescope.tmp" &>/dev/null && add_to_array "PW_GS_LIST" PW_GS_BACKEND_SDL PW_GS_SDL_VIDEODRIVER_X11
[[ $(<"${PW_TMPFS_PATH}/gamescope.tmp") =~ '--mangoapp' ]] && add_to_array "PW_GS_LIST" PW_GS_MANGOAPP
[[ $(<"${PW_TMPFS_PATH}/gamescope.tmp") =~ '--backend' ]] && add_to_array "PW_GS_LIST" PW_GS_BACKEND_SDL
check_wayland_session && add_to_array "PW_GS_LIST" PW_GS_SDL_VIDEODRIVER_X11
[[ $(<"${PW_TMPFS_PATH}/gamescope.tmp") =~ '--cursor-scale-height' ]] && add_to_array "PW_GS_LIST" PW_GS_CURSOR_SCALE_HEIGHT
GS_FILTER_CB="linear!nearest!fsr!nis!pixel"
#debian bookworm fix
if grep -e '-U, --fsr-upscaling' "${PW_TMPFS_PATH}/gamescope.tmp" &>/dev/null ; then
if [[ $(<"${PW_TMPFS_PATH}/gamescope.tmp") =~ '-U, --fsr-upscaling' ]] ; then
GS_FILTER_CB="fsr!nis"
export PW_GS_FILTER_MODE_OLD="true"
rm_from_array "PW_GS_LIST" PW_GS_FORCE_GRAB_CURSOR PW_GS_FORCE_GRAB_KEYBOARD PW_GS_HDR_ENABLE PW_GS_HDR_FORCE_SUPPORT \
PW_GS_HDR_FORCE_OUTPUT
else
GS_FILTER_CB="linear!nearest!fsr!nis!pixel"
fi
PW_GS_FULLSCREEN_INFO=${translations[Make the window fullscreen]}
@ -5416,6 +5483,7 @@ gui_gamescope () {
PW_GS_MANGOAPP_INFO=${translations[Launch with the mangoapp (mangohud) performance overlay enabled. You should use this instead of using mangohud on the game or gamescope.]}
PW_GS_BACKEND_SDL_INFO=${translations[Use sdl backend. (by default wayland backend is used).]}
PW_GS_SDL_VIDEODRIVER_X11_INFO=${translations[Force use sdl videodriver x11, works with BACKEND SDL. (Default is wayland)]}
PW_GS_CURSOR_SCALE_HEIGHT_INFO=${translations[if specified, sets a base output height to linearly scale the cursor against.]}
unset ADD_CHK_BOX_GS
if [[ "${GAMESCOPE_INSTALLED}" == 1 ]] ; then
@ -5611,6 +5679,9 @@ gui_userconf () {
SORT_WITH_TIME="enabled"
fi
if [[ $PW_WINE_DPI_VALUE == "recommended" ]] ; then
PW_WINE_DPI_VALUE="${translations[Recommended value]}"
fi
if [[ -n "$PW_WINE_DPI_VALUE" ]] \
&& [[ "$PW_WINE_DPI_VALUE" != "disabled" ]]
then
@ -5619,12 +5690,34 @@ gui_userconf () {
YAD_DPI_VAR="disabled"
fi
"${pw_yad}" --plug=$KEY_USERCONF_GUI --tabnum="2" --form --columns=1 --separator="@" --homogeneous-row \
if [[ $GUI_THEME == default ]] ; then GUI_THEME=${translations[default]}
elif [[ $GUI_THEME == compact ]] ; then GUI_THEME=${translations[compact]}
elif [[ $GUI_THEME == classic ]] ; then GUI_THEME=${translations[classic]}
fi
if command -v gsettings ; then
YAD_GTK_THEME_CHECK=$(gsettings get org.gnome.desktop.interface gtk-theme)
YAD_GTK_THEME_CHECK=${YAD_GTK_THEME_CHECK//\'/}
if [[ -n $YAD_GTK_THEME_CHECK ]] ; then
if [[ ! ${YAD_GTK_THEME_CHECK,,} == adwaita ]] ; then
YAD_GTK_THEME="$YAD_GTK_THEME_CHECK:${translations[light]}!$YAD_GTK_THEME_CHECK:${translations[dark]}!"
elif [[ ${YAD_GTK_THEME_CHECK,,} == breeze ]] ; then
YAD_GTK_THEME="$YAD_GTK_THEME_CHECK!"
fi
fi
fi
if [[ -z $GTK_THEME ]] ; then GTK_THEME=${translations[default]}
elif [[ $GTK_THEME =~ light$ ]] ; then GTK_THEME="${GTK_THEME//light/${translations[light]}}"
elif [[ $GTK_THEME =~ dark$ ]] ; then GTK_THEME="${GTK_THEME//dark/${translations[dark]}}"
fi
"${pw_yad}" --plug=$KEY_USERCONF_GUI --tabnum="2" --form --columns=1 --separator="%" --homogeneous-row \
--gui-type-text="$PANED_GUI_TYPE_TEXT_DOWN" --gui-type-layout="$PANED_GUI_TYPE_LAYOUT_DOWN" \
--field="${translations[Choose a graphics card to run the game]}!${translations[Select which video card will be used to run the game (used for all running games and programs in PortProton)]} :CB" "$(combobox_fix --disabled "$GPU_VAR" "$GET_GPU_NAMES")" \
--field="${translations[Force dpi for fonts]}!${translations[Here you can set forced dpi for fonts in wine]} :CB" "$(combobox_fix --disabled "$YAD_DPI_VAR" "96 (100%)!120 (125%)!144 (150%)!168 (175%)!192 (200%)!216 (225%)!240 (250%)!264 (275%)!288 (300%)")" \
--field="${translations[Force dpi]}!${translations[Here you can set forced dpi for applications wine]} :CB" "$(combobox_fix --disabled "$YAD_DPI_VAR" "${translations[Recommended value]}!96!120!144!168!192!216!240!264!288")" \
--field="${translations[Choice wine audio driver]}!${translations[Fixes sound popling if choice alsa]} :CB" "$(combobox_fix --disabled "$SOUND_DRIVER_VAR" "alsa!oss!pulse")" \
--field="${translations[Choice gui themes]}!${translations[Allows you to select a theme for PortProton]} :CB" "$(combobox_fix "$GUI_THEME" "default!compact!classic")" \
--field="${translations[Select PortProton theme]}!${translations[Allows you to select a theme for PortProton]} :CB" "$(combobox_fix "$GUI_THEME" "${translations[default]}!${translations[compact]}!${translations[classic]}")" \
--field="${translations[Select gtk theme]}!${translations[Allows you to select a theme for GTK.]} :CB" "$(combobox_fix "$GTK_THEME" "${YAD_GTK_THEME}Adwaita:${translations[light]}!Adwaita:${translations[dark]}!${translations[default]}")" \
--field="${translations[Time display]}!${translations[Displays time spent in an application or game]} :CB" "$(combobox_fix --disabled "$DESKTOP_WITH_TIME" "enabled")" \
--field="${translations[Sort shortcuts by time]}!${translations[This setting sorts the shortcuts in the main menu depending on the time spent in the application or game]} :CB" "$(combobox_fix --disabled "$SORT_WITH_TIME" "enabled")" \
1> "${PW_TMPFS_PATH}/tmp_yad_userconf_set_cb" 2>/dev/null &
@ -5657,15 +5750,27 @@ gui_userconf () {
gui_open_user_conf
;;
166)
IFS='@' read -r -a PW_ADD_SETTINGS_UC <"${PW_TMPFS_PATH}/tmp_yad_userconf_set_cb"
IFS='%' read -r -a PW_ADD_SETTINGS_UC <"${PW_TMPFS_PATH}/tmp_yad_userconf_set_cb"
IFS="$orig_IFS"
PW_GPU_USE="${PW_ADD_SETTINGS_UC[0]}"
PW_WINE_DPI_VALUE="${PW_ADD_SETTINGS_UC[1]}"
if [[ $PW_WINE_DPI_VALUE == "${translations[Recommended value]}" ]] ; then
PW_WINE_DPI_VALUE="recommended"
fi
PW_SOUND_DRIVER_USE="${PW_ADD_SETTINGS_UC[2]}"
GUI_THEME="${PW_ADD_SETTINGS_UC[3]}"
DESKTOP_WITH_TIME="${PW_ADD_SETTINGS_UC[4]}"
SORT_WITH_TIME="${PW_ADD_SETTINGS_UC[5]}"
edit_user_conf_from_gui PW_GPU_USE PW_WINE_DPI_VALUE PW_SOUND_DRIVER_USE GUI_THEME DESKTOP_WITH_TIME SORT_WITH_TIME
if [[ $GUI_THEME == ${translations[default]} ]] ; then GUI_THEME=default
elif [[ $GUI_THEME == ${translations[compact]} ]] ; then GUI_THEME=compact
elif [[ $GUI_THEME == ${translations[classic]} ]] ; then GUI_THEME=classic
fi
GTK_THEME="${PW_ADD_SETTINGS_UC[4]}"
if [[ $GTK_THEME == ${translations[default]} ]] ; then unset GTK_THEME
elif [[ $GTK_THEME =~ ${translations[light]} ]] ; then GTK_THEME="${GTK_THEME//${translations[light]}/light}"
elif [[ $GTK_THEME =~ ${translations[dark]} ]] ; then GTK_THEME="${GTK_THEME//${translations[dark]}/dark}"
fi
DESKTOP_WITH_TIME="${PW_ADD_SETTINGS_UC[5]}"
SORT_WITH_TIME="${PW_ADD_SETTINGS_UC[6]}"
edit_user_conf_from_gui PW_GPU_USE PW_WINE_DPI_VALUE PW_SOUND_DRIVER_USE GUI_THEME GTK_THEME DESKTOP_WITH_TIME SORT_WITH_TIME
restart_pp
;;
esac
@ -5699,7 +5804,8 @@ resize_png () {
fi
if [[ -f "${PORT_WINE_PATH}/data/img/${RESIZE_NAME_PNG}.png" ]] \
|| [[ ! -f "${RESIZE_FILE}" ]]
|| [[ ! -f "${RESIZE_FILE}" ]] \
|| [[ ! ${RESIZE_FILE,,} =~ .exe$ ]]
then
return 0
fi
@ -5868,7 +5974,7 @@ portwine_output_yad_shortcut () {
[[ "$PW_GUI_START" == "NOTEBOOK" ]] && unset PW_YAD_FORM_TAB
restart_pp
fi
elif [[ "$PW_YAD_OUT" =~ (^1$|^2$|^252$) ]] ; then
elif [[ "$PW_YAD_OUT" =~ ^(1|2|252)$ ]] ; then
print_info "Restarting PP..."
[[ -n $KEY_MENU ]] && unset portwine_exe
[[ "$PW_GUI_START" == "NOTEBOOK" ]] && unset PW_YAD_FORM_TAB
@ -6030,9 +6136,12 @@ portwine_missing_shortcut () {
if [[ $? -eq "0" ]] ; then
portwine_delete_shortcut
fi
if [[ -n "$TAB_MAIN_MENU" ]]
then restart_pp
else exit 0
if [[ -n $AI_SKIP ]]
then
unset TAB_MAIN_MENU
restart_pp
else
exit 0
fi
}

View File

@ -5,6 +5,10 @@
#####################examples###########################
export PW_WINDOWS_VER="10"
export PW_VULKAN_USE="2"
export PW_WINE_USE=PROTON_LG
export PW_WINE_USE="PROTON_LG"
export PW_PREFIX_NAME="BLACK_DESERT_ONLINE"
# export DISABLE_CP_DEFPFX=1
export PORTPROTON_NAME="BlackDesertLauncher"
export FILE_DESCRIPTION="BlackDesertLauncher"
export WINE_DISABLE_KERNEL_WRITEWATCH="1"
export DXVK_CONFIG="dxgi.syncInterval=0"

View File

@ -0,0 +1,13 @@
#!/usr/bin/env bash
#Author: Dervart
#Saturn.exe
#Rating=1-5
if [[ "$LANGUAGE" == "ru" ]] ; then
export PW_COMMENT_DB="При сворачивании или переключении фокуса окна возможны вылеты игры.\nРекомендуется использовать GAMESCOPE, либо VIRTUAL_DESKTOP в настройках"
else
export PW_COMMENT_DB="When minimizing or switching the window focus, the game may crash.\nRecommended to use GAMESCOPE or VIRTUAL_DESKTOP in the SETTINGS"
fi
export PW_VULKAN_USE="2"
export PW_WINE_USE="WINE_LG"
export PW_PREFIX_NAME="NINSAR"
export PORTPROTON_NAME="Saturn"

View File

@ -10,9 +10,9 @@ export PW_PREFIX_NAME="BLACK_DESERT_ONLINE"
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/BlackDesert_Installer_RU.exe"
export LAUNCH_PARAMETERS="/silent"
export PW_MUST_HAVE_DLL=""
export PW_VULKAN_USE=1
export PW_USE_D3D_EXTRAS=1
export PW_WINE_USE=PROTON_LG
export PW_VULKAN_USE="1"
export PW_USE_D3D_EXTRAS="1"
export PW_WINE_USE="PROTON_LG"
# export DISABLE_CP_DEFPFX=1
pw_clear_pfx

View File

@ -18,7 +18,7 @@ then
pw_kill_autostart launcher.exe 3 &
pw_run "${PW_AUTOINSTALL_EXE}"
portwine_exe="${WINEPREFIX}/drive_c/users/$USER/AppData/Local/Crossout/launcher.exe"
pw_run reg add "HKEY_CURRENT_USER\Software\Wine\X11 Driver" /v "Decorated" /t REG_SZ /d "N" /f
get_and_set_reg_file --add 'Software\Wine\X11' 'Decorated' 'REG_SZ' "N" "user"
pw_create_unique_exe "crossout_launcher_pp"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"

View File

@ -20,7 +20,7 @@ then
export PATH_TO_GAME="${PW_USER_TEMP}"
pw_run "${PW_AUTOINSTALL_EXE}"
export portwine_exe="$WINEPREFIX/drive_c/Program Files/HoYoPlay/launcher.exe"
pw_run reg add "HKEY_CURRENT_USER\Software\Wine\X11 Driver" /v "Decorated" /t REG_SZ /d "N" /f
get_and_set_reg_file --add 'Software\Wine\X11' 'Decorated' 'REG_SZ' "N" "user"
pw_create_unique_exe "hoyoplay_launcher_pp"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"

View File

@ -0,0 +1,25 @@
#!/usr/bin/env bash
# Author: Dervart
# type: games
# name: Saturn
# image: saturn
# info_en:
# info_ru:
########################################################################
export PW_PREFIX_NAME="NINSAR"
export PW_WINE_USE="WINE_LG"
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/saturn.zip"
start_portwine
if try_download "https://cdn-s3.quadrosim.ru/saturn/saturn.zip" "${PW_AUTOINSTALL_EXE}" no_mirror
then
pw_start_progress_bar_install_game "Saturn."
"$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files (x86)/saturn"
portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/saturn/Saturn.exe"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine
pw_stop_progress_bar
export PORTWINE_CREATE_SHORTCUT_NAME="Saturn"
portwine_create_shortcut
fi
stop_portwine

View File

@ -52,25 +52,21 @@ if [[ "${1,,}" =~ .ppack$ ]] ; then
export PW_NO_RESTART_PPDB="1"
export PW_DISABLED_CREATE_DB="1"
portwine_exe="$1"
elif [[ -f "$1" ]] ; then
portwine_exe="$(realpath -s "$1")"
elif [[ -f "$OLDPWD/$1" ]] \
&& [[ "${1,,}" =~ (.exe$|.bat$|.msi$|.reg$) ]]
then
portwine_exe="$(realpath -s "$OLDPWD/$1")"
elif [[ "$1" =~ (^--debug$|^--launch$|^--edit-db$) ]] \
&& [[ -f "$2" ]]
then
portwine_exe="$(realpath -s "$2")"
elif [[ "$1" =~ (^--debug$|^--launch$|^--edit-db$) ]] \
&& [[ -f "$OLDPWD/$2" ]] \
&& [[ "${2,,}" =~ (.exe$|.bat$|.msi$|.reg$) ]]
then
portwine_exe="$(realpath -s "$OLDPWD/$2")"
elif [[ "${1,,}" =~ (.exe$|.bat$|.msi$|.reg$) ]]
then
portwine_exe="$1"
MISSING_DESKTOP_FILE="1"
elif [[ "${1,,}" =~ .(exe|bat|msi|reg)$ ]] ; then
if [[ -f "$1" ]] ; then
portwine_exe="$(realpath -s "$1")"
elif [[ -f "$OLDPWD/$1" ]] ; then
portwine_exe="$(realpath -s "$OLDPWD/$1")"
elif [[ ! -f "$1" ]] ; then
portwine_exe="$1"
MISSING_DESKTOP_FILE="1"
fi
elif [[ "$1" =~ ^--(debug|launch|edit-db)$ && "${2,,}" =~ .(exe|bat|msi|reg)$ ]] ; then
if [[ -f "$2" ]] ; then
portwine_exe="$(realpath -s "$2")"
elif [[ -f "$OLDPWD/$2" ]] ; then
portwine_exe="$(realpath -s "$OLDPWD/$2")"
fi
fi
export portwine_exe
@ -248,6 +244,17 @@ if [[ ! $PW_GUI_START =~ (PANED|NOTEBOOK) ]] ; then
export PW_GUI_START="NOTEBOOK"
fi
# TODO:fixes_after_update
if fixes_after_update "2371: Reset PW_WINE_DPI_VALUE in user.conf" ; then
sed -i '/export PW_WINE_DPI_VALUE=/d' "$USER_CONF"
unset PW_WINE_DPI_VALUE
fi
# choose wine dpi default
if [[ -z $PW_WINE_DPI_VALUE ]] ; then
echo 'export PW_WINE_DPI_VALUE="recommended"' >> "$USER_CONF"
export PW_WINE_DPI_VALUE="recommended"
fi
if check_flatpak ; then
if check_gamescope_session
then PW_TERM="env LANG=C xterm -fullscreen -bg black -fg white -e"
@ -702,7 +709,13 @@ else
PW_GENERATE_BUTTONS+="--field= $(print_wrapped "${PW_DESKTOP_FILES_SHOW//".desktop"/""}" "25" "...")!${PW_NAME_D_ICON_48}.png!:FBTNR%@bash -c \"button_click --desktop "${PW_DESKTOP_FILES// /#@_@#}"\"%"
done
MAIN_GUI_ROWS="$(( ( AMOUNT_GENERATE_BUTTONS + 1 ) / MAIN_GUI_COLUMNS + 1 ))"
if [[ $AMOUNT_GENERATE_BUTTONS == 1 ]] ; then
MAIN_GUI_ROWS=1
elif (( AMOUNT_GENERATE_BUTTONS <= 5 )) ; then
MAIN_GUI_ROWS=2
else
MAIN_GUI_ROWS="$(( ( AMOUNT_GENERATE_BUTTONS + 1 ) / MAIN_GUI_COLUMNS + 1 ))"
fi
if [[ -z $PW_DESKTOP_FILES ]]
then export PW_GUI_SORT_TABS=(1 2 3 4 5)

View File

@ -1,6 +1,6 @@
#!/usr/bin/env bash
#Author: Castro-Fidel (linux-gaming.ru)
#SCRIPTS_NEXT_VERSION=2370
#SCRIPTS_NEXT_VERSION=2371
#SCRIPTS_STABLE_VERSION=2360
########################################################################
export AI_TOP_GAMES="PW_LGC PW_VKPLAY PW_EPIC PW_BATTLE_NET PW_WORLD_OF_SEA_BATTLE PW_RUSSIAN_FISHING PW_HO_YO_PLAY PW_FARLIGHT84 PW_WARFRAME PW_WGC PW_UBISOFT"
@ -131,6 +131,7 @@ export PW_GS_REALTIME_SCHEDULING="0"
export PW_GS_BACKEND_SDL="0"
export PW_GS_SDL_VIDEODRIVER_X11="0"
export PW_GS_MANGOAPP="0"
export PW_GS_CURSOR_SCALE_HEIGHT="0"
###PREFIX_VERSION###
export DOTPFX_VER="48v7"
export DEFPFX_VER="v1"