fix: lay out both builds of a dual-mode emulator

Batocera, RetroBat, Recalbox and ROCKNIX offer some emulators both as a
libretro core and standalone. Filed as standalone only, the libretro
layout was dropped: libretro Dolphin had no dolphin-emu/Sys/GC files.
Platforms now name dual-mode emulators and each gets both layouts.
This commit is contained in:
Abdessamad Derraz committed 2026-10-18 13:19:53 +02:00
1 parent 2b535525ef
commit 3c856bbc10
23 files changed
+1367 -478

No files matched your search

+12
View File
@@ -97,3 +97,15 @@ def yaml_load(stream: str | TextIO) -> Any:
if yaml is None:
return require_yaml() # exits with the install hint
return yaml.load(stream, Loader=_YAML_LOADER)
def yaml_load_upstream(stream: str | TextIO) -> Any:
"""Parse a third party's YAML the way its own PyYAML code reads it.
Our files refuse a repeated key; a platform's file is data we transcribe,
and its code keeps the last value. Batocera 43.1's configgen-defaults.yml
names rtcw's core twice, and refusing it stopped the rescrape.
"""
if yaml is None:
return require_yaml()
return yaml.load(stream, Loader=getattr(yaml, "CSafeLoader", None) or yaml.SafeLoader)