Age | Commit message (Collapse) | Author |
|
Rename `Engine.target_fps` and associated project setting to `max_fps`
|
|
Remove unsupported `NO_SAFE_CAST`/`-fno-rtti` from Android build
|
|
This makes the setting easier to find, as research has found there are
numerous use cases to limiting FPS. This also improves documentation
related to the Engine property and project setting.
The project setting also works in projects exported in release mode,
so its location in the `debug/` section was misleading.
|
|
Remove `NO_THREADS` fallback code, Godot 4 requires thread support
|
|
|
|
[Web] Add PS3 gamepad mapping for FF+Linux.
|
|
|
|
This also removes `OS::can_use_threads` from the public API since it's always
true.
|
|
Android was the last platform to still attempt to disable RTTI (for binary
size), but both the Android editor and now the ICU library used by templates
need RTTI.
There could still be the possibility to support this for non-ICU template
builds (i.e. without the TextServerAdvanced module), but since this isn't one
of the build configurations we test regularly it's pretty risky to keep this
option only for that specific use case. And our code is already littered with
`dynamic_cast`s which weren't guarded with `!defined(NO_SAFE_CAST)`.
|
|
refactor(AStarGrid2D): Return `Vector2i` in `get_id_path`
|
|
Delete `set_all`, `set_axis`, and `get_axis` methods from Vector2/3/3i/4/4i
|
|
Improve string formatting (%f and %v) for inf and nan
|
|
ci: add Python static analysis check via mypy
|
|
Using codespell 2.3-dev from current git.
And fix typo in `methods.py` for `vsproj=yes` option (still won't work
though).
|
|
|
|
|
|
Signed-off-by: MisterMX <mbxd12@web.de>
|
|
|
|
Use `constexpr` in the conditions with template parameters and `sizeof`s to suppress C4127 warnings.
|
|
Change BitField to use 64-bit int.
|
|
suppress C4127 warnings.
|
|
|
|
|
|
This eases transition from beta 1 to beta 2 so that users don't get a warning
about a missing feature. The names were just changed.
The old feature names are removed from project.godot when opening such a
project.
|
|
Fix MSVC warnings C4701 and C4703: Potentially uninitialized variable used
|
|
Fix false flag compiler warning in bvh tree
|
|
Fix MSVC warning C4706: assignment within conditional expression
|
|
|
|
|
|
Compiler wrongly warns that sibling_id may be used when uninitialized. This PR sets the value to silence the warning.
|
|
Part of #66537.
|
|
to avoid shadowing `Object` member.
|
|
[GDExtension] Use function names with underscore for TextServer extension, add macros to generate wrappers for module functions.
|
|
add macros to generate wrappers for module functions.
|
|
|
|
KoBeWi/floor()_and_int()_are_not_the_same_I_guess🤔
Fix wrong `floori()` behavior
|
|
Make some File/Dir methods private
|
|
Synced with gabomdq/SDL_GameControllerDB@81ddc73d17b703b68c9142b46106a4db7c0d98c3
|
|
|
|
|
|
Silence GCC `-Wmaybe-uninitialized` caused by UBSAN
|
|
|
|
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.
|
|
A priori this doesn't appear to be an actual bug, but a known consequence of
using UBSAN. We silence this one to still have the possibility to get more
warnings raised by UBSAN, in case they are useful.
Works around and closes #66343.
|
|
Cleanup header guards for consistency
|
|
Fix file names for {Static,Lightmap}RaycasterEmbree.
|
|
|
|
Fix `InputEventAction`'s `is_match` method ignoring `exact_match` parameter
|
|
|
|
- `_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.
|