Commit graph

54621 commits

Author SHA1 Message Date
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
kleonc
5d8219b4fd Fix modulation propagation for Y-sorted CanvasItems 2023-05-15 01:32:41 +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
Danil Alexeev
43b0702a02
Fix "Light Only" mode of CanvasItemMaterial 2023-05-13 09:06:09 +03:00
Hugo Locurcio
9e21647578
Document seamless caveats on small textures in NoiseTexture2D and NoiseTexture3D
This also harmonizes "normal map" spelling across the class reference.
2023-05-13 01:06:33 +02:00
Clement C
999a1fffec Fix crash when changing node type from PopMenu to ItemList 2023-05-12 23:29:52 +02: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
sakrel
f52c151fcf RenderingDeviceVulkan::buffer_get_data: Use draw command buffer instead of setup command buffer 2023-05-12 23:25:20 +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