Files
libretro/platforms/romfolders/_sources/recalbox.yml
T
Abdessamad Derraz d38cd58036 feat: scrape recalbox rom folders per board
GitLab refused the hundred raw reads per IP. A GitLab directory is now
read from one archive request, else a shallow sparse git fetch, and the
cache keeps its file list so offline runs know what is absent.

Each board builds system.ini against its defconfig: a core whose package
the board does not enable is dropped (pisnes was the SNES default
everywhere), and a system with no core is not built. The row names the
default most boards share, board_defaults the others. A files: list
names whole files and is carried as files through the index and the
installer.

A folder no name resolves, run by a core of several machines, now holds
those machines: thomson, multivision and pcv2 had no fallback, so their
games got no file. Arcade-indexed cores keep naming files per set.
2026-11-04 16:48:34 +01:00

26 lines
1.3 KiB
YAML

name: Recalbox
platform: recalbox
format: recalbox
params:
systems_dir: package/recalbox-romfs2/systems
configs_dir: configs
sources:
os:
repo: https://gitlab.com/recalbox/recalbox
commit: a264d628ead7074b3c523c8b3311543fe2d3f972
tag: 10.1.1
roms_root:
path: /recalbox/share/roms
from_bios: ../roms
source_ref: os projects/frontend/es-app/src/systems/SystemManager.h:114-119
case_sensitive: null
hidden:
- pattern: .*
source_ref: os projects/frontend/es-app/src/systems/SystemManager.cpp:1801-1803
notes:
- "%ROOT% in roms.folder is /recalbox/share/roms (os projects/frontend/es-app/src/systems/SystemManager.h:114-117)."
- A folder holds games when a file's lowercased extension is in the system's list (os projects/frontend/es-app/src/systems/SystemManager.cpp:1790-1805).
- Each board builds a system.ini against its defconfig, keeping a core whose package it enables and dropping a system left with none (os package/recalbox-romfs2/scripts/systemholder.py:324-342,404; os package/recalbox-romfs2/scripts/systembuilder.py:50).
- "A files: list holds whole file names instead of extensions (os projects/frontend/es-app/src/games/FolderData.cpp:65-91)."
- The default core is the lowest priority, the last listed on a tie, and priority.<board> applies on that board (os projects/frontend/es-app/src/emulators/EmulatorManager.cpp:94-111).