Repository navigation
Conversation
Add a "Central Saves Folder" setting (`use_central_saves_folder`, OFF by default). When it is ON, every save is stored as `/saves/<ROM file name>.sav` at the root of the SD card instead of next to the ROM, so copies of the same ROM file in different folders (for example a favourites folder and an A-Z folder) share one save. A save that is still in the ROM's own location (its `saves` subdirectory, or next to the ROM) is moved into the central folder the first time the ROM is launched, so existing progress carries over when the setting is turned on. If that move fails, the existing save is used where it is rather than starting a new, empty one. This applies to N64 ROMs (including 64DD combo ROMs) and emulated ROMs. The setting is documented in the menu settings and SD card guides. Signed-off-by: ricosynth <205374161+ricosynth@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add a "Migrate Old Saves" setting (`migrate_saves_to_central_folder`, OFF by default, only used while Central Saves Folder is ON). A ROM's existing save in its own location is moved into /saves only when this is ON. When it is OFF, per-folder saves are left untouched and a ROM without a central save starts a new one, so turning on the central folder never moves saves for users who keep different save files in different folders. Signed-off-by: ricosynth <205374161+ricosynth@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Thanks for the PR. I need to find the time to review further, but on first inspection, please use |
As requested in review, use "global" rather than "central": the settings are now "Global Saves Folder" (`use_global_saves_folder`) and "Migrate Old Saves" (`migrate_saves_to_global_folder`), the helper is `global_save_path()`, and the docs say "global" throughout. Signed-off-by: ricosynth <205374161+ricosynth@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Adjustments made per your request. |
|
Does this also apply to save files from emulated games (like the Game Boy and SNES emulator on the flashcart)? If this is not feasible, maybe emulator save files could be at least symlinked or copied to a backup folder. |
|
A couple of further notes before this is considered for merge:
|
Description
Adds two optional settings, both OFF by default and listed in Settings below "Use Saves Folder".
Global Saves Folder (
use_global_saves_folder): when ON, every save is stored as/saves/<ROM file name>.savat the root of the SD card instead of next to the ROM, so copies of the same ROM file in different folders share one save. The save path is built in one place (global_save_path()incart_load.c), which is used for N64 ROMs (including 64DD combo ROMs) and emulated ROMs.Migrate Old Saves (
migrate_saves_to_global_folder): only used while the global folder is ON. When ON, if a ROM has no global save yet but still has one in its own location (itssavessubdirectory or next to the ROM, following Use Saves Folder), that save is moved into/saveswithf_renamethe first time the ROM is launched. If the move fails, the existing save is used where it is rather than starting a new, empty one. When OFF, per-folder saves are never touched.Keeping migration as a separate choice means users who keep different save files in different folders can leave them as they are, while users who want everything in one place can bring their existing progress along. Turning either setting OFF moves nothing back.
Saves are matched by ROM file name, which is what lets copies share them. Two different ROMs with the same file name in different folders would also share a save; the docs call this out.
Documentation: new sections in
32_menu_settings.mdand a tip in10_getting_started_sd.md.Motivation and Context
Popular SD card layouts keep the same ROM in more than one folder, for example a "Top 50" or favourites folder next to an A–Z tree. Today each copy gets its own
savesfolder, so progress made from one folder is missing when the game is started from the other. A global folder keyed by the ROM file name gives every copy the same save, without changing the default behaviour.How Has This Been Tested?
/savesby hand, and games started from the TOP 50 folder and from the A–Z folders now load the same save.developwithmake all(no warnings).Screenshots
Types of changes
Checklist:
This change was written with help from Claude (Anthropic's AI assistant). I reviewed it, and I have been running the V0.3.4 version on my own hardware.
You agree with the license terms and that other license types may be granted with permission of the original
N64FlashcartMenuproject license holders.Signed-off-by: ricosynth 205374161+ricosynth@users.noreply.github.com
🤖 Generated with Claude Code