Citra: better method of naming the save files

Created on 7 Dec 2016  ·  9Comments  ·  Source: citra-emu/citra

the current method of creating save files for citra is a bit of a hassle to deal with, specifically the over confusing file names which mostly consist of a lot of 0s and a hard to understand folder names for any given title.

for example the save file for game X exists in a folder called 0011c400

the save file for game Y exists in a folder called 00175e00

you can see when you stack up on save files and folders it will become very difficult to know which save belongs to which title.

lg_ on citra forums suggested the following answer.

"Maybe some code could be made for when generating the save folder with an "extra" (the game from the list when loaded could work). Example:
"00125600_The_Legend_of_Zelda_Majoras_Mask"

To make this work, a little change could be made when loading the save files (like an instruction to ignore every character after the 8 first valid ones)".

Most helpful comment

The folder name is mimicking the name in actual 3DS SD card. To reduce the difficulty of finding the save, I would prefer adding some navigating buttons in the front end.

All 9 comments

The folder name is mimicking the name in actual 3DS SD card. To reduce the difficulty of finding the save, I would prefer adding some navigating buttons in the front end.

What about soft symlinks?

I think the way @wwylele recommends is the best idea. Maybe you add some title id db to map the title ids to their title names. However the question is if this belongs into an emulator.

@freiro aren't symlinks very platform dependant?

If people want to manage their saves externally they should use external programs in my opinion.
We mimick the 3DS layout which is a very good solution. It means you can use all tools you could also use on the original 3DS (encryption aside).

The only thing we could be doing is to create a button to start a filemanager showing the games folder or something (possibly a right click / context menu option in the games list or something / maybe a "View" option). I'm not sure how great that works on various platforms though.
I don't think symlinking is a good cross-platform solution either and it's also unnecessary.


This is really the kind of feature that the majority of users probably won't be using anyway.
So if they don't want to use external programs, they can maintain this kind of crap in their own fork in my opinion.

@freiro aren't symlinks very platform dependant?

Yes but this is not big deal, Qt creates them this way:

    #ifdef Q_OS_UNIX
        QFile::link(sourceDir.absolutePath(), destDir.absolutePath());
    #endif

    #ifdef Q_OS_WIN
        QFile::link(sourceDir.absolutePath(), destDir.absolutePath().append(".lnk"));
    #endif

Where sourceDir is \sdmc\Nintendo 3DS\00000000000000000000000000000000\00000000000000000000000000000000\title\00040000 and destDir coul be savedata.

I am talking about having a single link between the two above mentioned folder, not a link for each game.

What about putting the titleid in the title bar when you start a game? Two emulators that comes to mind right now that kind of do this are PPSSPP and Cemu.

If I copy paste PPSSPP's title bar it would look like this: http://i.imgur.com/SUkARBN.png ("photoshopped").

+1 to the context menu suggestion by @JayFoxRox

Agreed with @wwylele and @JayFoxRox mostly. I do also agree that importing/exporting saves _is_ annoying (I often find myself manually having to lookup title IDs and what not), but think that a right-click context menu for "Open Save Location" should be more than sufficient.

A fully fledged save manager might be useful some day (just like a cheat manager might be useful some day), but that day is not now... IMO

Closing this issue as we aren't going to do this as-proposed.

Was this page helpful?
0 / 5 - 0 ratings