Commit graph

54272 commits

Author SHA1 Message Date
Fredia Huya-Kouadio
250749fa79 Augment the InputEvent class with a CANCELED state
The `InputEvent` class currently supports the `pressed` and `released` states, which given the binary nature, is represented by a `bool` field.
This commit introduced the `CANCELED` state, which signals that an ongoing input event has been canceled.
To represent all the states, the `InputEventState` enum is added and the `InputEvent` logic is refactored accordingly.
2023-05-15 11:48:25 -07:00
Alex Drozd
a5a1c3a03c check for null event in Viewport::push_input 2023-05-15 20:16:15 +02:00
Yuri Sizov
17f492fb82 Expose dialog parent-and-popup logic to the API 2023-05-15 19:49:28 +02:00
bruvzg
9163d8c336
Expose TextServer justification flags to Label, Label3D, TextMesh and RTL. Add flags to control last/single line justification. 2023-05-15 19:23:54 +03:00
Emmanuel Leblond
e785dd9dd9
Improve user-friendliness of "return value as function param" pattern in GDExtension API
This commit introduce separate types (e.g. GDNativeStringPtr vs GDNativeUninitializedStringPtr)
depending on if the pointed data is already initialized (C++ style where constructor is alway
called when create a variable even if it is to be passed as return value) or not (C style).
On top of that, small changes has been made to `GDNativeInterface` so that it methods are
consistent on using uninitialized return value.
2023-05-15 17:14:57 +02:00
Juan Linietsky
0a9f72d5a8 Make more base nodes thread safe
Ongoing work to make more of the base nodes thread safe.
2023-05-15 16:54:10 +02:00
Rémi Verschelde
5c653c27cd
Merge pull request #77093 from RandomShaper/fix_mq_copy
Fix transfer of messages between queues
2023-05-15 13:47:18 +02:00
Rémi Verschelde
5adac3c680
Merge pull request #77091 from dalexeev/gds-fix-validate-call-arg
GDScript: Fix `validate_call_arg()` for unresolved datatype
2023-05-15 13:46:54 +02:00
Rémi Verschelde
b497729c92
Merge pull request #77074 from spanzeri/fix-theme-crash-skeleton-editor
Fix Skeleton3D editor crash regression after #76592
2023-05-15 13:46:30 +02:00
Rémi Verschelde
7866050e36
Merge pull request #77063 from Faless/crypto/i_trusted_win_trusted_root_cas_were_trusted
[TLS/Windows] Skip disallowed certs in the trusted CA list.
2023-05-15 13:46:07 +02:00
Rémi Verschelde
7349789a48
Merge pull request #77061 from AThousandShips/placeholder_doc
Document limitations of placeholder textures
2023-05-15 13:45:43 +02:00
Rémi Verschelde
f57fcc95f0
Merge pull request #77056 from kleonc/property_usage_description_fix_network_is_gone
Fix property usage docs referring to removed network flag
2023-05-15 13:45:20 +02:00
Rémi Verschelde
f5d8a72e6d
Merge pull request #77034 from kleonc/spriteframes-editor-toolbar-flowcontainer
Make SpriteFrames editor toolbar a `FlowContainer`
2023-05-15 13:44:56 +02:00
Rémi Verschelde
9853da4bfe
Merge pull request #77009 from jpcerrone/fix_errors_while_reordering_input_maps
Fix errors that appear while reordering input map entries
2023-05-15 13:44:33 +02:00
Rémi Verschelde
591115dcde
Merge pull request #76989 from dalexeev/fix-draw-multiline-colors-usage
Fix `draw_multiline_colors` usage
2023-05-15 13:44:09 +02:00
Rémi Verschelde
70dcfdab1f
Merge pull request #76446 from reduz/add-gdextension-api-compatibility
Add a backwards-compatibility system for GDExtension
2023-05-15 13:43:46 +02:00
Rémi Verschelde
88f5b8d687
Merge pull request #74190 from TokageItLab/respect-fade-abort-oneshot
Fix NodeOneShot doesn't respect fade-out when aborting and improvement
2023-05-15 13:43:20 +02:00
Rémi Verschelde
1d83a4c5a5
Merge pull request #72249 from RandomShaper/robust_sync
Robustify multi-threading primitives
2023-05-15 13:42:52 +02:00
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