Commit Graph

4889 Commits

Author SHA1 Message Date
4285c44b47 Far faster and more efficient method of checking if an identifer refers an autoload. 2023-10-23 12:13:12 -06:00
22c9ac1540 [3.x] Add --lsp-port as a command line argument 2023-09-20 23:59:50 -05:00
54738d3195 Revert "Backport implement loading DDS textures at run-time"
This reverts commit 22468ea1d3.
See #81126 for rationale.
2023-09-01 08:47:25 +02:00
69a6d7f179 pcre2: Update to upstream version 10.42 (take two)
Changelog: https://github.com/PCRE2Project/pcre2/blob/pcre2-10.42/ChangeLog

This fixes support for RISC-V architectures in the sljit library, so we
enable the module's compilation for `rv64` too.

(cherry picked from commit e289cf7085)
2023-08-29 11:45:59 +02:00
a9d19a97ec libwebp: Sync with upstream 1.3.0
(cherry picked from commit d8e8517d11)
2023-08-28 17:27:17 +02:00
9cde5e2977 Document how to use logarithm of base 10 with log()
(cherry picked from commit 3c4f0ca9c6)
2023-08-28 17:27:13 +02:00
55550da68b SCons: Disable C++ exception handling
Upon investigating the extremely slow MSVC build times in #80513, I noticed
that while Godot policy is to never use exceptions, we weren't enforcing it
with compiler flags, and thus still included exception handling code and
stack unwinding.

This is wasteful on multiple aspects:

- Binary size: Around 20% binary size reduction with exceptions disabled
  for both MSVC and GCC binaries.
- Compile time:
  * More than 50% build time reduction with MSVC.
  * 10% to 25% build time reduction with GCC + LTO.
- Performance: Possibly, needs to be benchmarked.

Since users may want to re-enable exceptions in their own thirdparty code
or the libraries they compile with Godot, this behavior can be toggled with
the `disable_exceptions` SCons option, which defaults to true.
2023-08-16 10:34:10 +02:00
fa04a839bb Merge pull request #79433 from raulsntos/3x/dotnet/dont-ignore-call-error
[3.x] C#: Print error when MethodBind call fails
2023-08-02 17:27:12 +02:00
91e3a53518 Merge pull request #69101 from marcinn/3.x-backport-proposal-5748-loading-dds-at-runtime
[3.x] Backport implement loading DDS textures at run-time
2023-08-02 17:26:26 +02:00
4ff8d92ee6 C#: Print error when MethodBind call fails 2023-07-13 19:43:20 +02:00
43e181a00a Single Compilation Unit build.
Adds support for simple SCU build.
This speeds up compilation by compiling multiple cpp files within a single translation unit.
2023-07-02 20:13:16 +01:00
06c0a1abc9 C#: Avoid GodotSharp as project assembly name
The name GodotSharp conflicts with the name of the Godot assembly,
this causes the project assembly to be ignored.
2023-06-15 11:45:18 +02:00
eeca70f843 Merge pull request #70502 from HolonProduction/svg_assets_3.x
[3.x] Add support for svg images in the asset lib.
2023-06-07 14:46:14 +02:00
1bc03d9d65 GDNative: Add Core API 1.4, move Transform2D::determinant there
It was added in #77283 but broke compatibility by being introduced in
an already released core API (1.0).

Fixes #77283.
2023-05-23 11:47:31 +02:00
6f8e632848 Make acos and asin safe
A common bug with using acos and asin is that input outside -1 to 1 range will result in Nan output. This can occur due to floating point error in the input.

The standard solution is to provide safe_acos function with clamped input. For Godot it may make more sense to make the standard functions safe.
2023-05-11 09:51:44 +01:00
b3bcec8c4a Merge pull request #76346 from HolonProduction/suggest-class-name
Suggest `class_name` in 3.x autocompletion.
2023-04-28 18:37:11 +02:00
e09ca30b32 Merge pull request #76453 from aaronfranke/3.x-gltf-physics
[3.x] Implement physics support in the GLTF module
2023-04-26 12:17:07 +02:00
571e4189fd [3.x] Implement physics support in the GLTF module 2023-04-25 15:18:02 -05:00
141783d90f [3.x] Expose determinant in Transform2D, rename internal method 2023-04-22 13:47:47 -05:00
8dae3d71b2 Suggest class_name in 3.x autocompletion. 2023-04-22 16:29:14 +02:00
77deae0483 Disable blending before blitting to framebuffer from WebXR 2023-04-14 17:39:44 -05:00
7d48dd7782 [3.x] Document lack of iOS support for WebM 2023-03-22 19:37:56 +01:00
b0c399ec8c Merge pull request #74895 from smix8/gridmap_navrid_error_spam_3.x
[3.5+] Fix GridMap free navigation RID error spam
2023-03-21 14:28:25 +00:00
6d7bc801f6 Set the unlit / unshaded extension when importing / exporting GLTF
Co-authored-by: Hakim <hakim.rouatbi@gmail.com>
2023-03-15 17:26:06 +08:00
befdafdbf6 [3.5+] Fix GridMap free navigation RID error spam
Fixes GridMap free navigation RID error spam.
2023-03-14 05:12:39 +01:00
26a584179c Merge pull request #74794 from lawnjelly/gdscript_parser_hashtable
[3.x] Use hash table for GDScript parsing
2023-03-12 16:19:07 +01:00
19f2006ec0 Use hash table for GDScript parsing
GDScript now uses hash table for lookup of type lists / functions / keywords, instead of linear String comparisons.
2023-03-12 14:55:31 +00:00
ef914dac31 GDScriptParser - don't use index operator on linked list
Index operators are super slow with linked lists. This came up in profiling the parsing, iterating sequentially using iterator is much faster.
2023-03-11 17:05:12 +00:00
608317213e Fix NavigationServer free error print
Fixes error print for NavigationServer free when a RID can not be found.

