aseprite/src/gen
David Capello b2e4f78b69 clang-format all files 2024-12-16 10:10:34 -03:00
..
CMakeLists.txt Change themes folder from "data/skins" to "data/themes" 2017-02-09 13:18:44 -03:00
LICENSE.txt Avoid leaks running "gen" when memory sanitizer is enabled 2021-04-15 10:43:17 -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
check_strings.cpp clang-format all files 2024-12-16 10:10:34 -03:00
check_strings.h Move menus+tools strings to en.ini file (#124) 2017-10-11 18:24:01 -03:00
common.h clang-format all files 2024-12-16 10:10:34 -03:00
gen.cpp clang-format all files 2024-12-16 10:10:34 -03:00
pref_types.cpp clang-format all files 2024-12-16 10:10:34 -03:00
pref_types.h clang-format all files 2024-12-16 10:10:34 -03:00
strings_class.cpp clang-format all files 2024-12-16 10:10:34 -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 clang-format all files 2024-12-16 10:10:34 -03:00
theme_class.h clang-format all files 2024-12-16 10:10:34 -03:00
ui_class.cpp clang-format all files 2024-12-16 10:10:34 -03:00
ui_class.h clang-format all files 2024-12-16 10:10:34 -03:00

README.md

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.