Commit Graph
8 Commits
Author SHA1 Message Date
Abdessamad Derraz a5d7a6572d fix: ask for no file the emulator installs
The pack leaves out what an emulator installs itself
(validation.deliverable); the truth did not. RetroPie's gngeopi help
asked users to copy gngeo_data.zip, which make install puts in the
package's data directory, and amiberry's whdboot tree, scummvm's extra
data and dosbox-x's FREECG98.BMP went into platform lists as files to
bring.

The truth applies deliverable per platform and per build: an entry
nobody has to bring is kept and marked bundled, never added, still
corrected where the platform declares it. A rebuilt archive is
installed only when every member is. The runner written beside an
addition is the build that needs the file (_brought_by), and the
RetroPie sentence names only what its package's core must be given.
2026-10-20 17:39:21 +02:00
Abdessamad Derraz e5174a07bf feat: mark files a core finds by content
DuckStation identifies its BIOS by MD5 in a folder it scans
(bios.cpp:208), so its entries' names are labels. The export wrote them
into Batocera's and ROCKNIX's lists as files to hold: a user with only
scph5501.bin read 104 missing BIOS where DuckStation boots. Labels also
lent their md5 to a name another core opens, and paired by name they
replaced System.dat's scph5000.bin hashes.

found_by: name | content, on a profile or a file and keyed by build like
load_from. The truth records which cores open each name (_named_by). A
label pairs with a platform entry by hash only, is never added, merges
with an opened name only on a shared hash, and is counted in the export
report rather than listed as missing.
2026-10-20 16:32:22 +02:00
Abdessamad Derraz 0eec5ab4be fix: file a truth entry by content, not by name
A name the platform declares filed an entry under that system before
its own system:, and the last declaration of a name won. fmsx's 16 KB
DISK.ROM went to nec-pc-88 for quasi88's 2 KB disk.rom and came out as
a second DISK.ROM line under "NEC - PC-8801"; dosbox's SC-55
ROM1.BIN/ROM2.BIN went to galaksija.

A declaration now files an entry only when it can be the same file: a
shared hash, or no size both admit. The same content declared under two
systems is filed under both, an entry's own system stands against a
refuted homonym, and a systemless profile's placeholder takes only names
the platform does not declare. Merging reads the same size rule, so a
24 KB ROM and an entry capped at 16 KB stay two files.
2026-10-20 16:14:55 +02:00
Abdessamad Derraz 5f62597e6f fix: keep two cores' revisions of a name apart
The truth model merged a pathless entry into another core's entry of
the same name even when their contents disagreed, so the export wrote
one core's size next to the other core's md5.
2026-10-17 11:52:40 +02:00
Abdessamad Derraz 12fcdd52a6 fix: keep every revision a core accepts in truth 2026-10-16 18:14:03 +02:00
Abdessamad Derraz c38c790945 fix: never file a multi-system rom by guess 2026-10-10 12:10:32 +02:00
Abdessamad Derraz 556d4a45aa fix: carry an archive in the truth, not its roms 2026-10-10 10:04:35 +02:00
Abdessamad Derraz 4bde2f0080 fix: lay out truth with the pack mode rule 2026-10-06 01:43:30 +02:00