fix: give AdvanceMAME's sets both dir_rom folders

EmuELEC starts AdvanceMAME for arcade, mame and cps1-3 (es_systems.json).
advmame.sh sets dir_rom to /storage/roms/arcade for arcade and keeps
/storage/roms/mame for every other system (advmame.sh:26-30, 80), so an
arcade set is read in both. A binding gave each entry one place: an entry
launched both for a system a record names and for one it does not now
takes the place of each, in the pack, the manifest and verify. A system
the platform's list or machines put the entry under stands for the
entry's own ids, so XRoar's coco3.rom stays in RetroBat's bios/coco alone.

The AdvanceMAME sets are filed under arcade as well as their board.

A second-pass copy outside the BIOS tree now carries its layout path and
resolves by it, as the first pass does: EmuELEC's roms/mame/stvbios.zip
took bios/Arcade/MAME's set by that tail, roms/arcade/stvbios.zip the
Arcade/Arcade one.

Manifests: EmuELEC gains the 29 sets in roms/arcade, each the file
roms/mame holds. roms/mame/stvbios.zip changes from bios/Arcade/MAME to
bios/Arcade/Arcade/stvbios.zip, the copy the entry resolves to. Nothing
else moves.
This commit is contained in:
Abdessamad Derraz committed 2026-11-10 14:04:44 +01:00
1 parent 1b711b96f5
commit 6c41ff95ea
4 files changed
+183 -56

No files matched your search

+5
View File
@@ -1545,6 +1545,11 @@ def _collect_emulator_extras(
extra["system_dir"] = f["system_dir"]
if f.get("unprefixed"):
extra["unprefixed"] = True
# A copy placed outside the BIOS tree resolves by its layout
# path alone, as the first pass does: EmuELEC's
# roms/mame/stvbios.zip took bios/Arcade/MAME's set by that tail.
if f.get("layout_path"):
extra["layout_path"] = f["layout_path"]
extra["claim_order"] = (2, 0, emu_name)
if _take(extra, full_dest, seen_dests, taken):
extras.append(extra)