From 7fbfc75b25b77e7c495954dfd9640370855e7eb1 Mon Sep 17 00:00:00 2001 From: Htylol Date: Sun, 6 Oct 2024 10:43:43 +0500 Subject: [PATCH] Fixed bug on native version PP --- data_from_portwine/scripts/functions_helper | 8 +++++--- .../scripts/pw_autoinstall/PW_STALCRAFT | 4 ++-- data_from_portwine/scripts/start.sh | 14 ++++++++++---- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index 7d4095a6..5b2f7523 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -1321,13 +1321,15 @@ stop_portwine () { add_in_stop_portwine debug_timer --end -s "PW_TIME_IN_GAME" - #PW_TIME_IN_GAME=$(( (PW_TIME_IN_GAME / 60000) )) # в минутах PW_TIME_IN_GAME=$(( PW_TIME_IN_GAME / 1000 )) # в секундах + # В году 31536000 секунд. + # Bash у меня ещё работает с таким числом 999999999999999999999999999999999999999999999999 # Поиск нужного .desktop файла по $portwine_exe, чтобы внести изменения в него. for desktop_file in "${PORT_WINE_PATH}"/* ; do - if [[ $desktop_file =~ .desktop ]] ; then - if [[ ! $desktop_file =~ (/PortProton|/readme) ]] ; then + desktop_file_new="${desktop_file//"${PORT_WINE_PATH}/"/}" + if [[ $desktop_file_new =~ .desktop ]] ; then + if [[ ! $desktop_file_new =~ (PortProton|readme) ]] ; then while IFS= read -r line ; do if [[ $line =~ ^Exec= ]] ; then if check_flatpak ; then diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_STALCRAFT b/data_from_portwine/scripts/pw_autoinstall/PW_STALCRAFT index 155b3682..50426ed3 100755 --- a/data_from_portwine/scripts/pw_autoinstall/PW_STALCRAFT +++ b/data_from_portwine/scripts/pw_autoinstall/PW_STALCRAFT @@ -1,8 +1,8 @@ #!/usr/bin/env bash # Author: Castro-Fidel (linux-gaming.ru) # type: games -# name: Star Conflict -# image: starconflict +# name: STALCRAFT +# image: stalcraft # info_en: # info_ru: ######################################################################## diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh index 6b3be892..93d472f6 100755 --- a/data_from_portwine/scripts/start.sh +++ b/data_from_portwine/scripts/start.sh @@ -612,8 +612,9 @@ else # Поиск .desktop файлов AMOUNT_GENERATE_BUTTONS="0" for desktop_file in "${PORT_WINE_PATH}"/* ; do - if [[ $desktop_file =~ .desktop ]] ; then - if [[ ! $desktop_file =~ (/PortProton|/readme) ]] ; then + desktop_file_new="${desktop_file//"${PORT_WINE_PATH}/"/}" + if [[ $desktop_file_new =~ .desktop ]] ; then + if [[ ! $desktop_file_new =~ (PortProton|readme) ]] ; then while IFS= read -r line ; do [[ $line =~ ^Exec= ]] && PW_NAME_D_ICON["$AMOUNT_GENERATE_BUTTONS"]="${line//Exec=/}" [[ $line =~ ^Icon= ]] && PW_ICON_PATH["$AMOUNT_GENERATE_BUTTONS"]="${line//Icon=/}" @@ -622,12 +623,17 @@ else PW_GAME_TIME["$AMOUNT_GENERATE_BUTTONS"]="${line//#Time=/}" fi done < "$desktop_file" - PW_ALL_DF["$AMOUNT_GENERATE_BUTTONS"]="${desktop_file//"${PORT_WINE_PATH}"\//}" + PW_ALL_DF["$AMOUNT_GENERATE_BUTTONS"]="$desktop_file_new" # Чтобы новый ярлык показало первым при первом запуске, потом уже по времени if [[ $WITH_TIME != 1 ]] ; then echo "#Time=0" >> "$desktop_file" PW_AMOUNT_NO_TIME+=($AMOUNT_GENERATE_BUTTONS) else + if [[ ! ${PW_GAME_TIME["$AMOUNT_GENERATE_BUTTONS"]} =~ [0-9]+ ]] ; then + sed -i '/^#Time=/d' "$desktop_file" + echo "#Time=0" >> "$desktop_file" + PW_GAME_TIME["$AMOUNT_GENERATE_BUTTONS"]="0" + fi PW_AMOUNT_WITH_TIME+=($AMOUNT_GENERATE_BUTTONS) fi unset WITH_TIME @@ -636,7 +642,7 @@ else fi done - # Переопределение массивов в зависимости от PW_GAME_TIME, от большего значения к меньшему. + # Переопределение элементов в массивах в зависимости от PW_GAME_TIME, от большего значения к меньшему. # 10 миллисекунд на 40 .desktop файлов, работает быстро for i in "${!PW_GAME_TIME[@]}" ; do for j in "${!PW_GAME_TIME[@]}" ; do