Abdessamad Derraz
2c76cc7df9
feat: read a search list as one need
...
A core that loads the first of several names (yabause: saturn_bios.bin,
sega_101.bin, mpr-17933.bin) needs one of them. Profiles wrote this as
required on the first name and optional on the others, so verify and
the gap report called saturn_bios.bin a missing required file while
sega_101.bin was held, and a set held only through a name marked
optional read as a need met by an optional file.
Model: an explicit group on the file entry, mirroring the platform
field. priority was not reused: it is a rank, read by slot.py, region.py
and truth.py inside a (system, region) slot, and that slot is not the
set. px68k-sdl ranks its IPL list and its font list each from 1 in one
system, pom2 ranks one list per machine model, DuckStation ranks 105
images across every region and takes any of them. A rank cannot say
where one list ends. priority stays the order inside a group.
Readers, through alternatives.settle_sets:
- verify --emulator and the emulator pack: a held member fills the
set, the others leave the report, a set nobody holds is one gap
under its first member naming the others.
- find_undeclared_files (verify platform, core complement of packs and
manifests): same rule, a platform declaration or launcher counts as
answering the set.
- cross_reference: excused members are set aside as other versions.
- slot.py: ranks compare members of one set only.
- archive members: a required set inside an archive is met by one.
- truth: a member gives no requirement of its own, one_of and
one_of_required carry the set, and the exporters and the diff leave
such a line's required as the platform wrote it.
- validate_schemas: members of a group share required.
2026-11-09 17:39:46 +01:00
..
2026-10-28 09:32:44 +01:00
2026-11-09 16:33:56 +01:00
2026-11-05 12:19:12 +01:00
2026-11-06 18:43:05 +01:00
2026-11-06 15:13:30 +01:00
2026-11-06 23:28:21 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 18:37:55 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 18:37:37 +01:00
2026-11-06 16:36:32 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 16:46:40 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 17:15:57 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 16:33:56 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 15:52:58 +01:00
2026-11-07 03:16:06 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 10:54:08 +01:00
2026-11-09 13:44:24 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 17:39:46 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 16:42:16 +01:00
2026-11-06 17:15:57 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 17:15:57 +01:00
2026-11-06 17:15:57 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 06:04:42 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 16:33:56 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 06:52:44 +01:00
2026-11-07 00:11:09 +01:00
2026-11-09 16:33:56 +01:00
2026-11-07 03:16:06 +01:00
2026-11-09 16:33:56 +01:00
2026-11-09 16:33:56 +01:00
2026-11-09 16:33:56 +01:00
2026-11-09 16:33:56 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 16:42:16 +01:00
2026-11-06 16:42:16 +01:00
2026-11-09 16:16:38 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 07:16:25 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 17:06:09 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 12:12:18 +01:00
2026-11-06 17:15:57 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-07 02:49:24 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 16:33:56 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 16:33:56 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 07:37:11 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 16:46:40 +01:00
2026-11-06 17:15:57 +01:00
2026-11-06 17:25:26 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 11:45:49 +01:00
2026-11-06 22:30:55 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 16:36:32 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 16:42:16 +01:00
2026-11-06 16:42:16 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 16:33:56 +01:00
2026-11-09 08:09:47 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 18:37:37 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 16:36:32 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 08:09:47 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 07:28:32 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 10:47:37 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 08:09:47 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 07:35:03 +01:00
2026-11-09 12:22:33 +01:00
2026-11-06 17:15:57 +01:00
2026-11-09 12:22:33 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 16:33:56 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 11:02:00 +01:00
2026-11-09 08:09:47 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 17:15:57 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 10:47:37 +01:00
2026-11-09 10:59:12 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 08:47:21 +01:00
2026-11-09 16:46:40 +01:00
2026-11-07 00:06:15 +01:00
2026-11-09 08:09:47 +01:00
2026-11-09 08:09:47 +01:00
2026-11-09 07:35:03 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 12:22:33 +01:00
2026-11-09 08:09:47 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 08:09:47 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 16:42:16 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 16:33:56 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 16:36:32 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 16:33:56 +01:00
2026-11-06 18:34:40 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:13:55 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 06:04:42 +01:00
2026-11-06 15:14:05 +01:00