wesnoth/data/gui/_main.cfg
Charles Dang 55dc0a8215
GUI2: harden theme definition parsing (#9974)
- Ensure current_gui is a valid iterator after calling init(). It should match default_gui
- Ensure current_gui is always set to guis.end() if the requested theme isn't found in switch_theme().
  It's initialized as such in gui_definition.cpp, but we shouldn't rely on that always being the case,
  especially in a function that changes it.
- Only create one schema validator for all themes. Previously, it would have been created anew for
   each addon with a custom theme.
- Add explicit exception handling for an invalid schema path or invalid gui2 entry point
- Add explicit warning for addon themes with the id "default"
- Catch `wml_exception` when creating gui_definition objects for all themes (previously, this was only
   caught for add-on themes)
- Adjust error messages
- Fix duplicate theme errors when reloading cache (addresses one part of #9781). GUI2 definition
  changes now take effect without the need to restart the entire game. A cache reload is sufficient.
- Use `_main.cfg` for core theme entry points
- Include macros at global core GUI2 score instead of only in the default theme (they were always
  available to both themes, this just makes that clearer)
2025-03-02 00:12:32 -05:00

12 lines
249 B
INI

# This is the main config file for the GUI definitions
# Include the files containing [gui] tags here.
# Helper macros common to all themes
{./macros/}
# Default Theme, Wesnoth Classic
{./themes/default}
# Wesnoth Blue Sky Theme
{./themes/celes}