Commit Graph

54254 Commits

Author SHA1 Message Date
Samuele Panzeri a103cd76bb Fix skeleton 3d editor crash in RC3
Control notifies a theme changed before the editor has entered the tree
2023-05-15 12:12:48 +02:00
Juan Linietsky d8078d3f4c Add a backwards-compatibility system for GDExtension method
This adds a way to ensure that methods that were modified in the Godot API will continue working in older builds of GDExtension even if the new signature is different.

```C++
// New version (changed)
ClassDB::bind_method(D_METHOD("add_sphere","radius","position"),&MyShapes::add_sphere);
// Compatibility version (still available to extensions).
ClassDB::bind_compatibility_method(D_METHOD("add_sphere","radius"),&MyShapes::_compat_add_sphere);
```

**Q**: If I add an extra argument and provide a default value (hence can still be called the same), do I still have to provide the compatibility version?
**A**: Yes, you must still provide a compatibility method. Most language bindings use the raw method pointer to do the call and process the default parameters in the binding language, hence if the actual method signature changes it will no longer work.

**Q**: If I removed a method, can I still bind a compatibility version even though the main method no longer exists?
**A**: Yes, for methods that were removed or renamed, compatibility versions can still be provided.

**Q**: Would it be possible to automate checking that methods were removed by mistake?
**A**: Yes, as part of a future PR, the idea is to add a a command line option to Godot that can be run like : `$ godot --test-api-compatibility older_api_dump.json`, which will also be integrated to the CI runs.
2023-05-15 12:05:40 +02:00
Pedro J. Estébanez 93de52942a Fix transfer of messages between queues 2023-05-15 11:51:58 +02:00
Silc Lizard (Tokage) Renew 238bc9fe1f Fix NodeOneShot doesn't respect fade-out when aborting and improvement 2023-05-15 18:51:45 +09:00
Danil Alexeev 7da3110e6b
GDScript: Fix `validate_call_arg()` for unresolved datatype 2023-05-15 12:13:52 +03:00
Rémi Verschelde 78f9da7a9f
Merge pull request #76887 from RedworkDE/ci-fix-windows-unit-tests
CI: Fix running the unit tests on windows
2023-05-15 10:57:04 +02:00
dearthdev 53903f07dc Correctly insert lightmap captures and geometries. 2023-05-15 03:05:19 -05:00
Yuri Rubinsky d7211b371c
Merge pull request #77086 from Chaosus/shaders_fix_render_mode_completion 2023-05-15 10:58:23 +03:00
Rémi Verschelde 37fd9a32f3
Merge pull request #77065 from FranckRJ/fix-capsuleshape2d-getrect
Fixed width of CapsuleShape2D::get_rect + set center to center of shape
2023-05-15 09:35:23 +02:00
Rémi Verschelde e2f27a2248
Merge pull request #77042 from dioptryk/obj-vertex-colors-master
Add support for non-standard OBJ vertex entries
2023-05-15 09:34:59 +02:00
Rémi Verschelde 716f788b98
Merge pull request #77033 from dalexeev/editor-help-fix-array-links
EditorHelp: Fix displaying typed `Array` links
2023-05-15 09:34:35 +02:00
Rémi Verschelde 8ff9480c07
Merge pull request #77028 from kleonc/animatedsprite3d-autoplay-error-spam-fix
Fix `AnimatedSprite3D` autoplay warning
2023-05-15 09:34:12 +02:00
Rémi Verschelde 0f5e9a52da
Merge pull request #77027 from brno32/hide-properties-when-overriden
Exclude overriden properties from Property Descriptions section
2023-05-15 09:33:48 +02:00
Rémi Verschelde 2161444ed0
Merge pull request #77025 from Summersay415/add-vector4i-icon
Add Vector4i icon
2023-05-15 09:33:25 +02:00
Rémi Verschelde 9ecb929da6
Merge pull request #76565 from clayjohn/debug-PSSM-splits
Re-implement the PSSM_SPLITS debug option
2023-05-15 09:33:01 +02:00
Rémi Verschelde 51a1bd7c08
Merge pull request #75869 from aaronfranke/anim-play-end-doc
Elaborate on the from_end option in AnimationPlayer.play() documentation
2023-05-15 09:32:33 +02:00
Danil Alexeev cc44d75cd8
Fix `draw_multiline_colors` usage 2023-05-15 09:56:13 +03:00
Yuri Rubinsky 719741b0eb Exclude incorrect completion options for `render_mode` in shaders 2023-05-15 08:21:16 +03:00
kobewi d1a114470c Print a warning when a nested project is detected 2023-05-15 02:04:58 +02:00
kobewi 61465ee9a1 Allow showing messages from threads in Editor Log 2023-05-15 01:58:27 +02:00
Rindbee 391bce44b7 Fix calculation bug with `TextEdit::get_line_height()`
When `get_line_height()` is less than `1`, there is no visible text.
So limit the return value of `get_line_height()` to **not less** than
`1` for calculation.
2023-05-15 07:16:00 +08:00
FranckRJ ab5462e386 Fixed width of CapsuleShape2D::get_rect + set center to center of shape
The width of the rect was only half of the width of the shape, and
the 0;0 coord was at the top left of the rect.
Now the width properly matches the width of the shape, and the 0;0
coord is at the center of the shape. It should match the behavior
of Godot 3.X.
2023-05-14 18:09:07 +02:00
Alex Drozd 28f391f301 Exclude overriden properties from Property Descriptions section 2023-05-14 17:41:14 +02:00
Fabio Alessandrelli fb10f45efe
Merge pull request #75867 from tefusion/fix_http_client_unicode_request
Fix HTTPClient _request using wrong size
2023-05-14 16:05:39 +02:00
Ninni Pipping bd2e377007 Document limitations of placeholder textures 2023-05-14 15:07:58 +02:00
Fabio Alessandrelli 58c6f88802 [TLS/Windows] Skip disallowed certs in the trusted CA list.
Turns out the list of trusted root certificates contains disallowed
certificates (i.e. certificates which are no longer trusted or have been
revoked).

