Skip to content

Config: Convert Ozone 'Color Theme' setting to array - #19451

Open
Ryunam wants to merge 1 commit into
libretro:masterfrom
Ryunam:array-ozone-color-theme
Open

Config: Convert Ozone 'Color Theme' setting to array#19451
Ryunam wants to merge 1 commit into
libretro:masterfrom
Ryunam:array-ozone-color-theme

Conversation

@Ryunam

@Ryunam Ryunam commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

Description

This PR proposes a conversion of the Ozone "Color Theme" setting (which was previously based on integers) to an array-based setting, using string identifiers instead of numerical values (ie "basic_white" instead of "0").

I've been thinking about introducing this type of change for a long time, ever since discussing the viability of it with jdgleaver back in 2021. The main advantages are the following:

  • Themes can now be re-ordered without disrupting existing configurations at all and new additions can be placed in-between existing themes in the list. This was the main driving force behind my intent: I am planning to add some new "Basic" color themes to Ozone that will complement "Basic Black" and "Basic White" and will be placed right after those two.
  • With string identifiers it is arguably easier to change the desired value of the setting manually in the retroarch.cfg file, as opposed to having to remember which number is mapped to which theme.

Most importantly, this conversion is backwards-compatible and will not break existing configs. The code in configuration.c takes care of reading legacy numeric values assigned to Ozone themes (if present in the user's config file), setting the desired theme as expected, then converting that legacy number in the config file to the new string-based value.

Reviewers

@LibretroAdmin

@Ryunam
Ryunam force-pushed the array-ozone-color-theme branch from 514f77d to b5844c6 Compare August 22, 2026 14:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant