mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-19 23:32:36 -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)"
|
display_name: "Nintendo - DS (DeSmuME 2015)"
|
||||||
cores: [desmume2015]
|
cores: [desmume2015]
|
||||||
systems: [nintendo-ds]
|
systems: [nintendo-ds]
|
||||||
|
exclusion_note: ".info declares firmware_count=3 but code never loads external BIOS (desmume_use_external_bios absent)"
|
||||||
|
|
||||||
notes: |
|
notes: |
|
||||||
Frozen 2015 snapshot of DeSmuME. The external BIOS loading feature
|
Frozen 2015 snapshot of DeSmuME. The external BIOS loading feature
|
||||||
(desmume_use_external_bios) does NOT exist in this version.
|
(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.
|
Verified: libretro.cpp has no bios7/bios9/firmware path construction.
|
||||||
ref: desmume2015/desmume/src/frontend/libretro/libretro.cpp
|
ref: desmume2015/desmume/src/frontend/libretro/libretro.cpp
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
emulator: "Dolphin Launcher"
|
emulator: "Dolphin Launcher"
|
||||||
type: 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"
|
source: "https://github.com/RobLoach/libretro-dolphin-launcher"
|
||||||
profiled_date: "2026-03-18"
|
profiled_date: "2026-03-18"
|
||||||
core_version: "1.2.0"
|
core_version: "1.2.0"
|
||||||
|
|||||||
+9
-10
@@ -286,19 +286,18 @@ def find_exclusion_notes(
|
|||||||
if profile.get("type") == "launcher":
|
if profile.get("type") == "launcher":
|
||||||
notes.append({
|
notes.append({
|
||||||
"emulator": emu_display, "reason": "launcher",
|
"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
|
continue
|
||||||
|
|
||||||
# Frozen snapshot with empty files
|
# Profile-level exclusion note (frozen snapshots, etc.)
|
||||||
if not profile.get("files") and profile.get("notes"):
|
exclusion_note = profile.get("exclusion_note")
|
||||||
note_text = profile.get("notes", "")
|
if exclusion_note:
|
||||||
if "frozen" in note_text.lower() or "snapshot" in note_text.lower() or "never loads" in note_text.lower():
|
notes.append({
|
||||||
notes.append({
|
"emulator": emu_display, "reason": "exclusion_note",
|
||||||
"emulator": emu_display, "reason": "frozen_snapshot",
|
"detail": exclusion_note,
|
||||||
"detail": "code does not load external firmware despite .info declaration",
|
})
|
||||||
})
|
continue
|
||||||
continue
|
|
||||||
|
|
||||||
# Count standalone-only files
|
# Count standalone-only files
|
||||||
standalone_files = [f for f in profile.get("files", []) if f.get("mode") == "standalone"]
|
standalone_files = [f for f in profile.get("files", []) if f.get("mode") == "standalone"]
|
||||||
|
|||||||
Reference in New Issue
Block a user