Commit Graph
2272 Commits
Author SHA1 Message Date
Abdessamad Derraz 721622c2ea fix: keep bold labels in nested profile blocks
The nested list structure stays, so each label renders bold instead of showing its asterisks. The platform details block becomes a list as well: its labels were paragraphs followed by items with no blank line between them. validate_site now reports any asterisks that reach a rendered page outside code, which runs in the deploy and in pipeline step 8b.
2026-10-20 12:46:37 +02:00
Abdessamad Derraz f8fc9a672e fix: test nested blocks with what CI installs
The rendering test imported pymdownx, which the CI test job does not install. An admonition nests its body by the same four spaces, so the test uses it and needs only markdown.
2026-10-20 12:33:14 +02:00
Abdessamad Derraz 90b0313470 fix: render nested profile blocks as lists
A key holding a mapping was written as a paragraph, and its children landed eight spaces deep inside the four-space admonition, where Markdown reads an indented code block: the clownmdemu analysis showed raw asterisks. Each level is now a list item with its children as a sublist, booleans read yes or no, and a null reads none.
2026-10-20 12:32:41 +02:00
Abdessamad Derraz dd9afc8190 chore: regenerate the generated artifacts
Database, install manifests, README, site config and the corrected platform files, rebuilt after the profile work and the collection cleanup.
2026-10-20 12:16:11 +02:00
Abdessamad Derraz 6a852737a8 fix: one file under two spellings keeps both cores
BlastEm opens 32X_M_BIOS.bin and PicoDrive 32X_M_BIOS.BIN. On a case-insensitive platform the manifest kept the first and dropped the second core's claim, so an install narrowed to PicoDrive (RetroArch on Switch) lost the 32X BIOS its pack carries. The claim now joins the entry kept.
2026-10-20 11:27:08 +02:00
Abdessamad Derraz 312ba968bb docs: name unread_on in the profiling reference 2026-10-20 11:27:07 +02:00
Abdessamad Derraz 4f5349c8fd fix: blastem's U region covers Latin America
The Sega CD region code U is the Americas, as for the other profiles' US Mega CD BIOS.
2026-10-20 11:27:07 +02:00
Abdessamad Derraz b286e85765 chore: drop uae4all2's AROS copies
Recalbox now resolves uae4all to its own libretro build, so only the bundled entries of the standalone uae4all2 reached these two AROS ROMs, which its release ships.
2026-10-20 11:26:46 +02:00
Abdessamad Derraz eee091cc8b chore: regenerate the database
Indexes the files collected for tyrquake, prboom, PUAE, amiberry, mame2003-plus and MAME, and the LaserActive firmware.
2026-10-20 10:37:33 +02:00
Abdessamad Derraz b298ec6773 feat: profile Recalbox's uae4all core
Recalbox compiles uae4all from Chips-fr/uae4all-rpi (libretro-uae4all.mk:8-9), a libretro core that reads kick34005.A500 from the system directory and nothing else. built_by makes the name resolve to it on Recalbox only.
2026-10-20 10:37:33 +02:00
Abdessamad Derraz 74514930d0 fix: list MAME's hash, plugins and floppy sounds
The libretro core passes system/mame/{hash,plugins,samples} (retro_init.cpp:111-155). Software lists are required in mamemess, where softlists are on by default. The trees and the 19 floppy samples are collected from libretro/mame at the pin.
2026-10-20 10:37:33 +02:00
Abdessamad Derraz 57d5c3ffd0 fix: list the artwork mame2003-plus ships
Seven artwork zips from the core's metadata/artwork are read from mame2003-plus/artwork/ when Display Artwork is on, the default (artwork.c:2242-2258).
2026-10-20 10:37:32 +02:00
Abdessamad Derraz e9dfcc97a7 fix: list the WHDBoot files amiberry needs
The libretro core copies whdboot from the system directory and uses a candidate only when WHDLoad, JST, AmiQuit, boot-data, the game database and the five RTB files are all there (amiberry.cpp:11510-11584). The core zip has none of them, so they are collected.
2026-10-20 10:37:32 +02:00
Abdessamad Derraz 690a4bd664 fix: list ymir's gamecontrollerdb.txt
The standalone build loads it from the working directory then the profile root (app.cpp:5084-5119). The release packages ship it, the libretro tree never reads it.
2026-10-20 10:37:32 +02:00
Abdessamad Derraz 405e1fa4e9 fix: list Nouveau_IBM.ttf for DOSBox-X
readTTF loads it when ttf.font names it, as the Windows installer sets it (output_ttf.cpp:318-386). It ships with the emulator.
2026-10-20 10:37:32 +02:00
Abdessamad Derraz 6255c822ae docs: say which cannonball files are built in
tilemap.bin and tilepatch.bin are compiled into the core and settings come from core options, so no res/ file or config.xml is opened (omusic.c:50-67, config.c:86-87).
2026-10-20 10:37:32 +02:00
Abdessamad Derraz 85ecaf7e63 fix: list PUAE's floppy sounds and capsimg
The A500 and LOUD floppy sound sets are read from uae_data/ (driveclick.c:77-104) when the option picks them, and capsimg is loaded from the system folder for IPF images (caps.c:37-96). The ten samples are collected from the core repository.
2026-10-20 10:37:31 +02:00
Abdessamad Derraz 58ca16be6d fix: prboom builds prboom.wad in, reads IWADs
Since 3fffeb1 prboom.wad is compiled into the core (d_main.c:1449-1465). The IWADs it searches beside the content, in system/prboom/ and in system/ are now listed, with the ZDoom pk3 loaded before a pk3 mod.
2026-10-20 10:37:31 +02:00
Abdessamad Derraz 4466a9c87d fix: list the PAK files tyrquake reads
The profile listed none. id1/pak0.pak is required (host.c:711-760), the retail and mission pack paks are read in order until one is missing, and Quoth 2.2 is mounted when the content path names it (common.c:1017-1020, 1724-1725). The three Quoth paks are collected, pak1.pak as a release asset.
2026-10-20 10:37:31 +02:00
Abdessamad Derraz fd6c0451e0 fix: document gambatte's custom palette lookup
With colorization set to custom, a DMG game reads palettes/<rom>.pal, then <header title>.pal, then default.pal under the system directory (libretro.cpp:2012-2091). A user-made file, so the entry is unsourceable.
2026-10-20 10:37:30 +02:00
Abdessamad Derraz 6181ee429a chore: keep MAME's support trees whole
hash/ and plugins/ are read by path as a whole, and two MAME versions share most software lists byte for byte. Dedup would leave one tree incomplete.
2026-10-20 10:37:30 +02:00
Abdessamad Derraz 627a1ea57c chore: pin RealRTCW's package files by sha1
Hashed from the RealRTCW 5.2 package members, so each bundled entry names the bytes the release ships.
2026-10-20 10:37:30 +02:00
Abdessamad Derraz a67672fc71 fix: list the files RealRTCW ships in main/
realrtcwdefault.cfg is required (files.c:4364-4368), autoexec.cfg runs unless in safe mode, and eleven pk3 archives are loaded by the scan of main/. All of them ship in the RealRTCW 5.2 package, so they are bundled and stay out of the packs.
2026-10-20 10:31:14 +02:00
Abdessamad Derraz f5b0815c3a docs: say how ET: Legacy builds its legacy pk3
legacy_<version>.pk3 is the engine's own build output, named from git describe and different for each release and architecture (ETLBuildMod.cmake:301-316, ETLVersion.cmake:120-131). It is installed with the engine, not downloaded on first run as the note said.
2026-10-20 10:31:14 +02:00
Abdessamad Derraz f3a455d333 fix: pin x16emu on the r49 release
The pin was an unreleased tree past r49 labelled r50, while the rom.bin hashes were r49's. No r50 emulator release exists, so the profile now pins the r49 tag those hashes describe, and names its source repository so the pin is read.
2026-10-20 10:31:14 +02:00
Abdessamad Derraz f4f6387854 fix: list the HLSL shaders Cxbx-Reloaded loads
LoadShadersFromDisk opens five shaders and two includes from the hlsl folder beside cxbx.exe and aborts when one is missing (Shader.cpp:812-825, 846-929). They ship in the release zip, so they are bundled.
2026-10-20 10:31:14 +02:00
Abdessamad Derraz 0938c30b65 fix: a platform's own build answers its core name
Recalbox compiles uae4all from Chips-fr/uae4all-rpi, a libretro core, while RetroPie's uae4all package is the standalone uae4all2. A profile whose built_by names the platform now wins the name there, and a bare key match still decides everywhere else.
2026-10-20 10:29:47 +02:00
Abdessamad Derraz cd777848aa fix: profile BlastEm at its pin
The pin (1e0de94d) already loads Sega CD, 32X, ColecoVision and LaserActive firmware from the system directory, and the profile still described the earlier core with no BIOS at all. Each file now carries its code reference, required flag and build. The LaserActive player firmware (uPD78237, 64 KiB) is collected from the dump its author published.
2026-10-20 10:27:15 +02:00
Abdessamad Derraz 40bc07aa3a feat: record files a launcher never opens
unread_on names the platforms whose launcher points the emulator at other files. RetroBat writes absolute BIOS paths into standalone BlastEm's config, so the default names were reported as required and missing there. Such an entry leaves that platform's gap report and pack, and its emulator page says where it is never opened.
2026-10-20 10:27:15 +02:00
Abdessamad Derraz 1f64991ff5 fix: mame2015 reads hiscore.dat from its cwd
hiscore_init opens the file through emu_file with no search path. The branch that built system_dir/mame/ is under #if 0, so the profile's mame2015/ path named a place the core never reads.
2026-10-20 10:18:10 +02:00
Abdessamad Derraz d68e8c2b72 fix: put the UQM addon packs in content/addons
A .uqm in content/packages is mounted at the root, one in content/addons at addons, and loadAddon opens addons/3domusic, addons/3dovoice and addons/remix (options.c:393-402, 518-551, setup.c:118-132). The six music, voice and remix packs were placed where they would not load. The installer writes them to content\addons too.
2026-10-20 10:18:10 +02:00
Abdessamad Derraz ef8b372810 chore: drop copies only an install provides
A file that arrives with the emulator is already on the user's machine
and the packs leave it out. 4558 collected copies (1.4 GB) were reached
only by such entries, with no platform, other profile entry or install
manifest needing them. They are removed, and two release-asset copies
leave the ignore list. bundled_only.py now lists every copy of a listed
file, since the database keeps one path per content, and pipeline step
4d fails while one remains.
2026-10-20 10:17:08 +02:00
Abdessamad Derraz f71b00615d fix: keep the system loop's declared entries apart
The per-system lookup named its dictionary declared, which the file loop below reassigns to a list, so the second system of a platform page raised AttributeError.
2026-10-20 10:17:01 +02:00
Abdessamad Derraz 7ecd8c948f chore: record the sha1 of bundled files
336 entries for files that arrive with the emulator named no hash, so
the collected copy was the only record of which file the release
ships. Each now carries the sha1 and size of the copy collected from
that emulator's own release, so the profile keeps the file's identity
once the copy leaves the collection. Entries whose name is a pattern
keep no hash.
2026-10-20 09:29:18 +02:00
Abdessamad Derraz f8e0b33314 feat: report a published export that fell behind
exports/ is committed but CI cannot rebuild it, since the originals it
patches live in the local cache. The native freshness check now runs
the export offline and compares it with the committed files, and
refresh_stale writes the export again after refreshing an original.
2026-10-20 09:28:14 +02:00
Abdessamad Derraz b6a1304893 feat: commit the corrected file of each platform
exports/ now holds the twelve platforms' own files, corrected, with a
report of every change, read by the site's corrected files page. Two
summaries are reworded for the page: an addition the format cannot
carry is counted as left out, and RetroPie names each skipped package
by sentence instead of joining reasons with semicolons. Its parser no
longer reads "e.g" as a file name.
2026-10-20 09:26:12 +02:00
Abdessamad Derraz b3b3880c19 chore: say which repository each source_ref cites
Profiles that read two repositories, a libretro port and its upstream,
now prefix each citation with source or upstream, decided by which tree
carries the cited value at its pin. The emulator pages use the word to
tell libretro glue, emulator code as the port carries it, and the
upstream emulator apart.
2026-10-20 09:23:41 +02:00
Abdessamad Derraz 205ae5fadb fix: a dual-mode name reaches its libretro profile
Batocera, Recalbox and RetroBat launch pcsx2 standalone and as LRPS2.
The name matched the standalone profile's key, so lrps2, which lists
pcsx2 among its cores, was left out and its files never reached those
packs. A name in dual_mode_cores now also resolves to the libretro
profiles that claim it.
2026-10-20 09:21:48 +02:00
Abdessamad Derraz f84eadd954 fix: name the emulators of systems no profile ids
RetroArch, Lakka, RetroPie, EmuDeck and RetroBat group NAOMI and
Atomiswave as sega-dreamcast-arcade and the Enterprise 64 and 128 as
one system. No profile uses those ids, so the emulator cell was empty.
When no id matches, a platform page now names the emulators that read
a file the system lists. Archive members do not count.
2026-10-20 09:20:06 +02:00
Abdessamad Derraz ca13e6036d feat: publish the corrected platform files
export_native now writes into exports/ by default, and beside each
platform's corrected file a report naming every change, where the run
printed five per kind. A new site page lists each platform with its
original file, a download of the corrected one and every corrected,
filled or withheld value. Each platform page links to its row.
2026-10-20 09:20:02 +02:00
Abdessamad Derraz 71b59eb2a3 docs: rewrite half-dash asides in comments
Dropping the double-dash asides left 72 comments and docstrings with
half a dash glued to the next word ("shape -a size or a size range -is
all"). They now read as a colon, a comma or parentheses, and a prose
style test names any that comes back.
2026-10-20 09:17:10 +02:00
Abdessamad Derraz e424a35aee feat: install one emulator's files in one command
install.py --emulator NAME keeps what the named emulators read on the detected platform: their own files and the platform's files of the systems they run, as a pack built for them carries, without the systems no core is mapped to. Each emulator page now gives that command for Linux, macOS and Windows, beside the per-file links.
2026-10-20 09:09:05 +02:00
Abdessamad Derraz 7c94a58825 feat: tell libretro glue from emulator code
A libretro port carries the emulator's own sources beside its glue: pcem cites src/mem.c in the port, which is PCem's code. A citation in the port is labelled libretro glue when it is one of the libretro interface files, emulator code otherwise, and upstream emulator when it is in the original repository.
2026-10-20 09:05:57 +02:00
Abdessamad Derraz 10ac700e27 chore: regenerate the generated artifacts
README, database, install manifests, target lists and the site navigation, rebuilt from the profiles and rules committed since the last regeneration.
2026-10-20 08:56:09 +02:00
Abdessamad Derraz 9b630a39bb fix: hold the new profiles to the shared checks
BizHawk's NDS firmware slot accepts six dumps, two of which the collection holds, and the profile named one. Kega Fusion's US Mega CD BIOS covers the Americas. Sonic 3 A.I.R. data is installed by Batocera in unpacked form. izApple2 downloads its ProDOS images when a card is added, which is no install. The Lakka list now equals a case-keeping RetroArch install less what Lakka's packages install, and the profile hash contradiction count leaves out entries no pack ships. The pipeline table names step 8b.
2026-10-20 08:12:03 +02:00
Abdessamad Derraz 274db1322f fix: the second extras pass reads installed marks
A file a core reads at several destinations is added again at each one by a second pass that worked from the raw profile entries, so files the emulator or the platform's package installs came back into the packs and manifests by that route: the installer's per-target replay disagreed with the builder on six files.
2026-10-20 08:12:03 +02:00
Abdessamad Derraz ceaca2bf1d chore: record what each platform installs
Each platform's own packages were read at the revision our data pins, for every emulator and core it ships: Batocera, Recalbox, RetroPie, ROCKNIX, Lakka, RetroDECK, RetroBat and EmuDeck. Files a package installs where the emulator reads them are recorded with installed_on, and files a release bundles but a package leaves out with not_bundled_on, so each platform's pack brings what its users lack and nothing they already have. The standalone profiles never checked before were held against their releases the same way. Batocera's imame4all is the mame2000 core. The primary neogeo.zip was a 7.7 KB placeholder no platform pins and no pack served: removed, the real dumps stay in .variants.
2026-10-20 07:17:05 +02:00
Abdessamad Derraz 954f213d42 fix: one id per card, and render the site locally
A copy filed under two consoles of one maker was listed twice with the same id, and a data directory listed the same bytes twice, so the site deploy refused 20 pages. The first card keeps the id. The pipeline only generated the pages, so it now renders them with mkdocs build --strict and runs validate_site as the deploy does. The resumed-speed test read the clock and failed on a slow runner, it now fixes the elapsed time.
2026-10-20 07:05:01 +02:00
Abdessamad Derraz 6df087e3e9 fix: a platform's own data trees leave its pack
The platform layer names data trees for its systems: retroarch.yml carries dolphin-sys and ppsspp-assets, and Lakka inherits them, while Lakka's core packages install both trees into the system directory. A profile records that with installed_on on its data directory, and the pack and the install manifest now leave those trees out for that platform.
2026-10-20 06:36:32 +02:00
Abdessamad Derraz 4227aee9b4 docs: explain why the pack leaves a file out
A file the emulator installs itself is left out of the packs, per build and per platform. The profiling guide documents bundled, installed_on and not_bundled_on, the FAQ says why a file the emulator reads may be missing from a pack, and an emulator page names the build that installs it and the platforms whose package differs.
2026-10-20 06:24:18 +02:00