github Matteo842/SaveState 1.3.5

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

NOT WORKING AS INTENDED USE NEXT OR PREVIOUS RELEASE INSTEAD

SaveState v1.3.5 - Enhanced Save Path Detection & Fixes

This release introduces significant improvements to the save path detection logic, particularly for Steam games, adds missing visual feedback, and refines profile name handling.

Changes:

  • Improved: Heuristic Save Path Detection (Steam Games)

    • The save path guessing logic (guess_save_path) now leverages the list of all installed Steam games.
    • When evaluating potential save folders (especially those derived from AppIDs or common names), the system now compares the folder name against the names of other installed Steam games using fuzzy matching (thefuzz library).
    • This significantly reduces the chance of incorrectly suggesting a save folder that belongs to a different installed game, improving the accuracy of automatic path detection.
    • Scoring logic (final_sort_key) has been adjusted to incorporate these cross-game checks.
  • Fixed: Progress Indicator for Steam Search

    • Resolved the issue where no progress indicator was shown during the save path search initiated via the "Manage Steam Games" dialog.
    • An indeterminate progress bar now correctly appears in the status bar during this operation, providing visual feedback consistent with Drag & Drop search and Backup/Restore operations.
  • Improved: Profile Name Sanitization

    • Refined the sanitize_foldername function to preserve internal periods (.) within profile names (e.g., allowing names like "F.I.S.T.", "Minecraft 1.21.4").
    • The function still removes leading/trailing periods and other characters invalid for folder names (<>:"/\\|?*).
  • Fixed: Background Thread Stability

    • Addressed potential crashes (QThread: Destroyed while thread...) that could occur during background save path searches.
    • Ensured the main application maintains a proper reference to active background threads until they signal completion.
  • Refactoring: Steam Configuration Flow

    • Simplified the SteamDialog's role to primarily selecting a game.
    • Moved the responsibilities for handling Steam User ID selection, initiating the background search, managing the fade effect, handling search results, and showing the path confirmation dialog to the main window (MainWindow) using signals and slots for better decoupling and lifecycle management.
  • Internal:

    • Corrected argument passing for QInputDialog.getItem calls moved during refactoring.
    • Minor logging improvements.

Don't miss a new SaveState release

NewReleases is sending notifications on new releases.