mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-13 12:22:33 -05:00
fix: exclusion reasons from YAML, not hardcoded in Python
Added exclusion_note field to emulator profiles. verify.py reads this field instead of parsing notes text with fragile keywords. desmume2015: explains .info vs code discrepancy dolphin_launcher: explains standalone BIOS management All exclusion messages now come from YAML data, not Python strings.
This commit is contained in:
@@ -6,11 +6,11 @@ core_version: "SVN (2015 snapshot)"
|
||||
display_name: "Nintendo - DS (DeSmuME 2015)"
|
||||
cores: [desmume2015]
|
||||
systems: [nintendo-ds]
|
||||
exclusion_note: ".info declares firmware_count=3 but code never loads external BIOS (desmume_use_external_bios absent)"
|
||||
|
||||
notes: |
|
||||
Frozen 2015 snapshot of DeSmuME. The external BIOS loading feature
|
||||
(desmume_use_external_bios) does NOT exist in this version.
|
||||
The .info declares firmware_count=3 but the code never loads them.
|
||||
Verified: libretro.cpp has no bios7/bios9/firmware path construction.
|
||||
ref: desmume2015/desmume/src/frontend/libretro/libretro.cpp
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
emulator: "Dolphin Launcher"
|
||||
type: launcher
|
||||
exclusion_note: "stub core calls standalone Dolphin — all BIOS in Dolphin's own directory"
|
||||
source: "https://github.com/RobLoach/libretro-dolphin-launcher"
|
||||
profiled_date: "2026-03-18"
|
||||
core_version: "1.2.0"
|
||||
|
||||
@@ -286,19 +286,18 @@ def find_exclusion_notes(
|
||||
if profile.get("type") == "launcher":
|
||||
notes.append({
|
||||
"emulator": emu_display, "reason": "launcher",
|
||||
"detail": "BIOS managed by standalone emulator, not system_dir",
|
||||
"detail": profile.get("exclusion_note", "BIOS managed by standalone emulator"),
|
||||
})
|
||||
continue
|
||||
|
||||
# Frozen snapshot with empty files
|
||||
if not profile.get("files") and profile.get("notes"):
|
||||
note_text = profile.get("notes", "")
|
||||
if "frozen" in note_text.lower() or "snapshot" in note_text.lower() or "never loads" in note_text.lower():
|
||||
notes.append({
|
||||
"emulator": emu_display, "reason": "frozen_snapshot",
|
||||
"detail": "code does not load external firmware despite .info declaration",
|
||||
})
|
||||
continue
|
||||
# Profile-level exclusion note (frozen snapshots, etc.)
|
||||
exclusion_note = profile.get("exclusion_note")
|
||||
if exclusion_note:
|
||||
notes.append({
|
||||
"emulator": emu_display, "reason": "exclusion_note",
|
||||
"detail": exclusion_note,
|
||||
})
|
||||
continue
|
||||
|
||||
# Count standalone-only files
|
||||
standalone_files = [f for f in profile.get("files", []) if f.get("mode") == "standalone"]
|
||||
|
||||
Reference in New Issue
Block a user