Skip to content

[Feature request] Allow locking emulator UI/UX settings #19338

Description

@Flandyn

Quick summary

Allow users to keep global UI/UX settings unchanged when restoring defaults, booting with defaults, or creating a custom configuration from defaults/database settings.
This could be implemented either by allowing global UI/UX settings to be "locked" as the values which other configurations derive from, or by providing an option for custom configurations to always use the user's global UI/UX settings.

Details

Preface: To avoid potential confusion with generic "emulator settings", I'll be using "UI/UX settings" here to refer to the group of settings under the "Emulator" tab in RPCS3's Settings window.

Earlier this year, certain features were added to RPCS3 to "increase immersion" - the worst of which was #18322, which could randomly blast loud music while browsing the game list. Thankfully, an option was added to disable it, and it's no longer an issue.
However, playback of audio during the boot sequence was also added in #18323 - and while that did eventually get its own toggle in #18477 - it defaults to true, meaning that operations which derive their configuration from the default settings can re-enable the feature. This includes, and may not be limited to:

  • "Restore Defaults"
  • "Boot with Default Configuration"
  • "Create Custom Configuration from Database Settings" (as this derives from defaults)
  • "Create Custom Configuration from Default Settings"

While I can understand the appeal of feeling "immersed" during a potentially lengthy boot sequence by playing the game's associated soundtrack, it's definitely not an option for everyone, not to mention that it can feel more disruptive than "immersive" when the boot sequence is especially short.

It also exposes a broader question of whether certain settings should be affected by these kinds of operations at all:

  • "Restore Defaults" is quite broad, and perhaps a secondary option to "Reset Page to Defaults" could be useful - especially in the context of only wanting to reset CPU/GPU/etc. settings while preserving UI/UX configuration.
  • Similarly, "Create Custom Configuration from Default Settings" and "Boot with Default Configuration" should not inherently assume that the user wants their UI/UX settings reset to default, as I would expect that these are typically used to get a "clean slate" for internal emulation settings such as CPU/GPU configuration.
  • "Create Custom Configuration from Database Settings" is particularly unintuitive in this regard, as "from Default Settings"/"Default Configuration" at least gives the user some indication that everything may be reset to default, whereas "from Database Settings" generally implies "I only want to apply the recommended compatibility settings, not change all my unrelated UI/UX settings".

I believe that there should either be some way to "lock" global UI/UX settings as the values that everything else derives from, or a global option to allow overriding the UI/UX portion of custom/default configurations with the user's global settings.
The exact implementation isn't too important, but the intended behaviour is that UI/UX preferences should be able to persist even when resetting/booting with/creating configurations based on default/database settings.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions