Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Games Only Save to System Folder When Using --appendconfig #19

Closed
bleakassassin opened this issue Dec 25, 2015 · 12 comments
Closed

Games Only Save to System Folder When Using --appendconfig #19

bleakassassin opened this issue Dec 25, 2015 · 12 comments

Comments

@bleakassassin
Copy link

Setup: I use --appendconfig for my gaming setup. Each appended config file has a specified savefile directory. For most of the systems I use, it works correctly. It also used to work correctly with Mednafen PSX.

Now, however, anytime a PS1 game is loaded with the help of an appended config, the Memory Card saves save themselves into the System folder. This is regardless of what the appended config file has specified. RetroArch will even show the directory you specified, but it won't save there.

I have no issues when using full configuration files; wherever the config file says to save, it saves. It's only with the use of the --appendconfig command that this happens.

@andres-asm
Copy link
Contributor

Since when does this happen?
I'd need a full log at least. I use overrides and save sorting and everything is saving to the correct location at least but I have never tested your particular scenario

@bleakassassin
Copy link
Author

I haven't used RetroArch in awhile, so I can't say for sure. The earliest available build of the Mednafen PSX core on buildbot.libretro.com exhibits the same issue.

Here's a log from me playing Mega Man X4. Note that it states that it creates SRM and RTC files in the folder that has the BIN/ISO for the game. It doesn't actually do that, there are no SRM or RTC files to be found. Also, the file doesn't state anything about the MCR files that are created in the System folder... or MCR files at all, for that matter. It doesn't matter if I use Mednafen or Libretro save style, the result is the same.

log.txt

@bleakassassin
Copy link
Author

Now this is happening with the older version of the core that I was using, too. It could be a RetroArch issue, I don't know.

Here's what's interesting: If I enable savefile sorting by folders in the main file, it'll create per-core directories in the specified location in the appended config like it's supposed to. With it disabled, I exhibit the issue. Again, I'm finding that this only affects the Mednafen PSX core.

Here's my config files, renamed to .txt files so I can attach them. I hope they can further help with this problem. The parts of names in brackets for the two "PS1" files are just for differentiation. In practice, they're both named "PS1.cfg".

retroarch.txt
PS1 [Append].txt
PS1 [Core].txt

@bleakassassin
Copy link
Author

Was the full log not enough? I noticed you never replied even when I provided it. If that wasn't the full log, I'd have appreciated knowing that.

Here's one more observation: Using --appendconfig at all will result in the save folder being set to \system... even if the appended file is blank. If I recreate a separate, full config file strictly for the PS1 games, it will set the save directory for PS1 memory cards to \saves regardless of wherever I set the savefile directory to.

The reason this seems to be relegated only to this core (or maybe this and PCSX-ReARMed, I'm on Windows so I can't test that one) is because of how RetroArch wants to handle the console. PSP games and Mega CD games have their saves stored in files somewhere within the \system folder. For Mega CD, it's in internal and backup cart save files in \system. For PSP, it's in \system\ppsspp\PSP\SAVEDATA, much like how the standalone emulator and the original system itself would do. In theory, the PS1's save style could work similarly to to these systems.

The problem is that these PS1 emulators give the option to use dedicated memory cards per game. This makes complete sense due to how extremely limited save space is otherwise. Thus, it would make sense to create memory card saves in the directory of your own choosing, much like with systems that use battery saves. That's how it worked in RetroArch until recently. The \system directory gets far too cluttered now.

Ultimately, I don't know if this is a Mednafen PSX issue or a RetroArch issue. The fact that I haven't gotten any insight on this is incredibly disconcerting.

@andres-asm
Copy link
Contributor

I don't have this issue, I use overrides (that use appendconfig as an internal mechanism) and it's saving correctly to the specified location.

@andres-asm
Copy link
Contributor

Are you using an older retroarch?

@bleakassassin
Copy link
Author

I just updated to 1.3.0, where it's still occurring.

How exactly do you have your overrides set up? I know there's more than one way to do it, so maybe mine isn't working right. I load RetroArch and the game via commands sent through a frontend. The frontend loads retroarch.exe as standard, and each game is then loaded with its own individual settings. In the case of PS1 games, I use a command like this:

retroarch --appendconfig append\PS1\V12.cfg "%rom%"

Where the append directory is something I made myself, and the config file has settings that override what the default config has. Including savefile locations.

(FYI, the V12 is for games that have 12 unused scanlines on top and bottom, letting me zoom them in 5x on a 1080p screen instead of 4x. Stuff like the Crash Bandicoot and Spyro games.)

@andres-asm
Copy link
Contributor

well overrides are like appendconfig but automatic.
so the setting that's not propagating correctly is just save dir? the rest seem fine?

@bleakassassin
Copy link
Author

That is correct. Even savestates save to the override directory as intended.

@andres-asm
Copy link
Contributor

Savestates are different because they are always saved by retroarch. SRAM not really,
I see the issue now, not an easy fix though, save redirection happens before initializing the core, and append/overrides happen just after and I picked that location for a reason (after lots of testing and bug squashing).

The only way to fix this would be for the core to get the data for RETRO_SAVE_DIRECTORY a lot later, it's done at initialization or load content I don't remember well.

@bleakassassin
Copy link
Author

Loading another game after the first one creates a save file in the system folder will see that game have its save files placed in the properly specified folder.

Probably nothing revelatory. In fact, it's probably derived straight from what you stated in the last post. I'm guessing that's the case because the core will have already been initialized and it stays that way until the core is unloaded, which changing games doesn't do. It's just that it's something that I noticed just now.

@bleakassassin
Copy link
Author

Heh, looks like fr500's recent commits fixed this issue! Set save directories are working as intended now. Thanks so much.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants