feat: place core files per handed system dir

A platform can hand each libretro core a system directory of its own
(core_system_dirs). platform_layouts then gives one view per directory,
so the gap report, the builder, the manifest, slots and cross_reference
place a core's files below each folder it is handed, and a core handed
none gets no file. Resolution strips the folder again and searches the
collection by the core's own path.
This commit is contained in:
Abdessamad Derraz committed 2026-10-22 04:04:31 +02:00
1 parent ff2137de9d
commit d0802c5360
6 files changed
+222 -51

No files matched your search

+3 -2
View File
@@ -41,6 +41,7 @@ from common import (
require_yaml,
resolve_local_file,
platform_layouts,
system_dir_path,
standalone_set,
select_emulator_profiles,
)
@@ -652,7 +653,7 @@ def slot_key(f: dict, standalone: bool = False) -> tuple:
return (
fname,
f.get("archive"),
where or fname,
system_dir_path(f, where or fname),
f.get("system"),
f.get("variant_group"),
f.get("mode", "both"),
@@ -727,7 +728,7 @@ def _cross_reference_profile(
if is_standalone:
effective_path = f.get("standalone_path") or f.get("path") or fname
else:
effective_path = f.get("path") or fname
effective_path = system_dir_path(f, f.get("path") or fname)
slot = slot_key(f, is_standalone)
seen_key = slot
if len(layouts) > 1: