mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-29 23:27:19 -05:00
fix: place standalone files in the linked folder
standalone_path is relative to the directories a standalone build resolves it against, now declared per profile (standalone_directories). A launcher record that links or passes a whole folder of the BIOS tree under one of them gives that folder, and platform_layouts rebases the standalone view once for the builder, the manifest, verify and slots (launchers.standalone_root, common.standalone_destination). Flycast on RetroPie and ROCKNIX reads bios/dc, on EmuDeck bios/flycast/bios, on Batocera (FLYCAST_BIOS_PATH) and RetroBat (Dreamcast.BiosPath) bios/dc. The ROCKNIX, Batocera and RetroBat scrapers now record the patched data directory, the environment variable and the setting that say so.
This commit is contained in:
1 parent
e96f6af583
commit
d5a25190a3
14 files changed
+674
-7
No files matched your search
@@ -22,6 +22,7 @@ SOURCE_FILES = (
|
||||
f"{GENERATORS}/Ares.Generator.cs",
|
||||
f"{GENERATORS}/Bizhawk.Generator.cs",
|
||||
f"{GENERATORS}/Duckstation.Generator.cs",
|
||||
f"{GENERATORS}/Flycast.Generator.cs",
|
||||
f"{GENERATORS}/Hatari.Generator.cs",
|
||||
f"{GENERATORS}/Jgenesis.Generator.cs",
|
||||
f"{GENERATORS}/KegaFusion.Generator.cs",
|
||||
@@ -1185,6 +1186,35 @@ def duckstation(sources: dict[str, Source]) -> list[Record]:
|
||||
]
|
||||
|
||||
|
||||
def flycast(sources: dict[str, Source]) -> list[Record]:
|
||||
src = sources[f"{GENERATORS}/Flycast.Generator.cs"]
|
||||
folder = src.find(
|
||||
r'string biosPath = Path\.Combine\(' + BIOS + r', "(\w+)"\);', "biosPath under bios"
|
||||
)
|
||||
write = src.find(
|
||||
r'ini\.WriteValue\("(\w+)", "(Dreamcast\.BiosPath)", biosPath\);',
|
||||
"Dreamcast.BiosPath write",
|
||||
folder.end(),
|
||||
)
|
||||
return [
|
||||
_record(
|
||||
"flycast",
|
||||
"standalone",
|
||||
"passes_path",
|
||||
[],
|
||||
source_ref(
|
||||
(
|
||||
src.path,
|
||||
[src.lines(folder.start(), folder.end()), src.lines(write.start(), write.end())],
|
||||
)
|
||||
),
|
||||
search_dir=f"bios/{folder.group(1)}",
|
||||
passes_to=f"emu.cfg [{write.group(1)}] {write.group(2)} = bios/{folder.group(1)}",
|
||||
fails_when_missing=False,
|
||||
)
|
||||
]
|
||||
|
||||
|
||||
# Generators that write each BIOS path into the emulator's configuration
|
||||
# only when the file exists: string x = Path.Combine(bios, ..., "name");
|
||||
# if (File.Exists(x)) ini.WriteValue("section", "key", x).
|
||||
@@ -1401,6 +1431,7 @@ EXTRACTORS: tuple[Callable[[dict[str, Source]], list[Record]], ...] = (
|
||||
amiberry,
|
||||
ares,
|
||||
duckstation,
|
||||
flycast,
|
||||
guarded_writes,
|
||||
hatari,
|
||||
hatari_libretro,
|
||||
|
||||
Reference in new issue
Block a user