summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
2022-10-04Merge pull request #66274 from Calinou/engine-rename-max-fpsRémi Verschelde
Rename `Engine.target_fps` and associated project setting to `max_fps`
2022-10-04Merge pull request #66804 from akien-mga/core-remove-NO_SAFE_CASTRémi Verschelde
Remove unsupported `NO_SAFE_CAST`/`-fno-rtti` from Android build
2022-10-03Rename `Engine.target_fps` and associated project setting to `max_fps`Hugo Locurcio
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.
2022-10-03Merge pull request #66803 from akien-mga/core-remove-NO_THREADSRémi Verschelde
Remove `NO_THREADS` fallback code, Godot 4 requires thread support
2022-10-03Merge pull request #65751 from Faless/os/4.x_expose_read_from_stdinRémi Verschelde
2022-10-03Merge pull request #66814 from Faless/web/4.x_ps3_gamepad_ff_linuxFabio Alessandrelli
[Web] Add PS3 gamepad mapping for FF+Linux.
2022-10-03[Web] Add PS3 gamepad mapping for FF+Linux.Fabio Alessandrelli
2022-10-03Remove NO_THREADS fallback code, Godot 4 requires thread supportRémi Verschelde
This also removes `OS::can_use_threads` from the public API since it's always true.
2022-10-03Remove unsupported `NO_SAFE_CAST`/`-fno-rtti` from Android buildRémi Verschelde
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)`.
2022-10-03Merge pull request #66655 from MisterMX/feat/astargrid2d-vector2iRémi Verschelde
refactor(AStarGrid2D): Return `Vector2i` in `get_id_path`
2022-10-03Merge pull request #66133 from aaronfranke/set-allRémi Verschelde
Delete `set_all`, `set_axis`, and `get_axis` methods from Vector2/3/3i/4/4i
2022-10-03Merge pull request #64833 from MarcusElg/naninfprintingRémi Verschelde
Improve string formatting (%f and %v) for inf and nan
2022-09-30Merge pull request #64784 from yedpodtrzitko/yed/ci-add-mypyRémi Verschelde
ci: add Python static analysis check via mypy
2022-09-30Fix typos with codespellRémi Verschelde
Using codespell 2.3-dev from current git. And fix typo in `methods.py` for `vsproj=yes` option (still won't work though).
2022-09-30ci: add Python static analysis check via mypyJiri Suchan
2022-09-30Merge pull request #66242 from akien-mga/scons-unify-tools-targetRémi Verschelde
2022-09-30refactor(AStarGrid2D): Return Vector2i in get_id_pathMisterMX
Signed-off-by: MisterMX <mbxd12@web.de>
2022-09-30Fix crash when executing `ResourceUID.set_id`Haoyu Qiu
2022-09-29Merge pull request #66583 from bruvzg/constexprRémi Verschelde
Use `constexpr` in the conditions with template parameters and `sizeof`s to suppress C4127 warnings.
2022-09-29Merge pull request #66552 from bruvzg/64_bitfieldsRémi Verschelde
Change BitField to use 64-bit int.
2022-09-29Use `constexpr` in the conditions with template parameters and `sizeof`s to ↵bruvzg
suppress C4127 warnings.
2022-09-29Merge pull request #66103 from Zylann/bind_property_usage_read_onlyRémi Verschelde
2022-09-28Expose `PROPERTY_USAGE_READ_ONLY`Marc Gilleron
2022-09-28Project supported features: Ignore old 'Vulkan Clustered/Forward' namesRémi Verschelde
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.
2022-09-28Merge pull request #66548 from akien-mga/msvc-warnings-c4701-c4703Rémi Verschelde
Fix MSVC warnings C4701 and C4703: Potentially uninitialized variable used
2022-09-28Merge pull request #66544 from lawnjelly/bvh_tree_sibling_warningRémi Verschelde
Fix false flag compiler warning in bvh tree
2022-09-28Merge pull request #66542 from akien-mga/msvc-warning-c4706Rémi Verschelde
Fix MSVC warning C4706: assignment within conditional expression
2022-09-28Fix MSVC warnings C4701 and C4703: Potentially uninitialized variable usedRémi Verschelde
2022-09-28Change BitField to use 64-bit int.bruvzg
2022-09-28Fix false flag compiler warning in bvh treelawnjelly
Compiler wrongly warns that sibling_id may be used when uninitialized. This PR sets the value to silence the warning.
2022-09-28Fix MSVC warning C4706: assignment within conditional expressionRémi Verschelde
Part of #66537.
2022-09-28Rename `script_instance` to `_script_instance` in the `GDVIRTUAL*` wrappers ↵bruvzg
to avoid shadowing `Object` member.
2022-09-28Merge pull request #66492 from bruvzg/gde_ts_underscrRémi Verschelde
[GDExtension] Use function names with underscore for TextServer extension, add macros to generate wrappers for module functions.
2022-09-28[GDExtension] Use function names with underscore for TextServer extension, ↵bruvzg
add macros to generate wrappers for module functions.
2022-09-28Use 64bit integers in utility methodskobewi
2022-09-28Merge pull request #66505 from ↵Rémi Verschelde
KoBeWi/floor()_and_int()_are_not_the_same_I_guess🤔 Fix wrong `floori()` behavior
2022-09-28Merge pull request #66504 from KoBeWi/hermit_methodRémi Verschelde
Make some File/Dir methods private
2022-09-27Sync controller mappings DB with SDL2 community repoRémi Verschelde
Synced with gabomdq/SDL_GameControllerDB@81ddc73d17b703b68c9142b46106a4db7c0d98c3
2022-09-27Fix wrong floori() behaviorkobewi
2022-09-27Make some File/Dir methods privatekobewi
2022-09-27Merge pull request #66447 from akien-mga/gcc-ubsan-silence-Wmaybe-uninitializedRémi Verschelde
Silence GCC `-Wmaybe-uninitialized` caused by UBSAN
2022-09-26Fix FileAccessZip() causing a stack overflownikitalita
2022-09-26SCons: Unify tools/target build type configurationRémi Verschelde
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.
2022-09-26MethodBind: Silence GCC `-Wmaybe-uninitialized` caused by UBSANRémi Verschelde
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.
2022-09-26Merge pull request #66435 from akien-mga/style-header-guards-cleanupRémi Verschelde
Cleanup header guards for consistency
2022-09-26Style: Cleanup header guards for consistencyRémi Verschelde
Fix file names for {Static,Lightmap}RaycasterEmbree.
2022-09-26Fix processing of some types in `math_fieldwise.cpp/fieldwise_assign`Yuri Rubinsky
2022-09-25Merge pull request #63109 from OverloadedOrama/fix-input-event-actionRémi Verschelde
Fix `InputEventAction`'s `is_match` method ignoring `exact_match` parameter
2022-09-23Remove unused includes & move some includes to top of fileAndy Maloney
2022-09-23SCons: Cleanup `DEBUG`, `_DEBUG` and `NDEBUG` definesRémi Verschelde
- `_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.