mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-10 13:33:24 -05:00
fix: split platform groups on declared emulators
This commit is contained in:
1 parent
6453a96d47
commit
1ceb4b0c5a
2 files changed
+14
-1
No files matched your search
+11
-1
@@ -1055,7 +1055,11 @@ def group_identical_platforms(
|
||||
platforms_dir: str,
|
||||
target_cores_cache: dict[str, set[str] | None] | None = None,
|
||||
) -> list[tuple[list[str], str]]:
|
||||
"""Group platforms that produce identical packs (same files + base_destination).
|
||||
"""Group platforms that produce identical packs.
|
||||
|
||||
A pack is the platform's own files plus those of the emulators it runs,
|
||||
so two platforms share one only when both agree. base_destination does
|
||||
not separate them: destinations inside a pack are relative to it.
|
||||
|
||||
Returns [(group_of_platform_names, representative), ...].
|
||||
The representative is the root platform (one that does not inherit).
|
||||
@@ -1086,6 +1090,12 @@ def group_identical_platforms(
|
||||
entries.append(f"{dest}|{sha1}|{md5}")
|
||||
|
||||
fp = hashlib.sha1("|".join(sorted(entries)).encode()).hexdigest()
|
||||
cores = config.get("cores")
|
||||
emulators = [
|
||||
cores if isinstance(cores, str) else sorted(map(str, cores or [])),
|
||||
sorted(map(str, config.get("standalone_cores") or [])),
|
||||
]
|
||||
fp = hashlib.sha1(f"{fp}|{emulators}".encode()).hexdigest()
|
||||
if target_cores_cache:
|
||||
tc = target_cores_cache.get(platform)
|
||||
if tc is not None:
|
||||
|
||||
@@ -2130,6 +2130,9 @@ def _run_manifest_mode(
|
||||
alias_manifest["display_name"] = alias_cfg.get(
|
||||
"platform", alias_plat
|
||||
)
|
||||
alias_manifest["base_destination"] = alias_cfg.get(
|
||||
"base_destination", ""
|
||||
)
|
||||
alias_registry = registry.get("platforms", {}).get(alias_plat, {})
|
||||
alias_install = alias_registry.get("install", {})
|
||||
alias_manifest["detect"] = alias_install.get("detect", [])
|
||||
|
||||
Reference in new issue
Block a user