Age | Commit message (Collapse) | Author |
|
Implements https://github.com/godotengine/godot-proposals/issues/3371.
New `target` presets
====================
The `tools` option is removed and `target` changes to use three new presets,
which match the builds users are familiar with. These targets control the
default optimization level and enable editor-specific and debugging code:
- `editor`: Replaces `tools=yes target=release_debug`.
* Defines: `TOOLS_ENABLED`, `DEBUG_ENABLED`, `-O2`/`/O2`
- `template_debug`: Replaces `tools=no target=release_debug`.
* Defines: `DEBUG_ENABLED`, `-O2`/`/O2`
- `template_release`: Replaces `tools=no target=release`.
* Defines: `-O3`/`/O2`
New `dev_build` option
======================
The previous `target=debug` is now replaced by a separate `dev_build=yes`
option, which can be used in combination with either of the three targets,
and changes the following:
- `dev_build`: Defines `DEV_ENABLED`, disables optimization (`-O0`/`/0d`),
enables generating debug symbols, does not define `NDEBUG` so `assert()`
works in thirdparty libraries, adds a `.dev` suffix to the binary name.
Note: Unlike previously, `dev_build` defaults to off so that users who
compile Godot from source get an optimized and small build by default.
Engine contributors should now set `dev_build=yes` in their build scripts or
IDE configuration manually.
Changed binary names
====================
The name of generated binaries and object files are changed too, to follow
this format:
`godot.<platform>.<target>[.dev][.double].<arch>[.<extra_suffix>][.<ext>]`
For example:
- `godot.linuxbsd.editor.dev.arm64`
- `godot.windows.template_release.double.x86_64.mono.exe`
Be sure to update your links/scripts/IDE config accordingly.
More flexible `optimize` and `debug_symbols` options
====================================================
The optimization level and whether to generate debug symbols can be further
specified with the `optimize` and `debug_symbols` options. So the default
values listed above for the various `target` and `dev_build` combinations
are indicative and can be replaced when compiling, e.g.:
`scons p=linuxbsd target=template_debug dev_build=yes optimize=debug`
will make a "debug" export template with dev-only code enabled, `-Og`
optimization level for GCC/Clang, and debug symbols. Perfect for debugging
complex crashes at runtime in an exported project.
|
|
Adding OpenXR hand tracking support
|
|
[RTL] Fix font variations / OpenType features of theme default font not updated when default font is changed.
|
|
_parse_function()
|
|
Fix file names for {Static,Lightmap}RaycasterEmbree.
|
|
updated when default font is changed.
|
|
|
|
Dynamic loading of OpenXR Loader on Android
|
|
[TextServer] Always prefer main font over fallbacks, regardless of script/language support.
|
|
Add 16-bits TGA support
|
|
script/language support.
|
|
Previously, external editing via lsp would modify the modified time of the script,
which caused the internal display of the script to not be refreshed when refocusing
the engine.
Now saving the script externally via lsp will automatically refresh the internal
display.
|
|
Load/update GDScript from disk on load if cache mode is CACHE_MODE_IGNORE
|
|
Prevent a crash in the LSP when a function's return datatype is not resolved
|
|
Looking at the original PR, I believe this is the original intent, but it now means that previously dead code is now executed.
|
|
This change implements dynamic loading of the OpenXR Loader library
on Android. If an OpenXR Loader library is not found,
Godot will still function with OpenXR disabled.
Also, on every platform, the OpenXR symbols are resolved at runtime
using xrGetInstanceProcAddr.
On Windows and Linux the OpenXR loader is included in the main
engine binary.
On Android, the OpenXR Loader is not built with the engine. Separately
distributed Android plugins will be provided with the correct loader
library for each device.
Co-authored-by: Gábor Pál Korom <gabor.p.korom@migeran.com>
Co-authored-by: Gábor Koncz <gabor.koncz@migeran.com>
|
|
|
|
|
|
|
|
- `_DEBUG` is MSVC specific so it didn't make much sense to define for
Android and iOS builds.
- iOS was the only platform to define `DEBUG`. We don't use it anywhere
outside thirdparty code, which we usually don't intend to debug, so it
seems better to be consistent with other platforms.
- Consistently define `NDEBUG` to disable assert behavior in both `release`
and `release_debug` targets. This used to be set for `release` for all
platforms, and `release_debug` for Android and iOS only.
- Due to the above, I removed the only use we made of `assert()` in Godot
code, which was only implemented for Unix anyway, should have been
`DEV_ENABLED`, and is in PoolAllocator which we don't actually use.
- The denoise and recast modules keep defining `NDEBUG` even for the `debug`
target as we don't want OIDN and Embree asserting all over the place.
|
|
|
|
C#: Guard against null assemblies
|
|
Suppress CA1711 for signal delegates because they are used in events so
the naming follows the guidelines.
|
|
A symbol's containing assembly will be null if the symbol is shared
across multiple assemblies.
|
|
get_reference_count()`
|
|
|
|
Fix line trim/ellipsis when line do not have space or newline at the end.
|
|
Add NavigationPathQuery objects and NavigationServer query_path()
|
|
When going from version 14 to 15 it would introduce a tiny change in
`websocket_macros.h` just before the comment re-enabling clang-format,
but this can be solved by just letting it do its work.
Bonus cosmetic change in `math_fieldwise.cpp` where clang-format isn't
used, and bump recommended versions for pre-commit hook to [13; 15].
|
|
Adds NavigationPathQueryParameters objects that can be used with NavigationServer.query_path() to query a customized navigation path.
|
|
[Core] Make ImageFormatLoader extensible.
|
|
Get WebXR minimally working again in Godot 4
|
|
|
|
|
|
This allows GLTFDocumentExtension classes to add to the used extensions array.
|
|
|
|
C#: Rename `PlusFile` to `PathJoin`
|
|
Change return type of `get_configuration_warnings` to `PackedStringArray`
|
|
|
|
|
|
|
|
Minor enhancements to the GLTF module (lights and docs)
|
|
inheritdoc the "///" comment from EventHandler to the generated event
|
|
|
|
|
|
|
|
|
|
Add GDScript resource export.
|
|
change "no" to "not" in the @onready documentation
|
|
|