(cherry picked from commit 73dc680fc1)
2023-03-06 13:48:18 +01:00
5766134610 [3.x] C#: Fix crash when errors occur before language initialization. 2023-02-28 23:01:24 +01:00
22468ea1d3 Backport implement loading DDS textures at run-time 2023-02-17 11:27:47 +01:00
82be475a85 Correctly apply world_scale in WebXR 2023-01-23 17:27:44 -06:00
a93d651293 Mark C# editor settings to require a restart to be effective 2023-01-13 22:42:13 +01:00
1426cd3b3a One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".

Backported from #70885.
2023-01-10 15:26:54 +01:00
aa9265928c Merge pull request #70786 from Calinou/gdscript-fix-dict2inst-init-parameters-3.x
[3.x] Make `dict2inst` to work with arbitrary `_init` parameters
2023-01-09 14:18:30 +01:00
9fa4d3b1b0 Fix local variables not showing when breaking on final line
(cherry picked from commit 657b9b6596)
2023-01-09 09:46:27 +01:00
accdd575f6 Make dict2inst to work with arbitrary _init parameters
This is achieved by skipping initializer call while creating an instance
of a GDScript. This is implemented by passing -1 as an argument count
to `_new` and interpreting any value below 0 to mean that the initializer
should not be called during instantiation, because internal members of
an instance are going to be overridden afterwards.
2022-12-31 23:57:35 +01:00
ca898a7b77 [3.x] GLTF: Fix wrong error macro used in a few spots 2022-12-27 18:55:10 -06:00
9c437631a4 Add support for svg images in the asset lib.
Backport of #70317
2022-12-23 23:24:18 +01:00
62e10daf70 [3.x] Backport the GLTFDocumentExtension system 2022-12-21 00:40:00 -06:00
17e6d76de6 Fix Navigation agent callback wild pointer crash
Fixes crash in sanitizer builds when callback agent or object are already freed.

(cherry picked from commit 194c1c44e0)
2022-12-18 10:32:04 +08:00
4d8b9be48d embree: Sync build flags with master
Fixes Android ARM build.
These flags were added in master with 3f6ed10a5d.
2022-12-15 13:53:02 +01:00
6963ba631e Fix typos with codespell 2022-12-15 12:26:59 +01:00
a412922c2b LSP: Improve handling of file URI scheme
Fixes #63205.

(cherry picked from commits 3fa943fe23,
42a16ef76e and
2ff69d6181)
2022-12-12 15:58:20 +01:00
f694ab1c64 Update embree to 3.13.5
(cherry picked from commit 5e4158eb48)
2022-12-12 14:49:24 +01:00
99aa9a99f9 Force optimized builds for thirdparty Embree files
(cherry picked from commit b197fc2079)
2022-12-12 14:49:24 +01:00
759ce9b689 Upgrade Embree and enable ray packets
Minor patch upgrade. Enabling ray packets results in faster
processing of ray streams (i.e. occlusion culling buffer
updates) at the cost of slightly larger binary sizes.

(cherry picked from commits 595cbacdf1
and eb0f67a541)
2022-12-12 14:49:24 +01:00
b0b759e6da SCons: Cleanup DEBUG, _DEBUG and NDEBUG defines
- `_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.

(cherry picked from commit 26e9145c26)
2022-12-12 14:49:21 +01:00
912cd43418 miniupnpc: Update to version 2.2.3
Library code and public headers are now properly separated, we can fix include paths
to remove the redundant subfolder.

(cherry picked from commit 432ac521ef)
2022-12-12 14:15:06 +01:00
7afbd5904e Fix Script editor completion doesn't suggest members of a script for type hints 2022-12-12 13:36:32 +01:00