Commit Graph
3 Commits
Author SHA1 Message Date
Abdessamad Derraz 6947df629a fix: read MAME's sets through its search paths
MAME splits rompath, samplepath, hashpath and pluginspath on semicolons
and tries each directory in turn (src/emu/fileio.cpp:53-58, 330-392,
src/emu/emuopts.cpp:44-46, 53). The launcher records spell those lists
with the game's own folder in them, which handed_directories skipped:

- RetroBat passes -rp bios;<rom directory> (Mame64.Generator.cs:93-96)
  and -rompath bios/psxmame/bios;<rom directory> to pSxMAME
  (PSXMame.Generator.cs:38-48).
- KNULLI passes -rompath <romDirname>;/userdata/bios/mame;/userdata/bios
  (mameGenerator.py:116-122).
- RetroPie writes rompath $romdir/mame;$romdir/arcade;$biosdir/mame
  (mame.sh:133).

A semicolon list now gives each directory but the game's folder. A pool
that already lists the folder the files take keeps them there, and a
pool standing for the whole layout holds its files, never its folders.
The MAME profile names its sets at the top of the rompath and its
search settings as pools, pSxMAME its sets and rompath.

RetroBat's -sp and -hash records split on `bool hbmame = emulator ==
"hbmame"` (Mame64.Generator.cs:30): bios/mame/samples for mame64,
bios/hbmame/samples for hbmame.

Manifests: RetroBat gains the 12 pSxMAME sets in psxmame/bios and drops
samples/bbc.zip, read by nobody, which mame/samples/bbc.zip already
serves. KNULLI drops the same copy. RetroPie gains the 1427 MAME sets
in BIOS/mame, the root copies staying for the libretro cores. EmuDeck
names samples/bbc.zip as read outside the BIOS folder. RetroDECK's
samplepath is $bios_path/mame-sa/samples (mame/component_prepare.sh:94,
117): bbc.zip moves there from bios/samples/. Its MAME runs with the
-rompath ES-DE passes, %GAMEDIR%;%ROMPATH%/<system>, so the standalone
sets are named as read outside the BIOS folder and the root copies stay
for the libretro core. The 1427 sets
of RetroBat, KNULLI and EmuDeck stay at the BIOS root, listed in their
rompath. No file of any manifest is lost.
2026-11-10 13:05:59 +01:00
Abdessamad Derraz 09eb7099fb fix: state the arcade versions their code reads
core_version is read at each pin where version_basis says. MAME 2014,
2015, MESS 2015 and CDi 2015 state 0.159 in src/version.c (the libretro
wrapper reports 0.160), MAME/MESS sits on the 0.289 makefile of its pin,
FinalBurn Neo states 1.0.0.03 in src/burn/version.h, FB Alpha 2012 and
its CPS-3 build 0.2.97.30. mame_version of MAME 2014 and 2015 follows,
as MESS 2015 and UME 2015 already said.
2026-10-27 18:58:54 +01:00
Abdessamad Derraz bb19a6d5cf feat: profile what RetroBat and RetroPie run
100 emulator names the two platforms run had no profile, so their packs carried nothing for them. Each was read from the platform's own launcher or scriptmodule: the same program as an existing profile takes the name in cores:, a different build gets its own profile read from that version, a launcher or self-contained game goes to remove_cores, and the rest are new profiles written from their source or shipped binary. The files they need that the collection lacked are collected from the upstream distributions. Bungie and splitwolf trees are read by path and stay out of dedup.
2026-10-20 06:14:10 +02:00