RetroDECK
RetroDECK copied to clipboard
Create a list of emulators with available options and properties
List should have emulator name, available options and properties Proposition -- YAML format (or JSON)
Proposed example:
yuzu:
name: YUZU
options:
- option1: true
- option2: false
- resettable: true
properties:
- standalone: true
- property2: false
mgba:
name: mGBA
options:
- option1: true
- option2: false
- resettable: true
properties:
- standalone: false
- property2: true
or
{
"yuzu": {
"name": "YUZU",
"options": [
{
"option1": true
},
{
"option2": false
},
{
"resettable": true
}
],
"properties": [
{
"standalone": true
},
{
"property2": false
}
]
},
"mgba": {
"name": "mGBA",
"options": [
{
"option1": true
},
{
"option2": false
},
{
"resettable": true
}
],
"properties": [
{
"standalone": false
},
{
"property2": true
}
]
}
}
We should add libretro as a master group as many configs are in common (we can override them by core):
yuzu:
pretty_name: YUZU
options:
- option1: true
- option2: false
- resettable: true
properties:
- libretro: false
- property2: false
retroarch:
pretty_name: RetroArch
options:
- load_state: true
properties:
- libretro: true
- property2: true
dosbox_pure_libretro:
pretty_name: DOSBox PURE
properties:
- libretro: true # this inherit all the options from libretro as this is true
options:
- property2: false # this overrides property2 for this core only
Pretty names can be found in this file, but we can decide to deprecate it and merge it here, but we would need to edit the function to read it.
List of options is extensible Format is not even close to final
We should have two pretty names, one is for using in the FE verbatim, second (shorter one) to use for string creation For example "Reset the" + description + name + "to default settings" becomes "Reset the Wii U emulator Cemu to default settings"
List of options is extensible Format is not even close to final
We should have two pretty names, one is for using in the FE verbatim, second (shorter one) to use for string creation For example "Reset the" + description + name + "to default settings" becomes "Reset the Wii U emulator Cemu to default settings"
Agreed, but we can say that the id is the dosbox_pure_libretro pretty name can be DOSBox PURE and a description field can be added like Cool DOS Emulator that does things.
dosbox_pure_libretro:
pretty_name: DOSBox PURE
description: Cool DOS Emulator that does things
properties:
- libretro: true # this inherit all the options from libretro as this is true
options:
- property2: false # this overrides property2 for this core only
For example "Reset the" + description + name + "to default settings" becomes "Reset the Wii U emulator Cemu to default settings"
Code be like reset id:
reset dosbox_pure_libretro
A we may add more parents in the future, such as ARES and MAME (SA) we can edit the list like this:
yuzu:
pretty_name: YUZU
options:
- option1: true
- option2: false
- resettable: true
properties:
- property2: false
retroarch:
pretty_name: RetroArch
options:
- load_state: true
properties:
- property2: true
dosbox_pure_libretro:
pretty_name: DOSBox PURE
parent: retroarch # I removed the libretro bool and I added the parent
options:
- property2: false # this overrides property2 for this core only
Parents could be a part of a structure, not a property, right? Also, I'm not sure I understood the names and description proposal (: Ideally, you could make couple of entries so we could see an example
Parents could be a part of a structure, not a property, right?
You mean like this?
yuzu:
pretty_name: YUZU
options:
- option1: true
- option2: false
- resettable: true
properties:
- property2: false
retroarch:
pretty_name: RetroArch
options:
- load_state: true
properties:
- property2: true
cores:
dosbox_pure:
pretty_name: DOSBox PURE
options:
- property2: false # this overrides property2 for this core only
Also, I'm not sure I understood the names and description proposal (:
When you're calling a function you call the emulator by id and not by pretty_name, but for the frontend you don't use the id but pretty name + description as you saud before.