github Matteo842/SaveState 1.3.6

latest releases: v2.5.0, v2.4.2, v2.4.1b...
10 months ago

SaveState v1.3.6 - Heuristic Configuration, Performance & UI Refinements

This release centralizes heuristic configurations, significantly expands detection lists, improves performance, enhances UI consistency for date display, and fixes several bugs including a critical one affecting save detection.

Changes:

Improved:

  • Centralized Heuristic Configuration: All lists influencing the save path heuristic search (COMMON_SAVE_SUBDIRS, COMMON_PUBLISHERS, COMMON_SAVE_EXTENSIONS, COMMON_SAVE_FILENAMES, SIMILARITY_IGNORE_WORDS, BANNED_FOLDER_NAMES_LOWER) are now correctly defined in config.py for easier customization, instead of relying on internal defaults in core_logic.py.
  • Expanded Heuristic Lists: Significantly expanded the default contents of all heuristic configuration lists in config.py (Publishers, Save Subdirs, Banned Folders, Save Extensions, Save Filenames, Ignore Words) based on common patterns and research, increasing the likelihood of finding save paths and avoiding irrelevant folders.
  • Backup List Display: Improved the display of backups in "Manage Backups" and "Restore Backup" dialogs:
    • Removed the redundant timestamp suffix (_YYYYMMDD_HHMMSS) from the displayed filename.
    • Implemented locale-aware date formatting (using QLocale) to match the format used in the main profile table (e.g., DD/MM/YYYY for Italian, MM/DD/YYYY for English).

Fixed:

  • Save Detection Regression: Fixed a critical issue where the heuristic search could fail to find correct save paths (like for Deep Rock Galactic) because the common save subdirectory list (COMMON_SAVE_SUBDIRS) was not being loaded correctly from config.py (it was missing from the file).
  • Potential Error during Heuristic Search: Removed a potential NameError that could occur during the install directory walk due to incorrect placement/usage of a debug variable in previous iterations.

Internal / Refactoring:

  • Performance Optimization: Implemented performance improvements in core_logic.py's heuristic functions (guess_save_path, final_sort_key) by replacing repeated list comprehensions and lookups with more efficient set lookups for abbreviations and common publishers. Also optimized os.path.basename calls within the sorting key function.
  • Code Cleanup: Removed the unused appid variable from the final_sort_key function.
  • Code Cleanup: Simplified the configuration loading logic in guess_save_path by removing the no longer necessary except AttributeError block that contained outdated default definitions.
  • Code Cleanup: Removed temporary debug logging statements added during troubleshooting.

Don't miss a new SaveState release

NewReleases is sending notifications on new releases.