feat: core profiles, data_dirs buildbot, cross_ref fix

profiles: amiberry (new), amiarcadia, atari800, azahar, b2,
bk, blastem, bluemsx, freeintv updated with source refs,
upstream field, mode field, data_directories.

_data_dirs.yml: buildbot source for retroarch platforms,
strip_components for nested ZIPs, freeintv-overlays fixed.

cross_reference.py: data_directories-aware gap analysis,
suppresses false gaps when emulator+platform share refs.

refresh_data_dirs.py: ZIP strip_components support,
for_platforms filter, ETag freshness for buildbot.

scraper: bluemsx single ref, freeintv overlays injection.
generate_pack.py: warning on missing data directory cache.
This commit is contained in:
Abdessamad Derraz
2026-03-18 21:20:02 +01:00
parent fbb2079f9b
commit 86dbdf28e5
16 changed files with 540 additions and 156 deletions

View File

@@ -416,9 +416,20 @@ class Scraper(BaseScraper):
"sony-psp": [
{"ref": "ppsspp-assets", "destination": "PPSSPP"},
],
# single buildbot ZIP contains both Databases/ and Machines/
# ref: libretro.c:1118-1119 — system_dir/Machines + system_dir/Databases
"microsoft-msx": [
{"ref": "bluemsx-databases", "destination": "Databases"},
{"ref": "bluemsx-machines", "destination": "Machines"},
{"ref": "bluemsx", "destination": ""},
],
# FreeIntv overlays — system/freeintv_overlays/<rom>.png
# ref: FreeIntv/src/libretro.c:273 — stbi_load from system dir
# ZIP contains FreeIntvTS_Overlays/ subfolder, cache preserves it
# pack destination maps cache root to system/freeintv_overlays
# so final path is system/freeintv_overlays/FreeIntvTS_Overlays/<rom>.png
# but core expects system/freeintv_overlays/<rom>.png
# fix: point destination into the subfolder
"mattel-intellivision": [
{"ref": "freeintv-overlays", "destination": "freeintv_overlays"},
],
}
for sys_id, data_dirs in SYSTEM_DATA_DIRS.items():