feat: standalone emulator support for batocera and multi-platform name mapping

resolve_platform_cores() builds reverse index from profile cores: field,
fixing 17 name mismatches across Batocera, RetroBat, and Recalbox
(genesisplusgx, pce_fast, pcfx, vb, mame078plus, vice cores, etc.).

standalone_path field on file entries + standalone_cores on platform
YAMLs enable mode-aware pack generation. find_undeclared_files() uses
standalone_path for cores the platform runs standalone, filters by
mode: libretro/standalone per file.

batocera.yml gains standalone_cores (92 entries from configgen-defaults).
generate_readme.py dynamically lists platforms from registry.
3 profiles updated for standalone type/path (mame, hatari, mupen64plus_next).
78 E2E tests pass, pipeline verified.
This commit is contained in:
Abdessamad Derraz
2026-03-26 00:44:21 +01:00
parent 44dc946217
commit 3f676b75e8
31 changed files with 1492 additions and 40 deletions

View File

@@ -204,7 +204,7 @@ def _collect_emulator_extras(
if not u["in_repo"]:
continue
name = u["name"]
dest = name
dest = u.get("path") or name
full_dest = f"{base_dest}/{dest}" if base_dest else dest
if full_dest in seen:
continue