summaryrefslogtreecommitdiff
path: root/editor/editor_builders.py
AgeCommit message (Collapse)Author
2022-03-24[Editor build] Use smaller .mo files instead of .po, if gettext is available.bruvzg
2021-10-29Use maximum zlib compression when generating editor translation headersHugo Locurcio
With comments stripped, this reduces the combined generated translation size from 28.7 MB to 28.4 MB (-240 KB).
2021-05-17Use a DynamicFont for the default project themeHugo Locurcio
This makes font oversampling work out of the box, while also increasing the supported character set's size. The default font is now larger as well to better fit today's screen resolutions. The OpenSans SemiBold font was chosen for two reasons: - Small file size, yet its character set supports Latin-1 and Cyrillic text. - A heavier font weight looks better in most "game" scenarios and is more readable against mixed-color backgrounds. This is considered a breaking change as it changes the default font's metrics, which will likely affect how Control nodes are laid out in scenes (unless a custom font is in use).
2020-09-11Remove unused Python local variables.Marcel Admiraal
2020-04-02Replace more occurrences of NULL with nullptrRémi Verschelde
2020-03-30SCons: Format buildsystem files with psf/blackRémi Verschelde
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.
2020-03-25SCons: Drop support for Python 2Rémi Verschelde
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).
2020-03-20i18n: Add support for translating the class referenceRémi Verschelde
- Parse `.po` files from `doc/translations/*.po` like already done with `editor/translations/*.po`. - Add logic to register a doc translation mapping in `TranslationServer` and `EditorSettings`. - Add `DTR()` to lookup the doc translation mapping (similar to `TTR()`). Strings are automatically dedented and stripped of whitespace to ensure that they would match the translation catalog. - Use `DTR()` to translate relevant strings in `EditorHelp`, `EditorInspector`, `CreateDialog`, `ConnectionsDialog`. - Small simplification to `TranslationLoaderPO`, the path argument was not really meaningful.
2019-07-11Some small fixes to warnings in python scriptsunknown
2019-04-06Remove unused importsHendrikto
2018-09-15Bundle SSL certs with the templates.Fabio Alessandrelli
If this is undesired it can be avoided by specifying builtin_certs=no . Bundled SSL certs will be used unless you specify an override in: Project Settings -> SSL -> Certificates .
2018-09-01Removed some unneeded generated headers from the editor directory SCsub.Ibrahn Sahir
These headers are currently built in (and included from) the core directory. Removing the editor directory versions to avoid confusion.
2018-07-27Running builder (content generator) functions in subprocesses on WindowsViktor Ferenczi
- 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.