mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-13 05:23:51 -06:00
fix: place Dolphin's User folder a platform sets
Dolphin reads its User folder at $XDG_DATA_HOME/dolphin-emu, else ~/.local/share/dolphin-emu (Source/Core/UICommon/UICommon.cpp:449-477). The profile names both, so a launcher handing that folder places the layout: - EmuELEC starts Dolphin with XDG_DATA_HOME=/storage/roms/dolphin (dolphinSA/scripts/dolphin.sh:28): its 30 files move from the BIOS root to dolphin/dolphin-emu/ of the install tree. - RetroDECK links User/Triforce to bios/Triforce (dolphin/component_prepare.sh:30, 49), where its list already puts segaboot.gcm. The rest of the User folder sits in the Flatpak's data directory and is named as read outside the BIOS folder. An entry only the standalone build reads, path and no standalone_path, now takes that path as its layout path (Load/Firmware/rtl_bt/), and the pass copying a name the platform declares elsewhere reaches an unprefixed path: gba_bios.bin lands in dolphin/dolphin-emu/GBA/.
This commit is contained in:
1 parent
74ef0a37d5
commit
2fc3df50c6
4 files changed
+39
-4
No files matched your search
@@ -784,5 +784,28 @@ class CemuOnRetroDECK(unittest.TestCase):
|
||||
self.assertEqual(otp.get("unplaced"), "outside_bios_folder")
|
||||
|
||||
|
||||
class DolphinUserDirectory(unittest.TestCase):
|
||||
"""EmuELEC runs Dolphin with XDG_DATA_HOME=/storage/roms/dolphin (dolphin.sh:28),
|
||||
RetroDECK links $XDG_DATA_HOME/dolphin-emu/Triforce to bios/Triforce
|
||||
(dolphin/component_prepare.sh:30, 49)."""
|
||||
|
||||
def test_emuelec_installs_the_user_directory_below_its_roms(self) -> None:
|
||||
view = standalone_view("dolphin", "emuelec")
|
||||
placed = {e["name"]: e["standalone_path"] for e in view["files"] if e.get("layout_path")}
|
||||
self.assertEqual(placed["segaboot.gcm"], "dolphin/dolphin-emu/Triforce/segaboot.gcm")
|
||||
# A standalone-only entry's path is its place in the User directory.
|
||||
self.assertEqual(
|
||||
placed["rtl8723a_fw.bin"], "dolphin/dolphin-emu/Load/Firmware/rtl_bt/rtl8723a_fw.bin"
|
||||
)
|
||||
self.assertTrue(all(e.get("unprefixed") for e in view["files"] if e.get("layout_path")))
|
||||
|
||||
def test_retrodeck_places_triforce_alone(self) -> None:
|
||||
view = standalone_view("dolphin", "retrodeck")
|
||||
placed = {e["name"]: e["standalone_path"] for e in view["files"] if e.get("layout_path")}
|
||||
self.assertEqual(placed, {"segaboot.gcm": "Triforce/segaboot.gcm"})
|
||||
(ipl, *_) = [e for e in view["files"] if e["name"] == "IPL.bin"]
|
||||
self.assertEqual(ipl.get("unplaced"), "outside_bios_folder")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in new issue
Block a user