mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-20 18:59:07 -05:00
fix: a platform's own build answers its core name
Recalbox compiles uae4all from Chips-fr/uae4all-rpi, a libretro core, while RetroPie's uae4all package is the standalone uae4all2. A profile whose built_by names the platform now wins the name there, and a bare key match still decides everywhere else.
This commit is contained in:
1 parent
cd777848aa
commit
0938c30b65
2 files changed
+30
-1
No files matched your search
+13
-1
@@ -2245,10 +2245,22 @@ def resolve_platform_cores(
|
||||
elif isinstance(cores_config, list):
|
||||
core_set = {str(c) for c in cores_config}
|
||||
index = upstream_profile_index(profiles)
|
||||
platform = str(config.get("_key") or "")
|
||||
|
||||
def designated(name: str) -> str | None:
|
||||
# A build the platform compiles itself (built_by) is what its
|
||||
# name means there: Recalbox's uae4all is Chips-fr/uae4all-rpi,
|
||||
# RetroPie's the standalone uae4all2 under the same name.
|
||||
own = sorted(
|
||||
p for p in index.get(name, ())
|
||||
if platform and platform in (profiles[p].get("built_by") or [])
|
||||
)
|
||||
return own[0] if own else preferred_profile(index, name)
|
||||
|
||||
result = {
|
||||
profile
|
||||
for c in core_set
|
||||
if (profile := preferred_profile(index, c)) is not None
|
||||
if (profile := designated(c)) is not None
|
||||
}
|
||||
# A name the platform launches both ways designates its libretro
|
||||
# build too. Batocera, Recalbox and RetroBat run pcsx2 standalone and
|
||||
|
||||
Reference in new issue
Block a user