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:
Abdessamad Derraz committed 2026-10-21 12:39:03 +02:00
1 parent e96f6af583
commit d5a25190a3
14 files changed
+674 -7

No files matched your search

+11 -1
View File
@@ -18,6 +18,12 @@ systems:
- sega-naomi2
- sega-atomiswave
- sega-systemsp
standalone_directories:
- "Dreamcast.BiosPath"
- "find_user_data_dir"
- "$XDG_DATA_HOME/flycast"
- "$HOME/.local/share/flycast"
- "FLYCAST_BIOS_PATH"
notes: |
The libretro core is built from flyinghead/flycast, the same tree as the
@@ -46,7 +52,11 @@ notes: |
macOS (core/windows/winmain.cpp:73-78, core/windows/winmain.cpp:86-89,
shell/android-studio/flycast/src/main/jni/src/Android.cpp:149-159,
shell/apple/emulator-osx/emulator-osx/osx-main.mm:97-101).
standalone_path is relative to the data directory.
standalone_path is relative to the data directory. The BIOS paths are the
Dreamcast.BiosPath setting (core/cfg/option.cpp:144), the system data
directories take $FLYCAST_BIOS_PATH (core/linux-dist/main.cpp:198-202), and
find_user_data_dir() returns the data directory
(core/linux-dist/main.cpp:74, core/linux-dist/main.cpp:247).
Only the Dreamcast reads flat files. The prefix is dc_ for Dreamcast
(core/hw/flashrom/nvmem.cpp:35-50), and the boot ROM is searched as