diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index 78734b9..58efb8a 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 9092623..19e5136 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)