From 82f6e7cf6d3eb0696a1ab0b231e1b37aaa00d97f Mon Sep 17 00:00:00 2001
From: Boria138 <boriabloger@protonmail.com>
Date: Mon, 29 Jan 2024 21:10:40 +0600
Subject: [PATCH 1/4] Added a more universal way of detecting a desktop folder

---
 data_from_portwine/scripts/zen_yad_gui | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/data_from_portwine/scripts/zen_yad_gui b/data_from_portwine/scripts/zen_yad_gui
index e97f305a..cc8b1d27 100755
--- a/data_from_portwine/scripts/zen_yad_gui
+++ b/data_from_portwine/scripts/zen_yad_gui
@@ -676,6 +676,8 @@ portwine_create_shortcut () {
                 cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" "${HOME}/Desktop/"
             elif [[ -d "${HOME}/Рабочий стол" ]] ; then
                 cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" "${HOME}/Рабочий стол/"
+            elif [[ $(xdg-user-dir DESKTOP) ]] ; then
+                cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" "$(xdg-user-dir DESKTOP)"
             fi
         fi
 

From 480480e60fc31813b79e11154329cee4e286a9b9 Mon Sep 17 00:00:00 2001
From: Boria138 <boriabloger@protonmail.com>
Date: Tue, 30 Jan 2024 18:55:26 +0600
Subject: [PATCH 2/4] Added reset mangohud settings if fps_only is used

---
 data_from_portwine/scripts/lang        | 2 ++
 data_from_portwine/scripts/zen_yad_gui | 8 +++++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/data_from_portwine/scripts/lang b/data_from_portwine/scripts/lang
index f7b6e10d..329c919f 100755
--- a/data_from_portwine/scripts/lang
+++ b/data_from_portwine/scripts/lang
@@ -265,6 +265,7 @@ if [[ "${update_loc}" == "RUS" ]] ; then
 	export PW_MH_vkbasalt_INFO='Показать включён ли vkBasalt'
 	export PW_MH_vram_INFO='Отображение использования VRAM'
 	export PW_MH_vulkan_driver_INFO='Отображает используемый драйвер vulkan (radv/amdgpu-pro/amdvlk)'
+	export PW_MH_frametime='Отображение времени кадра рядом FPS'
 	export PW_MH_wine_INFO='Показать используемую версию Wine или Proton'
 
 	export PW_PFX_BACKUP_INFO="Внимание! Не передавайте резевную копию третьим лицам, есть риск потери аккаунтов"
@@ -667,6 +668,7 @@ elif [[ "${update_loc}" == "ENG" ]] ; then
 	export PW_MH_vkbasalt_INFO='Show if vkBasalt is on'
 	export PW_MH_vram_INFO='Display system VRAM usage'
 	export PW_MH_vulkan_driver_INFO='Display used Vulkan driver (radv/amdgpu-pro/amdvlk)'
+	export PW_MH_frametime='Display frametime next to FPS text'
 	export PW_MH_wine_INFO='Show current Wine or Proton version in use'
 
 	export PW_PFX_BACKUP_INFO="Attention! Do not pass the resev copy to third parties, there is a risk of losing accounts"
diff --git a/data_from_portwine/scripts/zen_yad_gui b/data_from_portwine/scripts/zen_yad_gui
index e97f305a..16988eb9 100755
--- a/data_from_portwine/scripts/zen_yad_gui
+++ b/data_from_portwine/scripts/zen_yad_gui
@@ -498,7 +498,7 @@ gui_MangoHud () {
     LIST_MH=(
         arch battery battery_icon battery_time battery_watt core_bars core_load
         cpu_mhz cpu_power cpu_temp device_battery_icon engine_short_names
-        engine_version exec_name fcat fps_metrics fps_only frame_count full
+        engine_version exec_name fcat fps_metrics fps_only frame_count frametime full
         gamemode gpu_core_clock gpu_fan gpu_junction_temp gpu_mem_clock
         gpu_mem_temp gpu_name gpu_power gpu_temp gpu_voltage histogram horizontal
         horizontal_stretch hud_compact hud_no_margin io_read io_write no_display
@@ -593,6 +593,12 @@ gui_MangoHud () {
     elif [[ "${FPS_LIMIT}" == "disabled" ]]
     then export GUI_MH_RESULT="$(echo ${GUI_MH_RESULT} | sed "s/,fps_limit=${FPS_LIMIT_VAR}//" | sed "s/,fps_limit=disabled//")"
     fi
+
+    if [[ "${GUI_MH_RESULT}" =~ "fps_only" ]]; then
+        export GUI_MH_RESULT="fps_only"
+        print_info "In the MangoHud config fps_only is detected all settings are reseted"
+    fi
+    
     export MANGOHUD_CONFIG="${GUI_MH_RESULT}"
 
     edit_db_from_gui MANGOHUD_CONFIG PW_MANGOHUD FPS_LIMIT

From a94b014ac7812987536581672a04d231e750db0d Mon Sep 17 00:00:00 2001
From: Mikhail Tergoev <fidel@altlinux.org>
Date: Tue, 30 Jan 2024 18:35:37 +0300
Subject: [PATCH 3/4] fix Project64 and drop DuckStation, ScummVM, RPCS3

---
 data_from_portwine/changelog_rus                  |  5 +++++
 data_from_portwine/scripts/lang                   |  4 ++--
 .../scripts/pw_autoinstall/PW_CROSSOUT            |  3 ++-
 .../scripts/pw_autoinstall/PW_PROJECT64           | 15 ++++++++++++---
 data_from_portwine/scripts/start.sh               |  9 +++++----
 5 files changed, 26 insertions(+), 10 deletions(-)

diff --git a/data_from_portwine/changelog_rus b/data_from_portwine/changelog_rus
index 1df10044..1c237b7d 100755
--- a/data_from_portwine/changelog_rus
+++ b/data_from_portwine/changelog_rus
@@ -2,6 +2,11 @@
 -----------------------------------------
 История изменений:
 
+* добавлено уникальное имя для запуска Crossout (требуется повторный запуск автоустановки)
+* небольшие улучшения локализации
+* исправлена установка эмулятора Project64
+* удалены эмуляторы DuckStation, ScummVM, RPCS3 (рекомендуется использовать нативные версии для Linux)
+
 ###Scripts version 2248### Дата: 26.01.2024 / Размер скачиваемого обновления: 8 мегабайт
 * создание ярлыка в "МЕНЮ -> Игры" отделены от создания на "Рабочем столе"
 * добавлено условие использования шрифтов из WINE Proton, только если нет оригинальных шрифтов в префиксе
diff --git a/data_from_portwine/scripts/lang b/data_from_portwine/scripts/lang
index f7b6e10d..3ca09b2a 100755
--- a/data_from_portwine/scripts/lang
+++ b/data_from_portwine/scripts/lang
@@ -354,7 +354,7 @@ if [[ "${update_loc}" == "RUS" ]] ; then
 	export loc_gui_amd_vulkan_select_help="Выбор какая реализация vulkan будет использоваться для запуска игры"
 
 	export loc_gui_gpu_select="Выбрать видеокарту для запуска игры (в user.conf)"
-	export loc_gui_gpu_select_help="Выбор какая видеокарта будет использоваться для запуска игры (используется для всех запускаемых игр и программ в ${portname}, а так же не работает с gamescope)"
+	export loc_gui_gpu_select_help="Выбор какая видеокарта будет использоваться для запуска игры (используется для всех запускаемых игр и программ в ${portname}.)"
 
 	export loc_gui_check_new_wine="Проверяем новые версии WINE на GitHub"
 	export loc_gui_check_new_wine_error="Не удается установить соединение с GitHub\nдля проверки новых версии WINE."
@@ -756,7 +756,7 @@ A brief instruction:
 	export loc_gui_amd_vulkan_select_help="Choosing which implementation of vulkan will be used to run the game"
 
 	export loc_gui_gpu_select="Choose a graphics card to run the game (in user.conf)"
-	export loc_gui_gpu_select_help="Select which video card will be used to run the game (used for all running games and programs in ${portname}, and also does not work with gamescope)"
+	export loc_gui_gpu_select_help="Select which video card will be used to run the game (used for all running games and programs in ${portname})"
 
 	export loc_gui_check_new_wine="Check new version WINE from GitHub"
 	export loc_gui_check_new_wine_error="Error: check wine from github."
diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_CROSSOUT b/data_from_portwine/scripts/pw_autoinstall/PW_CROSSOUT
index bb94ffff..acb22cec 100644
--- a/data_from_portwine/scripts/pw_autoinstall/PW_CROSSOUT
+++ b/data_from_portwine/scripts/pw_autoinstall/PW_CROSSOUT
@@ -3,6 +3,7 @@
 ########################################################################
 export LAUNCH_PARAMETERS=("/VERYSILENT")
 export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/crossout.exe"
+export PORTWINE_CREATE_SHORTCUT_NAME="Crossout"
 # export PW_PREFIX_NAME=DOTNET
 
 start_portwine
@@ -12,11 +13,11 @@ 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_create_unique_exe "crossout_launcher_pp"
     try_remove_file "${PW_AUTOINSTALL_EXE}"
     try_remove_file "${portwine_exe}.ppdb"
     kill_portwine
     pw_stop_progress_bar
-    export PORTWINE_CREATE_SHORTCUT_NAME="Crossout"
     portwine_create_shortcut
 fi
 stop_portwine
diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_PROJECT64 b/data_from_portwine/scripts/pw_autoinstall/PW_PROJECT64
index e8ddb2d3..ca2ca77b 100755
--- a/data_from_portwine/scripts/pw_autoinstall/PW_PROJECT64
+++ b/data_from_portwine/scripts/pw_autoinstall/PW_PROJECT64
@@ -1,11 +1,21 @@
 #!/usr/bin/env bash
 # Author: chal55rus (Sergey P.)
 ########################################################################
+PR64_VER="$(curl https://www.pj64-emu.com/public-releases | grep 'installer' | head -n 1 \
+| awk -F'/project64' '{print $2}' \
+| awk -F'installer"' '{print $1}')"
+[[ "${PR64_VER}" != *-3-* ]] && zenity_error "ERROR: Get the Project64 version." && exit 1
+
 export LAUNCH_PARAMETERS=("/VERYSILENT")
-export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Setup Project64 3.0.1-5664-2df3434.exe"
+export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Project64${PR64_VER}setup.exe"
+export PORTWINE_CREATE_SHORTCUT_NAME="Project64"
+
 start_portwine
-if try_download_game "https://pj64-emu.com/file/setup-project64-3-0-0-5632-f83bee9/" "${PW_AUTOINSTALL_EXE}"
+if try_download_game "https://www.pj64-emu.com/download/project64${PR64_VER}installer" "${PW_AUTOINSTALL_EXE}"
 then
+    GET_URL_POSTFIX="$(cat "${PW_AUTOINSTALL_EXE}" | grep "Did your download not start?" | awk -F"$PR64_VER" '{print $2}' | awk -F'/' '{print $1}')"
+    try_remove_file "${PW_AUTOINSTALL_EXE}"
+    try_download_game "https://www.pj64-emu.com/file/setup-project64${PR64_VER}${GET_URL_POSTFIX}/" "${PW_AUTOINSTALL_EXE}"
     pw_start_progress_bar_block "${loc_gui_installing_the} Project64. ${loc_gui_please_wait} "
     pw_run "${PW_AUTOINSTALL_EXE}"
     portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Project64 3.0/Project64.exe"
@@ -13,7 +23,6 @@ then
     try_remove_file "${portwine_exe}.ppdb"
     kill_portwine
     pw_stop_progress_bar
-    export PORTWINE_CREATE_SHORTCUT_NAME="Project64"
     portwine_create_shortcut
 fi
 stop_portwine
diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh
index 25c211a7..8b80b25c 100755
--- a/data_from_portwine/scripts/start.sh
+++ b/data_from_portwine/scripts/start.sh
@@ -780,12 +780,10 @@ else
     "${pw_yad_v12_3}" --plug=$KEY --tabnum=${PW_GUI_SORT_TABS[1]} --form --columns=3 --align-buttons --keep-icon-size --scroll  \
     --field="   Dolphin 5.0"!"$PW_GUI_ICON_PATH/dolphin.png"!"${loc_dolphin}":"FBTN" '@bash -c "button_click PW_DOLPHIN"' \
     --field="   MAME"!"$PW_GUI_ICON_PATH/mame.png"!"${loc_mame}":"FBTN" '@bash -c "button_click PW_MAME"' \
-    --field="   ScummVM"!"$PW_GUI_ICON_PATH/scummvm.png"!"${loc_scummvm}":"FBTN" '@bash -c "button_click PW_SCUMMVM"' \
     --field="   RetroArch"!"$PW_GUI_ICON_PATH/retroarch.png"!"${loc_retroarch}":"FBTN" '@bash -c "button_click PW_RETROARCH"' \
     --field="   PPSSPP Windows"!"$PW_GUI_ICON_PATH/ppsspp.png"!"${loc_ppsspp_windows}":"FBTN" '@bash -c "button_click PW_PPSSPP"' \
     --field="   Citra"!"$PW_GUI_ICON_PATH/citra.png"!"${loc_citra}":"FBTN" '@bash -c "button_click PW_CITRA"' \
     --field="   Cemu"!"$PW_GUI_ICON_PATH/cemu.png"!"${loc_cemu}":"FBTN" '@bash -c "button_click PW_CEMU"' \
-    --field="   DuckStation"!"$PW_GUI_ICON_PATH/duckstation.png"!"${loc_duckstation}":"FBTN" '@bash -c "button_click PW_DUCKSTATION"' \
     --field="   ePSXe"!"$PW_GUI_ICON_PATH/epsxe.png"!"${loc_epsxe}":"FBTN" '@bash -c "button_click PW_EPSXE"' \
     --field="   Project64"!"$PW_GUI_ICON_PATH/project64.png"!"${loc_project64}":"FBTN" '@bash -c "button_click PW_PROJECT64"' \
     --field="   VBA-M"!"$PW_GUI_ICON_PATH/vba-m.png"!"${loc_vba_m}":"FBTN" '@bash -c "button_click PW_VBA-M"' \
@@ -793,8 +791,7 @@ else
     --field="   Xenia"!"$PW_GUI_ICON_PATH/xenia.png"!"${loc_xenia}":"FBTN" '@bash -c "button_click PW_XENIA"' \
     --field="   FCEUX"!"$PW_GUI_ICON_PATH/fceux.png"!"${loc_fceux}":"FBTN" '@bash -c "button_click PW_FCEUX"' \
     --field="   xemu"!"$PW_GUI_ICON_PATH/xemu.png"!"${loc_xemu}":"FBTN" '@bash -c "button_click PW_XEMU"' \
-    --field="   Demul"!"$PW_GUI_ICON_PATH/demul.png"!"${loc_demul}":"FBTN" '@bash -c "button_click PW_DEMUL"' \
-    --field="   Rpcs3"!"$PW_GUI_ICON_PATH/rpcs3.png"!"${loc_rpcs3}":"FBTN" '@bash -c "button_click PW_RPCS3"' 2>/dev/null &
+    --field="   Demul"!"$PW_GUI_ICON_PATH/demul.png"!"${loc_demul}":"FBTN" '@bash -c "button_click PW_DEMUL"' 2>/dev/null &
 
     "${pw_yad_v12_3}" --plug=$KEY --tabnum=${PW_GUI_SORT_TABS[0]} --form --columns=3 --align-buttons --keep-icon-size --scroll \
     --field="   Lesta Game Center"!"$PW_GUI_ICON_PATH/lgc.png"!"":"FBTN" '@bash -c "button_click PW_LGC"' \
@@ -834,6 +831,10 @@ else
     # --field="   Bethesda.net Launcher"!"$PW_GUI_ICON_PATH/bethesda.png"!"":"FBTN" '@bash -c "button_click PW_BETHESDA"'
     # --field="   ROBLOX"!"$PW_GUI_ICON_PATH/roblox.png"!"":"FBTN" '@bash -c "button_click PW_ROBLOX"'
 
+    # --field="   DuckStation"!"$PW_GUI_ICON_PATH/duckstation.png"!"${loc_duckstation}":"FBTN" '@bash -c "button_click PW_DUCKSTATION"'
+    # --field="   ScummVM"!"$PW_GUI_ICON_PATH/scummvm.png"!"${loc_scummvm}":"FBTN" '@bash -c "button_click PW_SCUMMVM"'
+    # --field="   Rpcs3"!"$PW_GUI_ICON_PATH/rpcs3.png"!"${loc_rpcs3}":"FBTN" '@bash -c "button_click PW_RPCS3"'
+
     if  [[ `command -v wmctrl` ]] &>/dev/null ; then
         sleep 2
         while [[ $(pgrep -a yad_v12_3 | head -n 1 | awk '{print $1}' 2>/dev/null) ]] ; do

From 2169763824ac23ec3e114dcc4a6371ef0f3f82fb Mon Sep 17 00:00:00 2001
From: Mikhail Tergoev <fidel@altlinux.org>
Date: Tue, 30 Jan 2024 18:58:11 +0300
Subject: [PATCH 4/4] Scripts version 2249

---
 data_from_portwine/changelog_eng       | 7 +++++++
 data_from_portwine/changelog_rus       | 4 +++-
 data_from_portwine/scripts/var         | 2 +-
 data_from_portwine/scripts/zen_yad_gui | 5 +++--
 4 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/data_from_portwine/changelog_eng b/data_from_portwine/changelog_eng
index c5a8f252..3f5f2fa2 100755
--- a/data_from_portwine/changelog_eng
+++ b/data_from_portwine/changelog_eng
@@ -2,6 +2,13 @@ You can help us in the development of the project on the website: https://linux-
 ----------------------------------------
 Changelog:
 
+###Scripts version 2249### Date: 30.01.2024 / Download update size: 8 megabytes
+* added a unique name to launch Crossout (requires restarting the auto-installation)
+* fixed installation of the Project64 emulator
+* removed DuckStation, ScummVM, RPCS3 emulators (it is recommended to use native versions for Linux)
+* improved MANGOHUD configuration functions (thanks to Boria138)
+* minor additional localization and script improvements
+
 ###Scripts version 2248### Date: 26.01.2024 / Download update size: 8 megabytes
 * creating a shortcut in the "MENU -> Games" is separate from creating on the "Desktop"
 * added a condition for using fonts from WINE Proton only if there are no original fonts in the prefix
diff --git a/data_from_portwine/changelog_rus b/data_from_portwine/changelog_rus
index 1c237b7d..a0a16bf7 100755
--- a/data_from_portwine/changelog_rus
+++ b/data_from_portwine/changelog_rus
@@ -2,10 +2,12 @@
 -----------------------------------------
 История изменений:
 
+###Scripts version 2249### Дата: 30.01.2024 / Размер скачиваемого обновления: 8 мегабайт
 * добавлено уникальное имя для запуска Crossout (требуется повторный запуск автоустановки)
-* небольшие улучшения локализации
 * исправлена установка эмулятора Project64
 * удалены эмуляторы DuckStation, ScummVM, RPCS3 (рекомендуется использовать нативные версии для Linux)
+* улучшены функции настройки MANGOHUD (спасибо Boria138)
+* небольшие дополнительные улучшения локализации и скриптов
 
 ###Scripts version 2248### Дата: 26.01.2024 / Размер скачиваемого обновления: 8 мегабайт
 * создание ярлыка в "МЕНЮ -> Игры" отделены от создания на "Рабочем столе"
diff --git a/data_from_portwine/scripts/var b/data_from_portwine/scripts/var
index bdb76d98..2a8fb55b 100755
--- a/data_from_portwine/scripts/var
+++ b/data_from_portwine/scripts/var
@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 #Author: Castro-Fidel (linux-gaming.ru)
-#SCRIPTS_NEXT_VERSION=2248
+#SCRIPTS_NEXT_VERSION=2249
 ########################################################################
 export PW_MANGOHUD="0"
 export DEFAULT_MANGOHUD_CONFIG="cpu_stats,cpu_temp,cpu_mhz,gpu_stats,gpu_temp,gpu_core_clock,gpu_mem_clock,vulkan_driver,gpu_name,vram,ram,frame_timing=1,time,arch,wine,toggle_hud=Shift_R+F12,resolution,vkbasalt,gamemode"
diff --git a/data_from_portwine/scripts/zen_yad_gui b/data_from_portwine/scripts/zen_yad_gui
index 89176cb1..a5911a6e 100755
--- a/data_from_portwine/scripts/zen_yad_gui
+++ b/data_from_portwine/scripts/zen_yad_gui
@@ -498,7 +498,7 @@ gui_MangoHud () {
     LIST_MH=(
         arch battery battery_icon battery_time battery_watt core_bars core_load
         cpu_mhz cpu_power cpu_temp device_battery_icon engine_short_names
-        engine_version exec_name fcat fps_metrics fps_only frame_count frametime full
+        engine_version exec_name fcat fps_metrics frame_count frametime full
         gamemode gpu_core_clock gpu_fan gpu_junction_temp gpu_mem_clock
         gpu_mem_temp gpu_name gpu_power gpu_temp gpu_voltage histogram horizontal
         horizontal_stretch hud_compact hud_no_margin io_read io_write no_display
@@ -506,7 +506,8 @@ gui_MangoHud () {
         show_fps_limit swap temp_fahrenheit throttling_status throttling_status_graph
         time version vkbasalt vram vulkan_driver wine
     )
-
+    # fps_only
+    
     unset ADD_GUI_MH GUI_MH_RESULT
 
     GET_REFRESH_RATE="30!45!60!75!120!144!165!240"