summaryrefslogtreecommitdiffstats
path: root/editor/icons/editor_icons_builders.py
Commit message (Collapse)AuthorAgeFilesLines
* SCons: Add method to generate raw cstringsThaddeus Crews2024-07-311-15/+5
|
* SCons: Remove `run_in_subprocess` dependencyThaddeus Crews2024-03-111-12/+2
|
* SCons: Ensure `with` statement where applicableThaddeus Crews2024-03-101-69/+64
|
* Enforce `\n` eol for Python writesThaddeus Crews2024-03-091-1/+1
| | | | • Ensure utf-8 encoding if previously unspecified
* Reorganize code related to editor themingYuri Sizov2024-01-161-1/+2
| | | | | | | | | | | | | This change introduces a new EditorThemeManager class to abstract theme generatio and its subroutines. Logic related to EditorTheme, EditorColorMap, and editor icons has been extracted into their respective files with includes cleaned up. All related files have been moved to a separate folder to better scope them in the project. This includes relevant generated files as well.
* Move default theme files to scene/themeYuri Sizov2023-08-281-1/+1
| | | | This also puts the default theme icons into their own folder.
* CI: Update static checks to black 23.3.0Rémi Verschelde2023-06-191-3/+1
| | | | And apply it to the codebase, removing empty lines at the start of blocks.
* Add a custom icon for the `project.godot` file in the EditorFileDialogYuri Sizov2023-02-171-0/+2
|
* Improve the default project themeHugo Locurcio2022-01-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | The new default project theme uses StyleBoxFlat extensively for a more modern design and better scalability to multiple resolutions. SVG icons are now used in place of PNG icons. While this does not allow for true vector-based icon drawing (icons are still rasterized at load-time), this makes the design work easier for contributors and opens the door to vector drawing in the future (e.g. with polygons or SDFs). Like for editor icons, the SVG header file is now built automatically when a SVG file is changed. This removing the need for running `make_header.py` manually (TODO). The "Use Hidpi" project setting has been removed in favor of a "Default Theme Scale" project setting, which allows creating the default theme at a higher/lower scale than the default. This can be used when designing GUIs with a high base resolution to ensure crisp visuals. Co-authored-by: Yuri Sizov <yuris@humnom.net>
* SCons: Format buildsystem files with psf/blackRémi Verschelde2020-03-301-7/+7
| | | | | | | | | | | | | | | | | | | | | Configured for a max line length of 120 characters. psf/black is very opinionated and purposely doesn't leave much room for configuration. The output is mostly OK so that should be fine for us, but some things worth noting: - Manually wrapped strings will be reflowed, so by using a line length of 120 for the sake of preserving readability for our long command calls, it also means that some manually wrapped strings are back on the same line and should be manually merged again. - Code generators using string concatenation extensively look awful, since black puts each operand on a single line. We need to refactor these generators to use more pythonic string formatting, for which many options are available (`%`, `format` or f-strings). - CI checks and a pre-commit hook will be added to ensure that future buildsystem changes are well-formatted.
* SCons: Drop support for Python 2Rémi Verschelde2020-03-251-1/+2
| | | | | | We now require SCons 3.0+ (first version with Python 3 support), and we set min required Python 3 version to 3.5 (3.4 and earlier are EOL).
* Use PascalCase file names for editor iconsHugo Locurcio2020-02-241-6/+4
| | | | | Using PascalCase file names without any conversion step is less confusing to new contributors.
* Running builder (content generator) functions in subprocesses on WindowsViktor Ferenczi2018-07-271-0/+96
- Refactored all builder (make_*) functions into separate Python modules along to the build tree - Introduced utility function to wrap all invocations on Windows, but does not change it elsewhere - Introduced stub to use the builders module as a stand alone script and invoke a selected function There is a problem with file handles related to writing generated content (*.gen.h and *.gen.cpp) on Windows, which randomly causes a SHARING VIOLATION error to the compiler resulting in flaky builds. Running all such content generators in a new subprocess instead of directly inside the build script works around the issue. Yes, I tried the multiprocessing module. It did not work due to conflict with SCons on cPickle. Suggested workaround did not fully work either. Using the run_in_subprocess wrapper on osx and x11 platforms as well for consistency. In case of running a cross-compilation on Windows they would still be used, but likely it will not happen in practice. What counts is that the build itself is running on which platform, not the target platform. Some generated files are written directly in an SConstruct or SCsub file, before the parallel build starts. They don't need to be written in a subprocess, apparently, so I left them as is.