From b12c0af4b8ab9003fcc9a2837526877dc135e003 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Sat, 24 Oct 2026 00:52:33 +0200 Subject: [PATCH] feat: card computers and retrooz folder in guides --- platforms/_guides.yml | 10 ++++++++++ scripts/siteguides.py | 14 ++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/platforms/_guides.yml b/platforms/_guides.yml index 0cf62299d..2730cc33f 100644 --- a/platforms/_guides.yml +++ b/platforms/_guides.yml @@ -10,6 +10,7 @@ # `{folders}` in it is the folder list of the page. # `runs_on` names the hardware in the project's own words, cited beside it. # `terminal` is how this system opens a terminal, from its own documentation. +# `card_run` names the computers that open the device's card, when not all do. # `lead` comes before the folder table, `finish` closes the guide. # `logo_owner` and `logo_licence` credit the logo the registry links: it is # shown only to name the platform, with the licence of the repository the @@ -214,7 +215,13 @@ handheld_guide: folder_source: https://github.com/game-de-it/plumOS-XU20V32/blob/main/docs/developer/storage-and-updates.md devices: [MagicX XU20 V32] devices_source: https://github.com/game-de-it/plumOS-XU20V32 + # RetroOZ publishes no build source. Its wiki keeps games under /roms and + # sends BIOS questions to the ArkOS wiki, whose folder is bios in roms. The + # 0.60 image sets system_directory "/roms/bios" (retroarch32/retroarch.cfg:3046). + # Written as the device path: no RetroOZ page names the card's parts. - name: RetroOZ + folder: '`/roms/bios`, as the device names it' + folder_source: https://github.com/southoz/RetroOZ/wiki/Home/4ce4fafb78d647d422e9e468d5bd9cbc63dbe3ea devices: [OGS, OGA, RGB10Max, RGB10Max2] devices_source: https://github.com/southoz/RetroOZ/wiki - name: UnofficialOS @@ -618,6 +625,9 @@ guides: # is the network folder above. terminal: >- Press **F4** in the game menu for a terminal. Paste the line. Press Enter. + # The BIOS folder is on the card's Linux partition (pack_manual below): + # from a computer, only Linux opens it. + card_run: [linux] notes: - >- Install with `--platform retropie`, not RetroArch's files. The command does not run on diff --git a/scripts/siteguides.py b/scripts/siteguides.py index 59c984915..46b59d436 100644 --- a/scripts/siteguides.py +++ b/scripts/siteguides.py @@ -41,7 +41,9 @@ class Guide: README inside the pack. `logo_owner` and `logo_licence` credit the logo the registry links. `runs_on` names the hardware, in the project's own words, for its tile and its row. `terminal` replaces the shared - "On the device" text with how this system opens a terminal. `lead` comes + "On the device" text with how this system opens a terminal. `card_run` + names the computers that can open the BIOS folder on the device's card, + when not every one can. `lead` comes before the folder table, `finish` closes the guide. `{folders}` in `pack_manual` is the folder list of the page, so the README and the page cannot name two folders for one device. @@ -66,6 +68,7 @@ class Guide: terminal: str = "" lead: str = "" finish: str = "" + card_run: tuple[str, ...] = () @dataclass(frozen=True) @@ -180,10 +183,13 @@ def _guide(name: str, data: object, extract_to: str, terminals: dict) -> Guide: if missing: raise GuideError(f"{where}: missing {', '.join(missing)}") run = _texts(data["run"], f"{where}.run") - unknown_tabs = [key for key in run if key not in terminals] - if unknown_tabs: - raise GuideError(f"{where}.run: no terminal named {', '.join(unknown_tabs)}") + card_run = _texts(data["card_run"], f"{where}.card_run") if "card_run" in data else () + for key, tabs in (("run", run), ("card_run", card_run)): + unknown_tabs = [tab for tab in tabs if tab not in terminals] + if unknown_tabs: + raise GuideError(f"{where}.{key}: no terminal named {', '.join(unknown_tabs)}") values: dict = { + "card_run": card_run, "summary": _text(data["summary"], f"{where}.summary"), "folders": _folder_rows(data["folders"], extract_to, f"{where}.folders"), "run": run,