Commit Graph

54335 Commits

Author SHA1 Message Date
Rémi Verschelde 508a5bf16e
Merge pull request #76025 from YuriSizov/editor-reparentable-windows
Expose dialog parent-and-popup logic to the API
2023-05-16 10:49:09 +02:00
Rémi Verschelde 59c19a7172
Merge pull request #75250 from bruvzg/lbl_rtl_jst_flags
Expose TextServer justification flags to Label, Label3D, TextMesh and RTL. Add flags to control last/single line justification.
2023-05-16 10:48:45 +02:00
Rémi Verschelde 265c70a369
Merge pull request #75142 from bruvzg/scr
[DisplayServer] Implement screen_get_image method for LinuxBSD/X11, macOS and Windows.
2023-05-16 10:48:16 +02:00
Evan Todd da7e54ec17 Fix CSGPolygon3D in path mode disappearing at runtime. 2023-05-15 16:52:39 -07:00
Rémi Verschelde 8cfa19a078
Merge pull request #77000 from reduz/make-more-base-nodes-thread-safe
Make more base nodes thread safe
2023-05-16 00:31:56 +02:00
Rémi Verschelde 313f613352
Merge pull request #35813 from touilleMan/ptrcall-ret-value-no-initialize
Improve GDExtension user-friendliness by being more explicit on when return value should be passed initialized
2023-05-16 00:31:22 +02:00
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
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