Loading archived/compressed ROMs via subsystems
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 14.1k
- Forks
- 2.2k
- Avg merge
- 7h 35m
- Merged PRs (30d)
- 51
Description
First and foremost consider this:
- Only RetroArch bugs should be filed here. Not core bugs or game bugs
- This is not a forum or a help section, this is strictly developer oriented
Description
I've only tested this using the SameBoy core, but I believe the issues lie in RetroArch, not the core.
There's two different issues that happen here:
- When selecting an archive via the Subsystems menu, you're given the choice to browse or load the archive. Choosing to load the archive immediately starts the content as if you had loaded it normally, rather than adding it within the Subsystems menu (not sure what the correct terminology is here).
- If you choose to browse the archive instead, you can select the ROM contained within the archive and this is loaded correctly. However, this causes another issue. RetroArch no longer remembers the original directory of a ROM loaded this way, and if you use the settings to sort saves or states into folders based on the content directory, it will not do so, rather saving the data to the respective parent directories. Consequently, this also means the existing save/state data won't be read when launching either.
Expected behavior
Either loading an archive functions as expected, which should resolve the second issue on its own, as loading unarchived ROMs functions as expected; or the content directory of the archive is remembered when selecting a ROM within an archive.
Actual behavior
Archives aren't loaded correctly within the subsystem menu and browsing within the archive as a workaround introduces saving issues when certain settings are used.
Steps to reproduce the bug
- Enable sorting saves and states into folders based on content directory.
- Attempt loading an archive directly via the Subsystems menu to observe issue 1, or browse within the archive and select the ROM directly to continue to issue 2.
- Repeat (if needed such as when using link feature in SameBoy).
- After the requisite ROMs are loaded, launch the content from the Subsystems menu.
- Save a state and wait for save data to be saved as well.
- Browse to the states and saves directories and note that the generated files are not sorted by content directory.
Bisect Results
Haven't tested
Version/Commit
You can find this information under Information/System Information
- RetroArch: 1.15.0
Environment information
- OS: Android 13/One UI 5.1
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the archive-loading paths from the Subsystems menu on Android 13 with content-directory sorting enabled. Compare direct archive loading with browsing to the ROM, then inspect where subsystem content paths and save/state locations are selected. Done means archives load through subsystems correctly and existing or newly created save/state files use the archive's content directory.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, c
- Domain
- frontend, mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100