RetroDECK icon indicating copy to clipboard operation
RetroDECK copied to clipboard

Emulator Presets (Modern/Retro/Custom)

Open XargonWan opened this issue 2 years ago • 3 comments

Emulator presets

The preset is a function that can apply a predefined set of settings for all the supported emulators. The default presets can be:

  • Retro
  • Modern
  • Custom

Retro

This will be setting the emulators to be in high fidelity:

  • original aspect ratio (aka no widescreen if not native)
  • no upscaling
  • shader to resemble the original screen
  • borders ON
  • custom textures off

Modern

This will set the emulators to have the best possible graphics:

  • widescreen )where supported)
  • maximum FPS friendly upscaling
  • no shader (unless they help in improving the graphics)
  • borders OFF for the widescreened systems
  • custom textures ON

Custom

Custom presets are saved by the user.

How the presets will be managed?

There will be a presets folder in retrodeck/presets that will contain all the preset files:

Modern.rdpreset
Retro.rdpreset
My First Preset.rdpreset

In this case Modern and Retro are RetroDECK provided default presets, My First Preset instead is a user defined preset.

Notes

  • Users can share their presets
  • The name of the file will even be the name of the preset, or we can decide to include a line in the preset file with the preset name
  • When saving the preset, if no name is given it will be generated a name like Custom Preset (date).rdpreset.
  • This can be an evolution of the already in place system: https://github.com/XargonWan/RetroDECK/tree/main/emu-configs/defaults/retrodeck/presets

XargonWan avatar Jan 12 '24 13:01 XargonWan

They should be per device

Where most of it is the same a Linux Desktop PC can handle more the handheld devices. So

Steam Deck: Retro Modern Custom

Linux PC:

Retro Modern Custom OMEGA

Lazorne avatar Jan 12 '24 18:01 Lazorne

Not sure if this is already planned, but it would be great if there would also be a Hybrid (semi-custom) preset:

The user chooses e.g. Modern as the "upstream" preset and every configuration they change is saved in a patch file. A Hybrid preset gets generated that is based on Modern but with the custom changes.

Now when RetroDECK changes the Modern preset, the user's Hybrid preset is generated again so the user receives the Modern update but with the custom values still intact

Libretto7 avatar Apr 24 '24 15:04 Libretto7

We kinda try to do that already and we do have the architecture for it.

The goal have always been to preserve user data

Lazorne avatar Apr 24 '24 17:04 Lazorne