Core info is not detected when loading a core outside the standard cores directory
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 14.1k
- Forks
- 2.2k
- Avg merge
- 7h 35m
- Merged PRs (30d)
- 51
Description
Description
If you load an emulator core that isn't in the usual cores directory, you will be able to play it just fine, but it won't match it with any core info file, which leads to you not being able to savestate due to it not knowing the core has this capability.
You can load a core outside of the usual directory either by launching content directly using the -L command line parameter, or by having the core in a subdirectory of the cores directory, and then loading it from the RetroArch UI.
Expected behavior
The core info should be matched based on the filename regardless of whether the core is in the standard location or not
Actual behavior
The core info is only matched to the core if it is in the directory defined by the libretro_directory directory (must be exactly that directory and not a subdirectory)
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 tracing core loading through the -L command-line path and the libretro_directory lookup, then inspect where core info files are matched. Reproduce the issue with a core outside the standard directory and with a core in a subdirectory. Done means matching uses the core filename in both cases and savestate capability is recognized.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100