Save files and Retroarch (Android)

Hi,

As a foreword, I love what you guys are doing here. Retroarch is something amazing and I am grateful.

Now, I don’t know how it is in other ports of Retroarch but in the android version there appears to be very little effort to preserve save games. Sometimes I’ll quit Retroarch, load up a game later and my save is just gone. Likewise, loading the same game up in a separate core also wipes the save. Sometimes even changing versions of Retroarch (I went from a dev version with an updated VBA-Next back to the most current 9.9.6 r22 release and lost a Mega Man Zero save, so it might have had to do with the changes to VBA-Next?) wipes out my save.

Because of this, I’ve grown paranoid and started save stating alongside hard-saves, which IMO just defeats the purpose of using the regular saves altogether.

So I have a couple of small suggestions, just some QOL changes that give me security and a bit more control over my save data than Retroarch currently allows:

-I notice Retroarch outputs the same .srm file for every game regardless of core. To ensure loading a different core up doesn’t totally wipe a save, why not use a format like this instead: filename.corename.srm where filename is the filename of the ROM and corename is a cleaned name of the core. So like, zelda.nestopia.srm. With this, if I happen to load up Zelda in QuickNES by accident once (say, I forget what core I primarily use for a moment), I don’t lose my save data.

-Togglable on-screen message that tells me when Retroarch is writing to file, just as an added assurance.

-Possibly a confirmation pop-up before a save file is (over)written (also togglable)?

-Not related to save files themselves, but could you guys add a small delay in registering input after saving/loading state? This is so you don’t save state during an in-game menu and then load, only to confirm a selection in the game at the same time as it resumes.

Again, I appreciate what you guys do. Just some friendly suggestions because I want to see this project improve :).

I don’t have such issues…

My guess is your problem might be due the auto save state / auto load state options. If those are enabled everytime you close RA you are saving a state (and an in-game SAVE). Whenever you load back the game with the same core your auto save loads and everything is good.

But say you had a tried that same game with another core sometime. You accidentally load the game with that different core and it auto loads it’s save state… and overwrites SRM so… your in-game save is gone. You’d have to load the game on the correct core and load the save state to fix that I guess but I see the problem.

IMHO best is to keep auto load off at least. It’s a hassle on android since it’s easy to hit a soft key by accident and lose a whole session but that’s easily fixed by setting back button behavior to RGUI and/or enabling expanded desktop or using a fullscreen app.

Saving states and SRM with the core name is a good idea imho, I had thought about the same since I used it on the go and on my PC and sometimes I use different cores.

I only recently became aware of auto-load/auto-save when I started messing with the dev builds, so it’s entirely possible I’ve had them on when I lost saves previously. The Mega Man Zero thing from sideloading 9.6.6 r22 back in was the most recent loss, so I can’t say if changing the setting allieviated the issue or not yet. I’ll have to see over time and just keep a mental note to occasionally save some states as just-in-case checkpoints.