We need to check for the property `CERT_DISALLOWED_FILETIME_PROP_ID` to
check if and when the certificates should be distrusted.
2023-05-14 14:44:14 +02:00
kleonc fc92ee6bf4 Fix property usage docs referring to removed network flag 2023-05-14 12:18:26 +02:00
Bartłomiej Karwacki 444d211a8d Add support for non-standard OBJ vertex entries 2023-05-13 22:37:38 +02:00
Emmanuel Leblond ffd32a244b
Merge pull request #66185 from touilleMan/gdextension-no-error-log-outofindex-operator-index
Make *_operator_index in gdnative_interface not logging an error if called with an out-of-bound index
2023-05-13 21:43:54 +02:00
Emmanuel Leblond 7501ebb91a
Make *_operator_index in gdnative_interface not logging an error if called with an out-of-bound index 2023-05-13 20:01:55 +02:00
bonjorno7 283cac859c Make ok_color functions static
It needs to be a class to prevent build errors, but the functions can at least be static, so you don't have to instance the class.
2023-05-13 16:57:19 +02:00
kleonc d58e832062 Make SpriteFrames editor toolbar a FlowContainer 2023-05-13 16:00:25 +02:00
Danil Alexeev a16b2fc3b6
EditorHelp: Fix displaying typed `Array` links 2023-05-13 16:09:35 +03:00
kleonc d3d84d90de Fix AnimatedSprite3D autoplay warning 2023-05-13 13:10:38 +02:00
Summersay415 289af4f73c Add Vector4i icon 2023-05-13 16:20:56 +07:00
Rémi Verschelde c64afeb017
Merge pull request #77018 from RedworkDE/net-glue-neg-enum
Fix C# glue generation for enums with negative values
2023-05-12 23:27:07 +02:00
Rémi Verschelde 1c8b203f70
Merge pull request #77011 from Faless/tls/fix_crashes_when_unavailable
[TLS] Fix crashes trying to use TLS when not available.
2023-05-12 23:26:43 +02:00
Rémi Verschelde 405aa3f2d6
Merge pull request #77005 from paddy-exe/mention-spatial-node3d-ename
Mention "Spatial" rename to "Node3D" in Godot 4
2023-05-12 23:26:20 +02:00
Rémi Verschelde f26a2dbb1b
Merge pull request #75662 from goncalo/basis_looking_at
C#: Add Basis.LookingAt
2023-05-12 23:25:52 +02:00
RedworkDE 45659ce2d9 Fix C# glue generation for enums with negative values 2023-05-12 21:53:42 +02:00
jpcerrone c6ea376842 fix errors while reordering input maps 2023-05-12 16:15:16 -03:00
Rémi Verschelde 964a5353db
Merge pull request #76525 from MewPurPur/worker-thread-pool-docs
Add WorkerThreadPool documentation
2023-05-12 20:13:19 +02:00
Rémi Verschelde 02c7ffc85c
Merge pull request #76203 from dalexeev/gds-fix-warning-ignore-member-var
GDScript: Fix warning ignoring for member variables
2023-05-12 20:12:55 +02:00
Rémi Verschelde ca26d9dc48
Merge pull request #71280 from RandomShaper/fix_deadlock_windows
Enhance thread-safety of loaders and importers (a.k.a. fix editor deadlock)
2023-05-12 20:12:32 +02:00
Rémi Verschelde 3be56afa27
Merge pull request #63263 from KoBeWi/power_tooltips
Enhance filesystem dock tooltips
2023-05-12 20:11:37 +02:00
Fabio Alessandrelli eeac6f8c7f [TLS] Fix crashes trying to use TLS when not available.
If no StreamPeerTLS implementation is available, HTTPClient and
WebSocketPeer will now correctly refuse to connect using TLS returning
ERR_UNAVAILABLE.

Similarly, ENetConnection will refuse to setup DTLS when PacketPeerDTLS
is not available.
2023-05-12 20:08:10 +02:00
Patrick c60e05694d Mention "Spatial" rename to "Node3D" in Godot 4 2023-05-12 20:06:25 +02:00
kobewi 27dccf1b5e Enhance filesystem dock tooltips 2023-05-12 19:28:34 +02:00
Pedro J. Estébanez 6189ab5291 Robustify multi-threading primitives 2023-05-12 19:04:57 +02:00
Pedro J. Estébanez 45d0b38076 Enhance thread safety of loaders and importers 2023-05-12 17:44:48 +02:00