Releases: Matteo842/SaveState
1.4.2c
1.4.2b
1.4.2
SaveState v1.4.2 - Bulk Profile Creation, PCSX2 & Xenia Support & Improved Workflow!
This major update to SaveState introduces a powerful new workflow that revolutionizes how you add multiple games at once. A lot of work went into this feature to streamline the setup for users with large game collections. We've also expanded our emulator support and improved overall usability!
Changelog:
Key Features:
-
Bulk Profile Creation:
- The biggest new feature in this version! You can now create profiles for multiple games at once. Simply drag and drop multiple files or entire game folders directly into the SaveState window.
-
New Profile Preview & Filtering Window:
- To give you full control over the new bulk import process, a new preview window now appears after you drag and drop your files. This screen shows all potential profiles that were detected, allowing you to review the list and remove any entries you don't want to create before finalizing the import. This ensures your profile list stays clean and exactly as you want it.
-
Integrated Search Bar:
- Finding the game you're looking for has never been easier. We've added a quick search bar to the main interface to help you filter your profiles instantly.
-
Emulator Expansion: Welcome PCSX2 and Xenia!
- Our library of compatible emulators continues to grow. SaveState now officially supports:
- PCSX2, the renowned PlayStation 2 emulator.
- Xenia, the experimental Xbox 360 emulator.
- Our library of compatible emulators continues to grow. SaveState now officially supports:
Improvements & Bug Fixes:
- Optimized Drag and Drop:
- The drag-and-drop system has been made more robust and reliable to handle loading a large number of files and folders.
- General stability and performance improvements, especially when managing long game lists.
- Fixed minor bugs.
What's Next:
- The Next Step: Beyond Steam! With bulk profile management now implemented, our next major goal is to add compatibility for games from other launchers, such as Ubisoft Connect, the EA App, and more.
As always, your feedback is crucial. Let us know what you think of the new additions and improvements, and please report any issues you encounter!
Full Changelog: 1.4.1...1.4.2
1.4.1
SaveState v1.4.1 - Eden & SameBoy Support, Steam Link, UI Enhancements & Bug Fixes!
This incremental update to SaveState brings support for new emulators as promised, improves compatibility with portable installations, refines the user experience with graphical and interface tweaks, and resolves several bugs reported by the community!
Changes:
Key New Features:
- Support for Eden (Yuzu Fork):
- Keeping the promise from the previous release, SaveState is now compatible with Eden, a promising Yuzu emulator fork. We've worked to best integrate its save data detection.
- Welcome SameBoy (GBA Emulator):
- We are further expanding our library of supported emulators with the addition of SameBoy, a popular Game Boy Advance emulator.
- New Visual Effect for Drag and Drop:
- We've introduced a new visual effect to make the file drag and drop operation more intuitive and pleasant.
- Customizable: If you prefer a more minimal experience, this new effect can be easily disabled in the program settings.
- Drag and Drop Extended to Steam Shortcuts:
- It is now possible to use the drag and drop functionality with Steam game shortcuts (.url files).
Improvements and Bug Fixes:
- Compatibility with Portable Installations:
- Several emulators are now fully compatible with portable installations, offering greater flexibility to users.
- Backup Restore Issues Fixed:
- Resolved some specific bugs that, in the previous version, could prevent the correct restoration of backups for certain emulators. The restore process should now be more reliable.
- New Icon and Splash Screen:
- SaveState gets a refresh with a new icon and a new splash screen for a more modern and polished look!
Tidbits (and What's Next):
- Drag and Drop and Steam (Towards the Future): The introduction of drag and drop support for Steam shortcuts is a fundamental preparatory step: it's needed for the next version because it will add the ability to create profiles in bulk, for example, for entire game folders.
As always, your feedback is crucial. Let us know what you think about the new additions, improvements, and please report any issues you encounter!
SaveState v1.4.2 - Goals
bulk profile creation, support for Xenia (Xbox 360) and Xemu (Original Xbox) emulators.1.4
SaveState v1.4.0 - Full Linux Support, New Windows Emulator & More!
This is a landmark release! SaveState takes a massive leap forward by introducing full compatibility with Linux operating systems. But the news doesn't stop there: to ensure our Windows users (like myself!) aren't left out, we've added support for a new emulator and significantly improved the initial setup experience for everyone!
Changes:
Key New Features:
-
SaveState Lands on Linux!
- It's finally here! You can now use all of SaveState's powerful features on your Linux system. We've worked hard to ensure a smooth and integrated user experience.
- Rigorously Tested: To guarantee maximum reliability, SaveState on Linux has been thoroughly tested with all emulators currently supported by the program and across a diverse library of over 30 different games.
-
New Emulator Support for Windows Users:
- Welcome shadps4 (PS4 Emulator): We've expanded compatibility on Windows! SaveState can now detect and manage save data for the PlayStation 4 emulator "shadps4".
-
Enhanced Start Settings:
- Automatic Folder Creation: No more worrying if a specified backup folder doesn't exist. If the folder is missing, SaveState will now automatically create it for you, streamlining the setup process.
- Smart Drive Management: If the default drive for your saves (e.g., the D: drive) doesn't exist on your computer, SaveState will now intelligently suggest another available drive, making the first launch smoother and more intuitive.
Developer Tidbits & Special Thanks:
- Windows
final_sort_key
Refinement: Thefinal_sort_key
function, which helps identify relevant save paths on Windows, has been tweaked. It now gives higher priority to folders commonly associated with save data (e.g., those containing terms like "save", "saves", "backup", "backups") and less importance to more generic folder names like "DATA". This should lead to even more accurate save data detection. - Yuzu on Linux & What's Next: You might have noticed Yuzu wasn't specifically highlighted in our Linux testing for this release. This is because we're gearing up for the next release where we aim to introduce compatibility for Eden (an emulator based on Yuzu) and potentially another new emulator as well! We'll be focusing our Yuzu-related testing efforts there.
- A Massive Shoutout to MrSujano! We want to extend a huge thank you to the YouTuber MrSujano for consistently covering SaveState and sharing news about the program with his awesome community! Your support and videos are incredibly appreciated. And to everyone in his community, remember: "No time to fate, save your state!"
As always, your feedback is crucial, especially for the new Linux version and the new emulator support. Let us know what you think and please report any issues!
1.3.9
SaveState v1.3.9 - Flycast Support & Double-Click Actions
This release further expands emulator compatibility by adding experimental support for Flycast and introduces several user interface enhancements for a smoother and more intuitive workflow, including new double-click actions.
Changes:
New Features:
-
Emulator Support Expansion:
- Flycast Added: SaveState can now attempt to detect save data for the Flycast (Sega Dreamcast) emulator.
- The list of emulators with experimental detection support is now:
- Ryujinx
- yuzu
- RPCS3
- DuckStation
- Dolphin
- PPSSPP
- Citra
- Cemu
- mGBA
- snes9x
- DeSmuME
- Flycast (New)
-
UI & Workflow Enhancements:
- Quick Select in Dialogs: You can now double-click an item (e.g., a game in the Steam games list, a Minecraft world, or an emulator game/profile selection list) to automatically select it and confirm the choice, streamlining the profile creation process.
- Open Profile Save Folder: Double-clicking an existing profile in the main application window's list will now directly open its associated save data folder in your system's file explorer. This provides quick access to the backed-up files.
Internal / Refactoring:
- Flycast Integration: Added
emulator_utils/flycast_manager.py
to handle the specific logic for detecting Flycast save data locations. - UI Event Handling: Updated UI components, including the main profile list and various selection dialogs, to incorporate and handle the new double-click functionalities.
As always, feedback and bug reports for the experimental emulator support are welcome!
1.3.8
SaveState v1.3.8 - Emulator Support & Full English Localization
This release introduces experimental support for detecting save data for various emulators and fully standardizes the application interface and codebase to English by removing the previous translation system.
Changes:
Features:
- Experimental Emulator Support: SaveState can now automatically detect save data locations for several popular emulators, simplifying the process of creating backup profiles for them.
- Supported Emulators:
- Ryujinx
- yuzu
- rpcs3
- DuckStation
- Dolphin
- PPSSPP
- citra
- Azahar
- mGBA
- snes9x
- DeSmuME
- Cemu
- Supported Emulators:
Removed:
- Multi-Language Support: The translation system and language selection options have been completely removed. The application GUI, logs, and internal code are now exclusively in English. This streamlines maintenance and ensures a consistent user experience.
Internal / Refactoring:
- Emulator Detection Logic: Added dedicated modules and logic within
emulator_utils
to handle the detection and path resolution for each newly supported emulator.
1.3.7b
1.3.7
SaveState v1.3.7 - Profile Favorites, Splash Screen & GUI Enhancements
This release introduces profile favoriting, implements a functional splash screen for the packaged application, significantly refactors the GUI for better organization and performance, and improves code clarity with English comments.
Changes:
Features:
- Profile Favorites: You can now mark profiles as favorites!
- A star icon appears next to profile names in the list. Click the star to toggle favorite status.
- Profiles are automatically sorted with favorites appearing at the top.
- Favorite status is saved and persists across application restarts.
- Splash Screen: Implemented a working splash screen for the packaged executable, displayed during application startup using the PyInstaller splash mechanism.
Improved:
- GUI Structure & Startup Speed: Significantly refactored the main window's code by separating logic into dedicated manager classes (
ProfileListManager
,ThemeManager
,ProfileCreationManager
) and an event handler class (MainWindowHandlers
). This improves code organization and maintainability, and may result in faster application initialization. - Code Comments: Translated a large portion of internal code comments from Italian to English, enhancing code readability and accessibility.
Internal / Refactoring:
- Code Organization: Centralized GUI component management (profile list, theme) and profile creation logic into specific classes. Separated main window event handling into
MainWindowHandlers
[cite: 1].
1.3.6
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 inconfig.py
for easier customization, instead of relying on internal defaults incore_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).
- Removed the redundant timestamp suffix (
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 fromconfig.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 efficientset
lookups for abbreviations and common publishers. Also optimizedos.path.basename
calls within the sorting key function. - Code Cleanup: Removed the unused
appid
variable from thefinal_sort_key
function. - Code Cleanup: Simplified the configuration loading logic in
guess_save_path
by removing the no longer necessaryexcept AttributeError
block that contained outdated default definitions. - Code Cleanup: Removed temporary debug logging statements added during troubleshooting.