aseprite/src/gen
2024-04-22 18:28:03 -03:00
..
check_strings.cpp Update to tinyxml2 2024-04-22 18:28:03 -03:00
check_strings.h Move menus+tools strings to en.ini file (#124) 2017-10-11 18:24:01 -03:00
CMakeLists.txt Change themes folder from "data/skins" to "data/themes" 2017-02-09 13:18:44 -03:00
common.h Save the whole group of grid/bg/pixel grid settings when these elements are displayed in the Editor 2019-12-03 17:37:54 -03:00
gen.cpp Update to tinyxml2 2024-04-22 18:28:03 -03:00
LICENSE.txt Avoid leaks running "gen" when memory sanitizer is enabled 2021-04-15 10:43:17 -03:00
pref_types.cpp Update to tinyxml2 2024-04-22 18:28:03 -03:00
pref_types.h Update to tinyxml2 2024-04-22 18:28:03 -03:00
README.md Save the whole group of grid/bg/pixel grid settings when these elements are displayed in the Editor 2019-12-03 17:37:54 -03:00
strings_class.cpp Generate the list of command IDs from en.ini file 2017-12-01 15:10:21 -03:00
strings_class.h Generate the list of command IDs from en.ini file 2017-12-01 15:10:21 -03:00
theme_class.cpp Update to tinyxml2 2024-04-22 18:28:03 -03:00
theme_class.h Update to tinyxml2 2024-04-22 18:28:03 -03:00
ui_class.cpp Update to tinyxml2 2024-04-22 18:28:03 -03:00
ui_class.h Update to tinyxml2 2024-04-22 18:28:03 -03:00

Aseprite Code Generator

Distributed under MIT license

This utility generates source code from XML files. Its aim is to convert XML files (dynamic data) to C++ files (static structures) that can be checked in compile-time. There are three areas of interest:

  1. To create ui::Widgets subclasses from data/widgets/*.xml files. In this way we can create wrappers that can access to each XML file directly in a easier way (e.g. one member for each widget with an id parameter on it).
  2. To create configuration wrappers from a special config-metadata.xml file (so we can replace get/set_config_int/bool/string() function calls). There is an ongoing cfg module to replace the whole reading/writing operations of user's settings/preferences.
  3. To create a wrapper class for theme data access. From data/skins/default/ we can create a C++ class with a member function to access each theme slice, color, style, etc.