mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-13 13:33:52 -06:00
feat: record every core a rom folder offers
The rom folders files kept the default core of each folder only, so a core the user picks in the frontend's menu was not known to read its sets there. Each folder now lists its offers: every <core> of every <emulator> in AmberELEC's es_systems.cfg (arcade: packages/ui/emulationstation/config/es_systems.cfg:116-150), every core of EmuELEC's es_systems.json, every add_emu_core of ROCKNIX's emulators package.mk with the device case it is written under (arcade: 218-229), and the emulator of every ES-DE <command>. A core written under every branch of a case is offered unconditionally. The ES-XML, ES-JSON, ELEC-conf and ES-DE setups are rescraped at their pins: archr, arkos, chaos, darkos, jelos, kolos, pan4elec, retrobat and unofficialos gain the same records and nothing else. A libretro core offered for a folder reads the sets it loads beside the game there, as the default one does. Manifests, roms folders gaining sets read beside the game: - AmberELEC: +215 (293.1 MB) in fbneo, arcade and mame, for MAME 2010, 2015, 2016 and 2003-Plus. 1 omission leaves. - EmuELEC: +291 (232.0 MB) in cps1, cps2, cps3, mame, fbneo and arcade, for MAME 2010 and 2003-Plus. 47 omissions leave. - ROCKNIX: +501 (538.7 MB) in fbneo, neogeo, cps1, cps2, cps3, arcade and mame, for MAME 2010, 2015 and 2003-Plus. 120 omissions leave. - EmuDeck: +306 (251.2 MB) in cps, cps1, cps2, cps3, arcade and mame, for MAME 2000, 2003, 2003-Plus and 2010. 92 omissions leave. Each omission that leaves was a set named as read outside the BIOS folder. RetroDECK and the other platforms do not change. No file leaves, and verify --all keeps its severity and status counts.
This commit is contained in:
1 parent
01a422f86c
commit
801af113b7
21 files changed
+19272
-6
No files matched your search
+7
-5
@@ -3419,10 +3419,11 @@ def content_folder_tags(config: dict) -> set[str]:
|
||||
A core reading its BIOS sets beside the game (MAME 2003's osd_get_path
|
||||
gives FILETYPE_ROM the content directory) reads them in the folder of
|
||||
the system it is launched for. The folders come from the platform's own
|
||||
lists: ``libretro_systems``, the default core of each folder its rom
|
||||
folders file records, the cores a system offers under its own name, and
|
||||
the systems a RetroPie package registers. A platform with no roms root,
|
||||
or one keeping no folder per system (RetroArch, Lakka), gives none.
|
||||
lists: ``libretro_systems``, every core a folder of its rom folders file
|
||||
offers (its default, its board defaults, ``offers``), the cores a system
|
||||
offers under its own name, and the systems a RetroPie package registers.
|
||||
A platform with no roms root, or one keeping no folder per system
|
||||
(RetroArch, Lakka), gives none.
|
||||
"""
|
||||
if config.get("inherits_from") == "emulatorjs":
|
||||
# EmulatorJS writes the BIOS a frontend hands it and the game to
|
||||
@@ -3438,7 +3439,8 @@ def content_folder_tags(config: dict) -> set[str]:
|
||||
for core, systems in (config.get("libretro_systems") or {}).items():
|
||||
pairs |= {(_core_key(core), str(s)) for s in systems or []}
|
||||
for row in rows:
|
||||
for choice in [row, *(row.get("board_defaults") or {}).values()]:
|
||||
choices = [row, *(row.get("board_defaults") or {}).values(), *(row.get("offers") or [])]
|
||||
for choice in choices:
|
||||
if choice.get("core") and choice.get("emulator") in LIBRETRO_RUNNERS:
|
||||
pairs.add((_core_key(choice["core"]), str(row["folder"])))
|
||||
for system in (config.get("systems") or {}).values():
|
||||
|
||||
Reference in new issue
Block a user