mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-06 10:03:49 -06:00
feat: read ROCKNIX launchers from its packages
The scraper reads the start scripts and the configs each package installs at the tag the BIOS list is pinned to: configs that name a BIOS path, the yabasanshiro search, directories handed to DuckStation and the PCSX2 builds, and the ln -s commands that put bios/ where an emulator reads. A package that ships one config per device gets a device field only where the values differ, as melonDS does on AMD64.
This commit is contained in:
1 parent
a9c175d322
commit
57af8e4921
7 files changed
+1815
-4
No files matched your search
@@ -234,11 +234,29 @@ launchers:
|
||||
| `fails_when_missing` | `false`, or the message the launcher raises |
|
||||
| `fails_scope` | `emulator` when the failure needs every record of the emulator to come up empty |
|
||||
| `depends_on_option` | Options or conditions that decide whether the record applies |
|
||||
| `device` | Devices whose shipped config the record reads, set only where a package ships configs that differ between devices |
|
||||
| `source_ref` | `path:lines` at the revision `source` pins |
|
||||
|
||||
Each record is read with `ast` from the generator. An extractor that no longer
|
||||
recognises the shape of the code raises: an empty list would read as a
|
||||
launcher that looks for nothing.
|
||||
Batocera's generators are read with `ast`, RetroBat's C# generators as text.
|
||||
ROCKNIX and EmuDeck launch from shell scripts and configs shipped with each
|
||||
package, so `scripts/scraper/shell_launchers.py` reads assignments, `for`
|
||||
loops, `ln -s` commands and `key = value` lines. A ROCKNIX package can ship
|
||||
one config per device: the configs are grouped by the value read, and
|
||||
`device` appears only when there is more than one group. melonDS writes its
|
||||
seven BIOS paths on every device but AMD64, where the keys are left empty:
|
||||
|
||||
```yaml
|
||||
- emulator: melonds
|
||||
build: standalone
|
||||
kind: fixed_name
|
||||
names: []
|
||||
passes_to: melonDS.ini BIOS9Path, BIOS7Path, FirmwarePath, DSiBIOS9Path,
|
||||
DSiBIOS7Path, DSiFirmwarePath, DSiNANDPath left empty
|
||||
device: AMD64
|
||||
```
|
||||
|
||||
An extractor that no longer recognises the shape of the code raises: an
|
||||
empty list would read as a launcher that looks for nothing.
|
||||
|
||||
### Inheritance
|
||||
|
||||
|
||||
Reference in new issue
Block a user