[Feature Request] Add "Update Save Files" Option to Online Updater
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 14.1k
- Forks
- 2.2k
- Avg merge
- 7h 35m
- Merged PRs (30d)
- 51
Description
There are dedicated sites for Windows game save files, such as PCSaveGames and SaveGame.pro. These sites provide downloadable save files for a wide variety of PC games.
Main Feature Request
- Proposal: Add a new entry in
Main Menu→Online UpdatercalledUpdate Save Files. - Description: This feature would allow users to easily download and update save files for supported games directly from within the application, similar to how core and asset updates are currently handled.
- Important: To make this feature viable, users must be able to upload their own save files to the RetroArch server—ideally through a process similar to how joypad config files are contributed via GitHub. This community-driven approach will ensure the save file library remains comprehensive and up-to-date, allowing users to both share and benefit from a continually expanding collection of save files.
Complementary Feature Request
- Please also see related suggestion:
- This feature would enhance the management of custom save files and give users greater control over their game progress. For example, if implemented, users could load save files with custom filenames directly—eliminating the need to manually rename files to match specific naming conventions.
Game Save Compatibility
Game saves are not region-locked, so you can use save files interchangeably between US, EU, JP, and other regional versions of the game.
Note: The MD5 checksum for save files may change each time you close RetroArch, even if you do not save the game.
Why is this needed?
Not all (free) cores support cheat files
For example, most SNES cores do not support cheat files, which means you cannot use them to access other levels on these cores. While some cores, like SNES9x, do support cheat codes, they are proprietary and therefore cannot be used by those who strictly choose to use only free software.
Convenience
For players who have already completed the game and simply want to revisit later levels without replaying everything from the beginning, level selection isn’t really a cheat—it’s a practical option that should be freely available. Also, save files offer a convenient way to jump to specific levels without the hassle of searching through complex cheat code lists that mix other features.
Issues with cheat codes
Main Menu -> Online Updater -> Update Cheats is useful, but it has a few limitations. Even for cores that do support Game Genie codes, not all codes work as expected.
Lack of cheat codes
A code to unlock all Hard Mode worlds at once in Super Mario Bros. (including Super Mario All-Stars) for SNES has not been hacked yet.
Broken cheat codes
For example, there is no SNES Game Genie code for Super Mario Bros. 3 (as part of Super Mario All-Stars) that reliably allows you to select and play any World.; Code "D5D4-F36D" is used to "Select any world for FILE A game [Not usable for World 8: the two Hand Trap levels, which must be completed to unlock the pipe to Bowser’s Castle, are missing because the cheat code removes them, so no levels at all can be played]" (see https://github.com/libretro/libretro-database/pull/1543/files)
Download Save File for the above Super Mario All-Star issue example
This save file contains all worlds completed in each Super Mario game included in Super Mario All-Stars (USA): Super Mario All-Stars (USA)-All Worlds.txt
What does it contain?:
- Super Mario Bros.
- Cheat code: Allows you to select any world for FILE A: D5DF-FADD
- Manually completed World 8 to make Hardmode Words available
- Super Mario Bros.: The Lost Levels
- Cheat code: Allows You To Select Any World Or Level For "File A": DADF-F30D+D7DF-F36D
- Super Mario Bros. 2
- Cheat code: Allows you to select any world for FILE A: D1D4-FA0D
- Super Mario Bros. 3
- Cheat code: Select any world for FILE A game [Doesn't work on World 8]: D5D4-F36D
- Manually completed World 7 to be able to complete World 8.
"Factory reset" settings:
- I intentionally triggered a Game Over before saving to ensure no extra lives or progress were carried over
- I pre-selected Super Mario Bros. like in the factory reset ROM.
Instructions for use:
To ensure that your original game progress remains intact while also allowing you to archive or experiment with different save states, downloaded save files are given custom filenames. This prevents them from overwriting your "system default" save for the original title. By keeping saves separated in this way, you can easily switch between your personal progress and community-contributed saves, or archive completed game saves for dedicated gameplay sessions.
- Download "Super.Mario.All-Stars.USA.-Super.Mario.Bros.-All.Worlds.txt" (see link above) and rename it to "Super Mario All-Stars (USA)-Super Mario Bros.-All Worlds.srm"
- GitHub replaced white spaces with "."
- GitHub didn't allow the ".srm" file extension to be uploaded
- Rename "Super Mario All-Stars (USA).sfc" to "Super Mario All-Stars (USA)-Super Mario Bros.-All Worlds.sfc"
- Main Menu -> Load Content: Super Mario All-Stars (USA)-Super Mario Bros.-All Worlds.sfc
- Once Super Mario All-Stars has been loaded, select any game, for example Super Mario Bros., and "File A" will now show the last completed world:
You can decrease to lower Worlds if you want:
Bonus
This would also make it possible to load save files stored in other core directories, since there is currently no universal save file directory.
Rationale:
Adding an "Update Save Files" option would streamline the process of obtaining save files, making it more convenient for users who wish to access specific game progress points or recover lost saves. Integration with established save file repositories could further expand the utility of the Online Updater.
References:
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The named entry point is Main Menu → Online Updater; start by tracing how existing core, asset, and cheat updates are exposed. Review related issue #17942 and define the download, server contribution, and custom save-file requirements; done means the updater can provide supported saves without overwriting default progress.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100