Open
Description
For save states which are handled by the libretro interface, options should be added to have save state filenames to include the core name and core version, delimited by character(s) or pattern(s) deemed least likely to cause collisions.
Justification:
- Prevent user confusion when trying to load a state created by a different core (leading to failure for unknown reason).
- Prevent data loss from clobbering a save state created by a different core.
- Allow users to the ability to identify with a glance at their states folder whether or not they need to lock a core from being updated
- Allow the frontend to display a toast notification (optional) indicating a mismatch with the core version the state was created with, a common cause of user confusion.
Arguments against:
- Most users will not switch between multiple cores for the same system.
- Users bugtesting cores will likely directly benefit, as they can have identically-indexed save states in multiple cores for comparison testing.
- Metadata should be encapsulated in the file header, not the filename.
- Agreed on principle, but:
- End users can't identify the source of savestates from their file manager.
- A more complex feature would need to be programmed into RetroArch to allow reviewing that information, and it would still be less convenient to the end user.
- Agreed on principle, but:
A discussion would warranted on whether or not it would be useful to have (optional) warnings on loading legacy states without the core version tag present if version tagging is enabled.
Activity