libretro / libretro/RetroArch

Multi-disk game saves sorted by content directory working in ugly fashion

Open
#14,530 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
14.1k
Forks
2.2k
Avg merge
7h 35m
Merged PRs (30d)
51

Description

Description

I would say this function is "working as expected but also ugly". When the setting "Sort saves (or states) by content directory" is enabled and a save or state is created for a multi-disk game in a game sub-folder, the save or state is also created in a folder of the name of the game. The multi-disk folder structure documentation makes it sound like the parent .m3u folder would be treated as a single file, which it clearly is not.

Expected behavior

For a folder structure like this:

/roms/psx/Final Fantasy 7.m3u (parent folder)

  • Final Fantasy 7 (disc 1).bin
  • Final Fantasy 7 (disc 2).bin
  • Final Fantasy 7 (disc 3).bin
  • Final Fantasy 7.m3u

The expected save would be

/saves/psx/Final Fantasy 7.save

if it were being treated as a single file.

Actual behavior

The above file structure will produce this save

/saves/Final Fantasy 7.m3u/Final Fantasy 7.save

and this state

/states/Final Fantasy 7.m3u/Final Fantasy 7.state

Steps to reproduce the bug

Enable the settings:

Sort Saves into Folders by Content Directory
Sort Save States into Folders by Content Directory

Bisect Results

The function is working correctly to the "letter" of the setting but not the "intent". The actual content being run is in a folder with the name of the game, which is being created for saves and states, but as RA treats properly-structured multi-disk folders as a single game the output of saves and states is in unexpected locations compared to files for single ROM games.

Version/Commit

You can find this information under Information/System Information

  • RetroArch: 1.12.0
Environment information
  • OS: Windows 10 / Manjaro 21.3.7

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue in RetroArch 1.12.0 with both content-directory sorting settings enabled and the documented multi-disk folder structure. Compare the generated save and state paths with the expected paths; done means the multi-disk game is treated as one game rather than creating an extra directory named after the .m3u file.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.