From 625bc35ca4e20d7123fd4c2bbf12907635d613c4 Mon Sep 17 00:00:00 2001
From: Htylol <dixperm909@yandex.ru>
Date: Sat, 26 Oct 2024 21:03:04 +0500
Subject: [PATCH] Added NUMBER_OF_STARTS

---
 data_from_portwine/scripts/functions_helper | 25 ++++++++++++++++-----
 data_from_portwine/scripts/start.sh         |  2 +-
 2 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper
index 78734b9b..58efb8a1 100755
--- a/data_from_portwine/scripts/functions_helper
+++ b/data_from_portwine/scripts/functions_helper
@@ -882,33 +882,48 @@ search_desktop_file () {
         fi
     done
     IFS="$orig_IFS"
-    if [[ $PW_NEW_DESKTOP == 1 ]] && [[ ${line2[3]} != NEW_DESKTOP ]] ; then
+    # Проверка новых десктоп файлов, чтобы их можно было сортировать первыми при первом создании в главном меню
+    [[ ${line2[3]} == NEW_DESKTOP ]] && unset PW_NEW_DESKTOP
+    if [[ $PW_NEW_DESKTOP == 1 ]]
+    then
         if [[ -n $TIME_CURRENT ]] ; then
-            sed -i "s|${line2[1]} ${line2[2]} ${line2[3]}|${line2[1]} ${line2[2]} NEW_DESKTOP|g" "$PW_DATABASE_PATH/times_current"
+            sed -i "s|${line2[1]} ${line2[2]} OLD_DESKTOP|${line2[1]} ${line2[2]} NEW_DESKTOP|" "$PW_DATABASE_PATH/times_current"
         else
             TIME_CURRENT=0
             echo "${portwine_exe// /#@_@#} $ENTRY_POINT $TIME_CURRENT NEW_DESKTOP" >> "$PW_DATABASE_PATH/times_current"
         fi
     fi
-    unset PW_NEW_DESKTOP
+    # Когда приложение было запущено и завершено
     if [[ -n $PW_TIME_IN_GAME ]] ; then
+        # Когда есть предыдущее время
         if [[ -n $TIME_CURRENT ]] ; then
             TIME_TOTAL=$(( TIME_CURRENT + PW_TIME_IN_GAME ))
-            sed -i "s|${line2[1]} ${line2[2]}|${line2[1]} $TIME_TOTAL|g" "$PW_DATABASE_PATH/times_current"
+            sed -i "s|${line2[1]} ${line2[2]}|${line2[1]} $TIME_TOTAL|" "$PW_DATABASE_PATH/times_current"
         else
+            # Когда только запустили приложение первый раз
             TIME_CURRENT=0
             TIME_TOTAL=$(( $TIME_CURRENT + PW_TIME_IN_GAME ))
             echo "${portwine_exe// /#@_@#} $ENTRY_POINT $TIME_TOTAL OLD_DESKTOP" >> "$PW_DATABASE_PATH/times_current"
         fi
+        # Здесь добавляются новые линии для статистики по аналогии, к примеру ${line2[4]}
+        if [[ -z ${line2[4]} ]] ; then
+            line2[4]=0
+            sed -i "s|${line2[1]} \(.*\)|${line2[1]} \1 ${line2[4]}|" "$PW_DATABASE_PATH/times_current"
+        fi
+        local NUMBER_OF_STARTS
+        NUMBER_OF_STARTS=$(( ${line2[4]} + 1 ))
+        sed -i "s|${line2[1]} \(.*\) ${line2[4]}|${line2[1]} \1 $NUMBER_OF_STARTS|" "$PW_DATABASE_PATH/times_current"
     else
+        # Ремонтирует путь на новый, если вдруг путь до .exe файла битый или изменился, но .exe файл он опознал
         if [[ $ENTRY_POINT_FIND == 1 ]] ; then
             TIME_CURRENT=${line2[2]}
             if [[ -n $PW_TIME_IN_GAME ]]
             then TIME_TOTAL=$(( TIME_CURRENT + PW_TIME_IN_GAME ))
             else TIME_TOTAL=$TIME_CURRENT
             fi
-            sed -i "s|${line2[0]} ${line2[1]} ${line2[2]}|${portwine_exe// /#@_@#} ${line2[1]} $TIME_TOTAL|g" "$PW_DATABASE_PATH/times_current"
+            sed -i "s|${line2[0]} ${line2[1]} $TIME_CURRENT|${portwine_exe// /#@_@#} ${line2[1]} $TIME_TOTAL|" "$PW_DATABASE_PATH/times_current"
         else
+            # Когда .exe файл не был запущен или не был создан ярлык, чтобы отображало менее минуты (чтобы визуально было понятно, то что настройка включена)
             TIME_CURRENT=0
         fi
     fi
diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh
index 9092623f..19e51362 100755
--- a/data_from_portwine/scripts/start.sh
+++ b/data_from_portwine/scripts/start.sh
@@ -647,7 +647,7 @@ else
                 done < "$PW_DATABASE_PATH/times_current"
                 if [[ $SORT_WITH_TIME == enabled ]] && [[ $NEW_DESKTOP == 1 ]] ; then
                     unset NEW_DESKTOP
-                    sed -i "s/${line2[1]} ${line2[2]} ${line2[3]}/${line2[1]} ${line2[2]} OLD_DESKTOP/" "$PW_DATABASE_PATH/times_current"
+                    sed -i "s/${line2[1]} ${line2[2]} NEW_DESKTOP/${line2[1]} ${line2[2]} OLD_DESKTOP/" "$PW_DATABASE_PATH/times_current"
                     PW_AMOUNT_NEW_DESKTOP+=($AMOUNT_GENERATE_BUTTONS)
                 else
                     PW_AMOUNT_OLD_DESKTOP+=($AMOUNT_GENERATE_BUTTONS)