Commit Graph

12809 Commits

Author SHA1 Message Date
Rindbee 9bd1d3b5c8 Update size or size cache when toggling `expand_icon` in `Button`
When the `expand_icon` is switched, the size cache can be updated to
solve the issue that the cache cannot be updated when the `OptionButton`
is enabled with `fit_to_longest_item`.
2023-05-17 06:06:25 +08:00
Silc Lizard (Tokage) Renew e09c3d8126 Optimize Tween calculations by caching some divisions 2023-05-17 07:03:45 +09:00
Rémi Verschelde 755c61b57a
Merge pull request #77064 from brno32/push-input-null-check
Check for null event in Viewport::push_input
2023-05-16 11:04:08 +02:00
Rémi Verschelde 12b7a56202
Merge pull request #76713 from KoBeWi/TODO_is_now
Fix 2D audio in multiple viewports
2023-05-16 11:00:45 +02:00
Rémi Verschelde d61827af05
Merge pull request #76605 from Rindbee/fix_get_visible_line_count
Fix calculation bug with `TextEdit::get_line_height()`
2023-05-16 10:59:52 +02:00
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 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
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
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 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 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
Silc Lizard (Tokage) Renew 238bc9fe1f Fix NodeOneShot doesn't respect fade-out when aborting and improvement 2023-05-15 18:51:45 +09: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
Danil Alexeev cc44d75cd8
Fix `draw_multiline_colors` usage 2023-05-15 09:56:13 +03: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
kleonc d3d84d90de Fix AnimatedSprite3D autoplay warning 2023-05-13 13:10:38 +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 e8bc100c81
Merge pull request #74054 from Rindbee/clean_up_owner
Avoid crash when adjusting a node tree that is not in the tree
2023-05-12 11:17:03 +02:00
Rémi Verschelde cc48827e4a
Merge pull request #76946 from AThousandShips/shadow_warning
Enable shadow warnings and fix raised errors
2023-05-12 10:04:09 +02:00
Rémi Verschelde 07764a4a11
Merge pull request #76852 from AThousandShips/item_list_rect
Add `get_item_rect` function to `ItemList`
2023-05-12 10:02:10 +02:00
Ninni Pipping e5fdce7ca3 Add `get_item_rect` function to `ItemList` 2023-05-11 19:01:54 +02:00
smix8 f986b52b3c Make navigation mesh edge connections optional
Makes navigation mesh edge connections optional.
2023-05-11 18:46:34 +02:00
Ninni Pipping 71ee65dc57 Enable shadow warnings and fix raised errors 2023-05-11 16:00:59 +02:00
Rémi Verschelde f78c2dd82f
Merge pull request #75678 from smix8/navregion_update_guards_4.x
Prevent unnecessary navigation map synchronizations
2023-05-11 13:33:10 +02:00
Rémi Verschelde a745bf3802
Merge pull request #76826 from AThousandShips/item_list_fix
Minor bugfixes to `ItemList`
2023-05-11 11:47:33 +02:00
Rémi Verschelde 4020cc8acb
Merge pull request #76794 from Wiwip/inline-edit
Inline editor for the file system dock
2023-05-11 11:46:45 +02:00
Rémi Verschelde f7070a64e0
Merge pull request #72277 from Geometror/improve-editor-state-preservation
Improve editor state persistence
2023-05-11 11:45:52 +02:00
smix8 7e1a261cc6 Prevent unnecessary navigation map synchronizations
Prevents unnecessary navigation map synchronizations triggered by redundant calls to setters of e.g. region, link or map properties.
2023-05-11 07:38:16 +02:00
Hendrik Brucker dc46163b12 Improve editor state persistence 2023-05-11 04:17:03 +02:00
Rindbee 1eb250e17d Avoid crash when adjusting a node tree that is not in the tree
When node tree `A` is not in the tree, `remove_child(B)` will not
automatically clean up the owners of `B` and `B`'s child nodes.
This is convenient for implementing operations like `replace_by()`,
but may have hidden dangers when manipulating the rest of the tree
`A`.

This commit makes it safe to manipulate the rest of `A` after freeing
`B`.
2023-05-11 08:57:39 +08:00
Wiwip b08a6084af Modifies the file system dock to use the inline editor instead of a dialog.
*Bugsquad edit:* Closes https://github.com/godotengine/godot-proposals/issues/4933
2023-05-10 18:49:35 -04:00
Pedro J. Estébanez b6647a5808 Avoid sync issues in materials with scheduled shader updates 2023-05-10 18:53:41 +02:00
Pedro J. Estébanez 8983b20ccd Avoid interaction issues between resource loading threads 2023-05-10 18:53:41 +02:00
Rémi Verschelde 5271186f2f
Merge pull request #75901 from reduz/refactor-node-processing
Refactor Node Processing to allow Scene Multithreading
2023-05-10 12:46:44 +02:00
Rémi Verschelde 31fc7a8525
Merge pull request #62378 from trollodel/gsoc_2022_multiwindow
Add multi window code and shader editors (GSOC'22 Project)
2023-05-10 12:46:19 +02:00
Rémi Verschelde 4d703280d5
Merge pull request #76532 from dalexeev/tree-fix-multiline-drawing
Fix multiline items drawing in `Tree`
2023-05-10 10:19:37 +02:00
Rémi Verschelde 3b8c828159
Merge pull request #69988 from smix8/navigation_rvo_rework_4.x
Rework Navigation Avoidance
2023-05-10 10:19:12 +02:00
Rémi Verschelde 8e608e9467
Merge pull request #64388 from Rindbee/improve-ViewportTexture
Improve the UX of ViewportTexture in the editor
2023-05-10 10:18:43 +02:00
trollodel b4d6b47c17 Add multi window code and shader editors 2023-05-10 09:14:21 +02:00
smix8 a6ac305f96 Rework Navigation Avoidance
Rework Navigation Avoidance.
2023-05-10 05:01:58 +02:00
Rindbee af58f1e854 Improve the UX of ViewportTexture in the editor
The associated `ViewportTexture`s will update the `viewport_path`
in time when the `Viewport`'s nodepath is changed (caused by renaming
the node names or moving in the SceneTree dock).

If the target `Viewport` is changed by resetting the `viewport_path`,
the `ViewportTexture`s will be re-setup and emit `changed` signal in
time.
2023-05-10 09:13:43 +08:00
Juan Linietsky 98c655ec8d Refactor Node Processing
* Node processing works on the concept of process groups.
* A node group can be inherited, run on main thread, or a sub-thread.
* Groups can be ordered.
* Process priority is now present for physics.

This is the first steps towards implementing https://github.com/godotengine/godot-proposals/issues/6424.
No threading or thread guards exist yet in most of the scene code other than Node. That will have to be added later.
2023-05-09 19:17:51 +02:00
RedworkDE 8e7afec479 Fix various errors when running the unit tests
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-05-09 18:40:56 +02:00
Rémi Verschelde e0df3be64f
Merge pull request #70286 from the-sink/popupmenu_icon_modulate
Add icon_modulate set/get functionality to PopupMenu
2023-05-09 10:44:19 +02:00
Rémi Verschelde 72323a57d0
Merge pull request #57894 from Sauermann/fix-subviewport-1
Fix unrestricted mouse-event propagation to SubViewports for Physics-Picking
2023-05-09 10:43:49 +02:00
the-sink a85eef4367 Add icon_modulate functionality to PopupMenu 2023-05-08 15:25:00 -07:00
Rémi Verschelde 15f9ac9458
Merge pull request #75751 from KoBeWi/eradicate_ViewportTexture_errors_entirely_and_surely
Prevent errors when using ViewportTexture
2023-05-08 16:40:10 +02:00
Rémi Verschelde bbe05b60c8
Merge pull request #57179 from spacechase0/notify-world2d-changed-master
Propagate previously unused NOTIFICATION_WORLD_2D_CHANGED, make CanvasItem/CollisionObject2D use it
2023-05-08 16:40:00 +02:00
kobewi 1b9802fa8c Prevent errors when using ViewportTexture 2023-05-08 15:56:16 +02:00
Rémi Verschelde c9f81045be
Merge pull request #76536 from AThousandShips/bit_poly_size
Fix size error in `BitMap.opaque_to_polygons`
2023-05-08 13:52:46 +02:00
Rémi Verschelde 3e6a731904
Merge pull request #76418 from reduz/method-bind-validated-call
Add ValidatedCall to MethodBind
2023-05-08 13:52:42 +02:00
Rémi Verschelde 704560cc3c
Merge pull request #70868 from Maran23/4-x-scrollcontainer-custom-step-editor
Expose horizontal/vertical `custom_step` as editor property for the `ScrollContainer`
2023-05-08 13:52:18 +02:00
Rémi Verschelde 720869fe5e
Merge pull request #76809 from YeldhamDev/cursor_mania
Add more uses of appropriate cursors when resizing/moving some UI nodes
2023-05-08 12:21:04 +02:00
Rémi Verschelde eb6d6ab29f
Merge pull request #76658 from Paulb23/convert-indent-code-edit
Move convert_indent into CodeEdit
2023-05-08 12:20:37 +02:00
Rémi Verschelde 32fbba4bf6
Merge pull request #76472 from jmb462/multicarets_selection_popup
Fix right click in selection of additional caret
2023-05-08 12:20:25 +02:00
Rémi Verschelde eebb1d8eff
Merge pull request #74369 from Dragoncraft89/master
Implement vertical icon alignment for buttons
2023-05-08 12:20:11 +02:00
Rémi Verschelde e758164ba6
Merge pull request #72376 from MewPurPur/fix-color-button-popup
Fix popup position of color picker
2023-05-08 12:20:07 +02:00
Rémi Verschelde e70777260d
Merge pull request #70911 from Chaosus/vs_custom_gdextension_support
Add handling of custom visual shader nodes from GDExtension
2023-05-08 12:20:00 +02:00
Ninni Pipping fffa577b3b Minor bugfixes to `ItemList`
* Removed unused position code in `gui_input`
* Ensured `set_fixed_icon_size` updates cached size
2023-05-08 10:25:08 +02:00
Jean-Michel Bernard 5c06c030f2 Fix right click in selection of additional caret 2023-05-08 00:02:56 +02:00
Michael Alexsander 8118d0d2f5 Add more uses of appropriate cursors when resizing/moving some UI nodes 2023-05-07 11:14:57 -03:00
Paulb23 0b3fba45c6 Move convert_indent into CodeEdit 2023-05-07 13:08:37 +01:00
Yuri Rubinsky 998b48f722 Add handling of custom visual shader nodes from GDExtension 2023-05-06 08:19:12 +03:00
David Turner 43a7cb093c Explain why an image would be invalid for a texture 2023-05-05 14:33:01 -04:00
Clay John 12e4323f17
Merge pull request #75427 from Chaosus/shader_fix_groups_ordering
Fix shader uniform groups to prevent it sorting in alphabet order
2023-05-05 09:08:37 -07:00
Max Hilbrunner fa451ead91
Merge pull request #74883 from dalexeev/fix-thin-multiline-colors 2023-05-05 14:26:37 +02:00
Max Hilbrunner 03dfae4208
Merge pull request #76004 from mashumafi/wait-nav-region-thread 2023-05-05 13:50:09 +02:00
kobewi 8a41eefb97 Fix 2D audio in multiple viewports 2023-05-03 23:09:40 +02:00
Max Hilbrunner 1f104b4a60
Merge pull request #76669 from smix8/fix_create_from_blend_shape_4.x
Fix SurfaceTool::create_from_blend_shape()
2023-05-03 20:11:08 +02:00
mashumafi a93a2e519d Wait for navigation baking to finish before destruction 2023-05-02 21:05:47 -04:00
Clay John 2a0aef5f09
Merge pull request #68033 from MewPurPur/auto-light3d-warning-updates
Show Light3D's scale warning immediately when a user edits the property.
2023-05-02 14:08:08 -07:00
smix8 2dbc5d95eb Fix SurfaceTool::create_from_blend_shape()
Fixes SurfaceTool::create_from_blend_shape().
2023-05-02 08:48:48 +02:00
Chase Warrington 46e06ee1e6 Propogate previously unused NOTIFICATION_WORLD_2D_CHANGED, make CanvasItem/CollisionObject2D use it 2023-05-01 18:26:55 -04:00
Florian Kothmeier 68b9fa71a0
Implement vertical icon alignment for buttons 2023-05-01 19:51:47 +02:00
VolTer 818d57b5b4 Light3D show scaling warning immediately 2023-05-01 02:55:17 +02:00
Juan Linietsky 1c93606e47 Add ValidatedCall to MethodBind
* This should optimize GDScript function calling _enormously_.
* It also should simplify the GDScript VM considerably.

NOTE: GDExtension calling performance has most likely been affected until going via ptrcall is fixed.
2023-04-30 20:01:26 +02:00
Tefatika abd894daf7
Fixed error messages when setting all_tab_in_front of TabContainer
Some signal handlers weren't unregistered when removing the wrapped
child TabBar, which resulted in errors printed when the TabBar was
removed and added again when the flag was updated
2023-04-30 08:17:21 +02:00
Marius Hanl 29358daa4d Expose horizontal/vertical custom_step as editor property for the ScrollContainer 2023-04-29 23:56:59 +02:00
Ninni Pipping 249784ed53 Fix size error in `BitMap.opaque_to_polygons`
Previous estimate of upper limit on size was incorrect
2023-04-28 19:01:02 +02:00
Danil Alexeev 865d6f5ed0
Fix multiline items drawing in `Tree` 2023-04-28 12:02:26 +03:00
bitsawer 35b06f05a2 Revert "Fix ShaderMaterial uniform type changes"
This reverts commit e55c6bfb7b.
2023-04-28 11:37:29 +03:00
Rémi Verschelde 5cc50c11d5
Merge pull request #76438 from bitsawer/fix_shader_uniform_typing
Fix ShaderMaterial uniform type changes
2023-04-27 23:55:43 +02:00
Samuele Panzeri 4aaa2e6477 Fix wait for thread not started 2023-04-27 20:28:22 +02:00
Rémi Verschelde cedd3378f5
Merge pull request #69053 from KoBeWi/grabbercentrism
Add center_grabber theme property to Slider
2023-04-27 08:18:37 +02:00
Danil Alexeev 005937b576
Add support for multiline strings to `Tree` 2023-04-25 18:43:26 +03:00
Rémi Verschelde bbecc8ae0d
Merge pull request #70234 from Rindbee/fix-uid-lost
Fix the uid field of the tscn/res file is lost when the external dependency is updated
2023-04-25 16:16:47 +02:00
Rémi Verschelde 6aac8af6f1
Merge pull request #69318 from Sauermann/fix-refresh-gui-events
Fix scene reload crash related to mouse cursor update
2023-04-25 15:36:26 +02:00
Rémi Verschelde 0093660351
Merge pull request #76246 from Proggle/tilemap-rid-layer-report
TileMap: Add method to fetch the layer for a given body
2023-04-25 14:44:10 +02:00
Rémi Verschelde ae7872fd02
Merge pull request #76199 from needleful/incremental_search_property
Add allow_search property to ItemList and Tree to control incremental search
2023-04-25 14:44:06 +02:00
bitsawer e55c6bfb7b Fix ShaderMaterial uniform type changes 2023-04-25 15:01:56 +03:00
Proggle 093cb90077
TileMap: Add method to fetch the layer for a given body 2023-04-25 12:49:50 +02:00
Yuri Sizov 0562decf34 Unexpose AnimationTrackEditPlugin as not implemented 2023-04-25 11:38:17 +02:00
Rémi Verschelde ed62d965eb
Merge pull request #75429 from MewPurPur/Literally-cant-have-a-functioning-level-editor-because-of-this-please-helppp
Fix PackedScenes created with PackedScene.pack() have their exported nodes become null
2023-04-25 09:58:41 +02:00
Silc Renew fac8a918f9 Expose interpolation methods for 3D track in Animation class 2023-04-25 01:45:14 +09:00
Rémi Verschelde b5ddafcab2
Merge pull request #76374 from OverloadedOrama/more-tab-container-signals
Add missing `TabBar` signals to `TabContainer`
2023-04-24 16:48:01 +02:00
Rémi Verschelde f64544a960
Merge pull request #76311 from aaronfranke/t2d-basis-det
Expose `determinant` in Transform2D, rename internal method
2023-04-24 16:46:24 +02:00
Rémi Verschelde 1f76ad0286
Merge pull request #76279 from TheSecondReal0/buttongroup-unpress
Add an option for ButtonGroups to be unpressed
2023-04-24 16:46:00 +02:00
Rémi Verschelde c0ee2b4968
Merge pull request #76145 from manueldun/usability-auto-indent
Fix auto-indentation in typed arrays, comments, and after colon
2023-04-24 16:45:35 +02:00
Rémi Verschelde 13544fb508
Merge pull request #75759 from TokageItLab/reimplement-grouped-statemachine
Rework for nested `AnimationNodeStateMachine`
2023-04-24 16:44:21 +02:00
Rémi Verschelde ee38afc350
Merge pull request #75016 from timothyqiu/watch-out
Fix TouchScreenButton not redrawn when texture changes
2023-04-24 16:43:06 +02:00
Rémi Verschelde dfee04ae2a
Merge pull request #74632 from davthedev/tabs-hover
Add theming support for hovered tabs
2023-04-24 16:42:38 +02:00
Emmanouil Papadeas 0a6a4969dc Add more signals to `TabContainer` that `TabBar` already has 2023-04-23 18:50:35 +03:00
Haoyu Qiu a15126915d Fix TouchScreenButton not redrawn when texture changes 2023-04-23 14:35:12 +08:00
Fredia Huya-Kouadio 7325ffdd46 Make tab's close button responsive to touch taps 2023-04-22 20:32:00 -07:00
Aaron Franke 290b09b36c
Expose `determinant` in Transform2D, rename internal method 2023-04-22 13:44:14 -05:00
kobewi 14cb9b5b26 Add center_grabber property to Slider 2023-04-22 17:53:17 +02:00
Rémi Verschelde 66d9a6acde
Merge pull request #75960 from ShadyChibinko/tab_metadata
Add tab Metadata to TabBar & TabContainer
2023-04-22 13:19:04 +02:00
Rémi Verschelde 77fc22d6e2
Merge pull request #76290 from JohanAR/light_is_directional_spatial
Add LIGHT_IS_DIRECTIONAL built-in for spatial shaders
2023-04-21 15:50:27 +02:00
TheSecondReal0 d829b43ab5 Add option for ButtonGroups to be unpressed
Add an option for ButtonGroups to be unpressed

Apply suggestions from code review

Co-Authored-By: Tomek <kobewi4e@gmail.com>
Co-Authored-By: Yuri Rubinsky <chaosus89@gmail.com>
Co-Authored-By: kleonc <9283098+kleonc@users.noreply.github.com>
2023-04-20 17:09:39 -06:00
Manuel Dun fa7e6ddb83 Fix auto-indentation in typed arrays, comments, and after colon
Now the editor won't add indentation when pressing enter, is
declaring typed variables and there is a colon in the comment

example:
var a:=0#:[press enter]
no indentation
2023-04-20 18:48:21 -04:00
VolTer 0a4a1bc4b8 Add a square fill mode to GradientTexture2D 2023-04-20 16:32:42 +02:00
Johan Aires Rastén 14a8124ffe Add LIGHT_IS_DIRECTIONAL built-in for spatial shaders 2023-04-20 14:33:30 +02:00
Rémi Verschelde f6bb71fc77
Merge pull request #76257 from spanzeri/sdfcollision-popup-stuck
Fix editor lock on sdf collision bake on error
2023-04-20 12:43:18 +02:00
Rémi Verschelde 42d3ed2103
Merge pull request #74739 from davthedev/itemlist-hover
Add theming support for hovered ItemList items
2023-04-20 12:41:41 +02:00
Samuele Panzeri a2be742f97 Fix editor lock on sdf collision bake on error 2023-04-19 11:00:11 +02:00
Rémi Verschelde 3695dfb357
Merge pull request #75509 from KoBeWi/In_physics,_the_observer_effect_is_the_disturbance_of_an_observed_system_by_the_act_of_observation._A_common_example_is_checking_CanvasItem's_global_position,_which_causes_its_transform_to_be_re-calculated-
Fix invalid global position when read outside tree
2023-04-19 10:13:48 +02:00
bruvzg 520a8d8ed2
Add project manager / editor initial screen settings, implement DisplayServer.get_keyboard_focus_screen method. 2023-04-19 08:54:53 +03:00
David Giardi 9f1e18e64c Add theming support for hovered tabs
Tabs can now be styled differently when hovered by the mouse pointer.
2023-04-19 01:38:09 +02:00
Rémi Verschelde b5b371cf7c
Merge pull request #70332 from aaronfranke/rigid-body-units
Improve some units in RigidBody nodes
2023-04-18 23:38:20 +02:00
David Giardi 142990d60a Add hovered item style to ItemList 2023-04-18 22:52:39 +02:00
kobewi 727a4ed79a Fix invalid global position when read outside tree 2023-04-18 22:14:01 +02:00
needleful 9a968088db Add allow_search property to ItemList and Tree 2023-04-18 09:21:18 -07:00
Yuri Sizov 9e6b680cfb
Merge pull request #74814 from kleonc/tilemap-fix-rendering-odd-sized-tiles
`TileMap` Fix rendering odd-sized tiles
2023-04-18 16:27:44 +02:00
Yuri Sizov 8f113c6532
Merge pull request #72749 from aaronfranke/area-priority
Make Area physics priority consistently int and allow negative numbers
2023-04-18 14:21:06 +02:00
Aaron Franke 87bd8d2dcf Make Area physics priority consistently int and allow negative numbers 2023-04-18 13:50:20 +02:00
Yuri Sizov 377d8845da
Merge pull request #75890 from YuriSizov/gui-remember-window-state
Always cache parent visibility in `CanvasItem`
2023-04-18 13:07:41 +02:00
Yuri Sizov 0aa2c32770
Merge pull request #76148 from smix8/navigation_debug_nontri_meshes_4.x
Fix NavigationMesh debug visuals for non-triangulated meshes
2023-04-18 13:07:24 +02:00
Silc Renew 991e6e90ba Rework StateMachine and nested StateMachine process
Breaking compatibility: If a StateMachineTransition is connected to a nested StateMachine prior to this, it is removed. Also, there was a feature to connect another StateMachine as the End of a StateMachine, which is also removed to avoid reference confusion. It was like a GoTo Statement, also further passing the same reference to the blending process, causing the blending calculation to break or causing some StateMachines to not work.
2023-04-18 19:06:51 +09:00
Yuri Sizov 3db40355a0
Merge pull request #76132 from davthedev/stylebox-flat-antialiasing-fix
Fix blurry borders on antialiased StyleBoxFlat
2023-04-17 22:20:04 +02:00
David Giardi 2ef20045b1 Fix blurry borders on antialiased FlatStyleBox
This is a fix of the antialiasing logic of FlatStyleBox.
It is now possible to have smooth rounded corners while keeping
the edges sharp on the pixels.

The antialiasing gradient positioning is ajusted so that the "hard"
border corresponds to the middle of that gradient instead of one end.
Checked against rendering of rounded rectangles in a vector graphics
software.
2023-04-17 20:23:03 +02:00
Yuri Sizov de416c5cbd
Merge pull request #74623 from MewPurPur/edit-text-with-style
Code style improvements to text_edit and related
2023-04-17 19:08:08 +02:00
Chris Hutchinson 97712b3f50 Clamp minimum value of time_left to 0.0 2023-04-17 16:49:04 +02:00
Yuri Sizov 055ee1276f
Merge pull request #76029 from YuriSizov/control-we-are-not-the-same-you-and-i
Use Point2 consistently in Control methods
2023-04-17 14:30:26 +02:00
Yuri Sizov b8b494a16c
Merge pull request #68397 from aaronfranke/get-child
Make `Node::get_children()` public
2023-04-17 14:28:37 +02:00
angel-721 e347d7d64d Rename internal root canvas group to start with underscore 2023-04-16 17:42:21 -06:00
smix8 4490a3303b Fix NavigationMesh debug visuals for non-triangulated meshes
Fixes NavigationMesh debug visuals for non-triangulated meshes.
2023-04-16 23:31:54 +02:00
Aaron Franke a83ce0b104
Improve some units in RigidBody nodes 2023-04-15 22:03:24 -05:00
Aaron Franke 8eb9986dc5
Make `Node::get_children()` public 2023-04-15 21:59:25 -05:00
Yuri Sizov bd3286eed2
Merge pull request #75999 from clayjohn/Particles-angle-rand
Use angle_rand to calculate base_angle in particles process material
2023-04-14 13:14:34 +02:00
clayjohn 821917ba9f Use angle_rand to calculate base_angle in particles process material 2023-04-13 15:10:47 -07:00
VolTer 6c6c1302f3 Fix PackedScenes created with PackedScene.pack() have their exported nodes become null 2023-04-13 16:16:13 +02:00
Yuri Sizov 4fed87320c Use Point2 consistently in Control methods
While Size2 and Point2 are just aliases,
which is why this doesn't fail compilation,
it's nice to have things consistent.
2023-04-13 15:26:50 +02:00
Rémi Verschelde 13f2a4c7ae
Merge pull request #75993 from AThousandShips/autohide_theme
Don't apply scale to autohide theme property
2023-04-13 09:55:30 +02:00
Rémi Verschelde 87b8eea9f6
Merge pull request #75904 from Calinou/colorpicker-constructor-round-values
Round values to 3 decimals in the ColorPicker constructor string
2023-04-13 09:54:18 +02:00
clayjohn 9be0a73294 Add EXPOSURE built in to spatial shaders
This allows users to restore light values to pre-pre-exposure amounts
2023-04-12 10:35:13 -07:00
Ninni Pipping 722597aa97 Don't apply scale to autohide theme property 2023-04-12 17:40:40 +02:00
Rémi Verschelde d4dad2b2f8
Merge pull request #75957 from clayjohn/VS-default-modes
Write out render_mode even when mode is set to default in VisualShaders
2023-04-12 17:01:24 +02:00
Rémi Verschelde 486988f717
Merge pull request #70834 from pattlebass/spinbox-doesnt-spin
Fix `Range`-derived nodes not redrawing after `set_value_no_signal`
2023-04-12 17:01:11 +02:00
pattlebass 9500f8e69a Fix Range-derived nodes not redrawing
When using set_value_no_signal(), Range-derived nodes wouldn't redraw.

Also added a dedicated method to SpinBox to update its text.
2023-04-12 14:53:12 +03:00
Rémi Verschelde cd03028915
Merge pull request #75977 from timothyqiu/invisible-item
Tree: Fix offset calculation when there are hidden items
2023-04-12 13:28:16 +02:00
Rémi Verschelde fb3e4e7967
Merge pull request #75975 from bruvzg/bidi_and_log_errors
Improve line BiDi handling, prevent crash on recursive log updates.
2023-04-12 13:28:12 +02:00
Rémi Verschelde 15316416ab
Merge pull request #75974 from bruvzg/ts_emb_caret
[TextServer] Use dedicated flag for object replacement characters.
2023-04-12 13:28:09 +02:00
kobewi 20261016a7 Fix typed array export
Co-authored-by: Guilherme Sousa <guilherme.sousa1994@gmail.com>
2023-04-12 12:19:17 +02:00
Haoyu Qiu a083c85521 Tree: Fix offset calculation when there are hidden items 2023-04-12 17:49:52 +08:00
bruvzg 282e4231c2
Improve line BiDi handling, prevent crash on recursive log updates. 2023-04-12 11:39:05 +03:00
bruvzg d904516e55
[TextServer] Use dedicated flag for object replacement characters. 2023-04-12 10:08:51 +03:00
clayjohn 016946b552 Write out render_mode even when mode is set to default in VisualShaders 2023-04-11 18:03:00 -07:00
Rémi Verschelde cbf7412e38
Merge pull request #75905 from Calinou/colorpicker-allow-named-colors
Allow entering named colors in ColorPicker's hex field
2023-04-11 19:40:48 +02:00
Rémi Verschelde fff0ee0fc4
Merge pull request #75822 from YeldhamDev/no_multi_zero
Remove unnecessary zero multiplications
2023-04-11 19:40:40 +02:00
Rémi Verschelde 5722d6e3cc
Merge pull request #75451 from bruvzg/web_mac_keys
[Web] Detect host OS and use macOS keys on mac hosts.
2023-04-11 19:40:16 +02:00
Rémi Verschelde 23a3e3984b
Merge pull request #74117 from Animtim/RichTextLabel_LocalizationFix
Add translation support to RichTextLabel
2023-04-11 19:40:07 +02:00
Rémi Verschelde 347a8e20ae
Merge pull request #69324 from RedMser/advanced-settings-errors
Make it easier to solve warnings/errors referring to project settings
2023-04-11 19:39:53 +02:00
ShadyChibinko 9d2aecade0 Add Tab Metadata 2023-04-11 12:52:03 -04:00
Hugo Locurcio 4d8331ad1f
Round values to 3 decimals in the ColorPicker constructor string
This makes the whole string always fit within the LineEdit
(at least when using the default font).
2023-04-11 18:29:52 +02:00
Yuri Sizov ca808c88a4
Merge pull request #71747 from Koyper/rich_text_label_dropcap_selection_bug
Fixed RichTextLabel wrong selection offset after drop cap
2023-04-11 18:25:39 +02:00
Koyper 99376eebe0 Fixed RichTextLabel wrong selection offset after drop cap. 2023-04-11 10:09:26 -05:00
Timothée Giet e861ea5903 Add translation support to RichTextLabel
BUG: 34050
add translation support to RichTextLabel, and respect its Auto Translate setting
2023-04-11 14:17:59 +02:00
Yuri Sizov 6a65597569
Merge pull request #71742 from Koyper/rich_text_label_cell_padding_select_bug
Fixed RichTextLabel wrong selection offset in padded table cell.
2023-04-11 13:16:35 +02:00
Yuri Sizov 5e6c382a84
Merge pull request #71433 from marzecdawid/fix-TreeItem-button-rendered-under-selected
Fix TreeItem's button being rendered under "Selected" highlights
2023-04-11 13:15:09 +02:00
bruvzg a5009f4d3c
[Web] Detect host OS and use macOS keys on mac hosts. 2023-04-11 10:58:54 +03:00
Hugo Locurcio 517dc3654a
Allow entering named colors in ColorPicker's hex field
This also makes the hex field wider to allow displaying 9-character
hex code (`#rrggbbaa`) in full, even when using a custom font.
2023-04-10 23:59:07 +02:00
Yuri Sizov c48219f51e
Merge pull request #73658 from smix8/do_not_stop_the_entire_server_cause_you_want_to_pause_4x
Keep NavigationServer active while SceneTree is paused
2023-04-10 16:24:26 +02:00
Yuri Sizov fd6a743823 Always cache parent visibility in CanvasItem 2023-04-10 16:18:46 +02:00
smix8 4b0dee080e Keep NavigationServer active while SceneTree is paused
Keep NavigationServer active while SceneTree is paused.
2023-04-10 15:30:22 +02:00
Yuri Sizov 5243f5cece
Merge pull request #72152 from smix8/mcd_settings_4.x
Add Mesh ConvexDecompositionSettings wrapper
2023-04-10 12:52:23 +02:00
Yuri Sizov 8784f95e1f
Merge pull request #75777 from 3deathtoll/patch-1
Make `SyntaxHighlighter::get_text_edit` a const function
2023-04-10 12:49:04 +02:00
Yuri Sizov b6cf8959e4
Merge pull request #72863 from JeffVenancius/enable_caret_drawing_when_not_editable
Add an option to show a TextEdit caret when editable is disabled
2023-04-10 12:48:18 +02:00
Yuri Sizov d54266899a
Merge pull request #75810 from yedpodtrzitko/yed/simplify-comparison
misc: simplify blend position comparison
2023-04-10 11:58:51 +02:00
VolTer f587a21899 Code style improvements to text_edit and related 2023-04-08 19:33:56 +02:00
Juan Linietsky 37362202a4 Fix CI build error
Fixes potential use of uninitialized variable.
2023-04-08 18:21:08 +02:00
Michael Alexsander f057d755ab Remove unnecessary zero multiplications 2023-04-08 09:31:05 -03:00
yedpodtrzitko c01d2902d9 optimize blend position search 2023-04-08 18:49:06 +07:00
Juan Linietsky ab5fc22f67 Optimize Node children management
* Adding and removing child nodes is now constant time, speed up should be huge.
* Searching for node paths as in ("path/to/node") should be far faster too.

This changes the children management and makes it a hashmap, optimizing most StringName based operations.
Most operations should be severe speed up without breaking compatibility.

This should fix many issues regarding to node access performance, and may also speed up editor start/end, but benchmarks are needed. So if you want to test, please make some benchmarks!

Further performance improvements will be done in the future by removing NOTIFICATION_MOVED_IN_PARENT and replacing by something less laborious.
2023-04-08 10:54:28 +02:00
jeffVenancius 97c2133548 Add an option to show a TextEdit caret when editable is disabled
Update doc/classes/TextEdit.xml
2023-04-07 22:27:01 -03:00
smix8 1549aeaef8 Add Mesh ConvexDecompositionSettings wrapper
Adds wrapper MeshConvexDecompositionSettings to control parameters for Mesh ConvexDecomposition operations.
2023-04-07 22:39:25 +02:00
3deathtoll 3841c4a4b4 Make SyntaxHighlighter::get_text_edit a const function 2023-04-07 23:46:50 +05:30
Rémi Verschelde c151d3231f
Merge pull request #75760 from reduz/optimize-node-add-child-validation
Optimize Node::add_child validation
2023-04-07 18:20:28 +02:00
Yuri Sizov f38b540273
Merge pull request #75756 from smix8/fix_obstacle_avoidance_sim_4.x
Fix NavigationObstacles not being added to avoidance simulation
2023-04-07 15:11:40 +02:00
Yuri Sizov b5f532094e
Merge pull request #56671 from Rgtemze/warn_if_concave
Warn when a concave polygon is assigned to ConvexPolygonShape2D
2023-04-07 14:39:41 +02:00
Yuri Sizov a13635cdf8
Merge pull request #70901 from timothyqiu/tree-scroll-offset
Add scrollbar offset theme constants to Tree
2023-04-07 13:24:01 +02:00
Juan Linietsky 223ce4fcb9 Optimize Node::add_child validation
Adding 10k nodes is almost twice as fast.
2023-04-07 13:18:47 +02:00
Yuri Sizov f1f0e5f91d
Merge pull request #75728 from smix8/fix_audiostreamplayer2d_crash_4.x
Fix AudioStreamPlayer2D crash when PhysicsServer2D runs on thread
2023-04-07 12:46:53 +02:00
Samuele Panzeri 404f24b5c4 Update sibling indices after a node is removed.
With change 104392e the code to update node indices on removal was erronously removed.
The out of date indices would cause crashes while selecting nodes in a graph editor (e.g. animation tree) and selected nodes are oftern pushed to beginning or end of the child list for the parent.
2023-04-06 20:47:57 +02:00
smix8 aadf33efd8 Fix NavigationObstacles not being added to avoidance simulation
Fixes NavigationObstacles not being added to avoidance simulation.
2023-04-06 16:32:49 +02:00
Rémi Verschelde 92b7a9603a
Merge pull request #75701 from reduz/notification-moved-in-parent
Remove NOTIFICATION_MOVED_IN_PARENT
2023-04-06 14:35:04 +02:00
Juan Linietsky 104392ef4e Remove NOTIFICATION_MOVED_IN_PARENT
* This notification makes node children management very inefficient.
* Replaced by a NOTIFICATION_CHILDREN_CHANGED (and children_changed signal).
* Changed Canvas code (and similar) to use the above signal, to perform more efficiently.

This PR breaks compatibility (although this notification was very rarely used, even within the engine), but provides an alternate way to do the same.
It is required for the changes in #75627 to be entirely effective.
2023-04-06 13:57:13 +02:00
Haoyu Qiu 498d538578 Add scrollbar offset theme constants to Tree 2023-04-06 15:04:28 +08:00
smix8 a5351086b0 Fix AudioStreamPlayer2D crash when PhysicsServer2D runs on thread
Fixes AudioStreamPlayer2D crash when PhysicsServer2D runs on thread due to empty PhysicsSpace
2023-04-06 03:29:09 +02:00
Rémi Verschelde 5cf878c090
Merge pull request #75113 from m4gr3d/fix_2d_editor_dragging_main
Fix the issue preventing dragging in the 2D editor
2023-04-05 20:21:09 +02:00
Rémi Verschelde e0bff2fa06
Merge pull request #75610 from aaronfranke/sus-travel-m
Change VehicleWheel3D suspension travel to use meters internally
2023-04-05 12:03:23 +02:00
Rémi Verschelde 4f4b5a2785
Merge pull request #73475 from YuriSizov/theme-is-busy-plz-come-back-later
Add a warning when accessing theme prematurely and fix surfaced issues
2023-04-05 12:03:15 +02:00
Johan Aires Rastén 9a60c4affb GraphNode ignore non-visible children for minimum size. 2023-04-05 09:05:52 +02:00
Aaron Franke dd0eb1ab47
Change VehicleWheel3D suspension travel to use meters internally 2023-04-03 12:34:05 -07:00
Yuri Sizov e401540264 Implement theme item cache in ColorPicker and friends 2023-04-03 18:01:11 +02:00
Yuri Sizov db2f99cdc0 Implement theme item cache in TextEdit and CodeEdit 2023-04-03 18:01:10 +02:00
Yuri Sizov 91ff34b5b5 Add a warning when trying to access theme items too early 2023-04-03 18:01:10 +02:00
Rémi Verschelde 5b775282b7
Merge pull request #74654 from YuriSizov/gui-cause-you-re-hi-and-you-re-lo-you-re-yes-and-you-re-no
Prevent crash in `ItemList` when checking for visible items
2023-04-03 17:08:44 +02:00
Rémi Verschelde b85fc4aa6d
Merge pull request #73646 from KoBeWi/squish
Prevent off-screen controls in editor
2023-04-03 17:07:54 +02:00
Rémi Verschelde 8a02d3817d
Merge pull request #73180 from KoBeWi/pretty_tweens
Various Tween code improvements
2023-04-03 17:07:29 +02:00
Rémi Verschelde 57e3651763
Merge pull request #72028 from kilojool/option_button_reselection
OptionButton: allow reselection of selected item
2023-04-03 17:06:36 +02:00
Rémi Verschelde 1db9de5406
Merge pull request #75597 from bruvzg/tx_block
[TextEdit] Fix block caret size at the end of the line.
2023-04-03 16:06:02 +02:00
Rémi Verschelde f8e0880623
Merge pull request #75595 from Geometror/fix-graphedit-rect-scaling
Fix several GraphEdit operations at zoom levels other than 100%
2023-04-03 16:05:38 +02:00
Rémi Verschelde a9855a3a4c
Merge pull request #75494 from MewPurPur/line-edit-get-selected-text
Implement LineEdit.get_selected_text()
2023-04-03 16:03:58 +02:00
Rémi Verschelde 3c225c19c1
Merge pull request #75487 from Rindbee/improve_update_remote_in_RemoteTransform2D
Fix RemoteTransform2D could fail to update AnimatableBody2D's position or rotation
2023-04-03 16:03:34 +02:00
Rémi Verschelde 9c492204ca
Merge pull request #75340 from Barugon/tree_colunm_title_alignment
Implement column title alignment for `Tree`
2023-04-03 16:03:10 +02:00
Rémi Verschelde b237df8cea
Merge pull request #75326 from smix8/navigationagent_expose_parameters_4.x
Expose NavigationAgent path postprocessing and pathfinding algorithm options
2023-04-03 16:02:21 +02:00
Rémi Verschelde 4779d4f695
Merge pull request #75298 from KoBeWi/supersonic_filesystem
Refresh filesystem when saving remote branch
2023-04-03 16:01:57 +02:00
Rémi Verschelde 420ea5c0ad
Merge pull request #73074 from M4rYu5/capslock-editor-completion-fix
Editor: Ignore CapsLock when pressed alone
2023-04-03 15:58:11 +02:00
kobewi 20f03884f2 Various Tween code improvements 2023-04-03 15:40:02 +02:00
bruvzg efe04af446
[TextEdit] Fix block caret size at the end of the line. 2023-04-02 20:53:13 +03:00
Rémi Verschelde ec0a6dcdda
Merge pull request #75544 from Pingar5/master
Fixed property hint for platform layers on 3D physics body
2023-04-02 17:34:15 +02:00
Rémi Verschelde d22e9effa2
Merge pull request #75532 from kleonc/texture-progress-bar-update-on-texture-changes
`TextureProgressBar` Update upon texture changes
2023-04-02 17:33:27 +02:00
Hendrik Brucker 49587fd6d9 Fix several GraphEdit operations at zoom levels other than 100% 2023-04-02 16:40:10 +02:00
Brennen Shaughnessy 2d16fe681d Fixed property hint for platform layers on 3D physics body 2023-03-31 19:40:45 -04:00
kleonc cdc63214fe TextureProgressBar Update upon texture changes 2023-04-01 00:16:43 +02:00
Yuri Sizov 1522762dc9 Make icons of scripted and custom classes fit the editor UI
Also:
- Add an option to limit the icon size in PopupMenu.
This is similar to how this works in Tree and TreeItem.
- Add the same option to TabBar.
- Add a theme constant for Tree, PopupMenu, Button, and
TabBar to apply this limit on the control level.

Co-authored-by: Daylily-Zeleen <daylily-zeleen@foxmail.com>
2023-03-31 21:39:02 +02:00
VolTer 1856ceeb76 Implement LineEdit.get_selected_text() 2023-03-30 22:58:12 +02:00
bruvzg efa647bb17
[RTL] Fix fill align and trim with enabled dropcap. 2023-03-30 22:23:39 +03:00
Rindbee 100b4b1f28 Fix RemoteTransform2D could fail to update AnimatableBody2D's position or rotation
Configure the transform per condition, and then only set it once to
prevent multiple `NOTIFICATION_LOCAL_TRANSFORM_CHANGED` notifications
from being sent.
2023-03-30 16:00:35 +08:00
RedworkDE aa604c5c47 Do not clamp non-embedded window size to embedder 2023-03-29 22:35:07 +02:00
Yuri Rubinsky 8ea4acee49 Fix shader uniform groups to prevent it sorting in alphabet order 2023-03-28 18:36:10 +03:00
Yuri Sizov 1222d35cdd
Merge pull request #75398 from newobj/issue-75218
Update GPUParticles2D/3D speed scale on ENTER_TREE
2023-03-28 16:34:58 +02:00
Yuri Sizov f818d2b98f
Merge pull request #75141 from rcorre/rrc/dialog-pos 2023-03-28 10:54:37 +02:00
Brian Long 4652fbd09e Update GPUParticles2D/3D speed scale on ENTER_TREE
Fix for https://github.com/godotengine/godot/issues/75218

Pause notifications are not sent when a node is added as a child. So GPUParticles2D should also obey its can_process status on ENTER_TREE, not just PAUSED/UNPAUSED.
2023-03-27 13:24:59 -07:00
Barugon c56ff437ae Implement column title alignment for `Tree` 2023-03-27 09:23:46 -07:00
Haoyu Qiu 5a5fd33e42 More i18n improvements
* Make placeholder in editor layout dialog translatable.
* Make messages in scene import settings dialog translatable.
* Mark theme override property categories for translation.
2023-03-27 22:24:01 +08:00
Yuri Sizov 61e4f91ea1
Merge pull request #75384 from timothyqiu/cultural-heritage
Auto translate popup menus of MenuButton and OptionButton
2023-03-27 15:54:21 +02:00
Yuri Sizov 2659fc1a34
Merge pull request #75266 from rburing/shapecast2d_disconnect
Port robust signal (dis)connection to `ShapeCast2D`
2023-03-27 13:08:58 +02:00
Ryan Roden-Corrent 894ce41180
Apply clamp_to_embedder on parent resize and popup.
Fixes #75084.

The clamp_to_embedder setting was added in 8be16e0704,
but was not set on any of the in-editor dialogs.

This patch sets `clamp_to_embedder` on editor dialogs so they cannot be dragged out of the frame.
This also modifies `clamp_to_embedder` so a window is clamped to the bounds of an embedder when
it pops up and when the parent is resized.
2023-03-27 07:08:29 -04:00
Yuri Sizov c95b88cbe9
Merge pull request #75238 from kleonc/canvas-item-fix-notifications-order-on-enter-tree
`CanvasItem` Fix `ENTER_CANVAS` / `VISIBILITY_CHANGED` notifications order when entering tree
2023-03-27 13:00:41 +02:00
Yuri Sizov c0301b74a1
Merge pull request #71405 from marzecdawid/deselect-root-in-deselect_all
Fix `Tree::deselect_all` not deselecting root
2023-03-27 12:26:41 +02:00
Haoyu Qiu 150f89352b Auto translate popup menus of MenuButton and OptionButton
Currently, `auto_translate` property of a `MenuButton` or `OptionButton`
won't affect its popup menu. It's okay if you want to auto translate,
but requires extra setup if you don't.
2023-03-27 18:09:24 +08:00
RedMser ed960453b7 Make solving project setting errors easier
Show full project setting path in error messages.
Force filtering for advanced settings if filter is not empty.
2023-03-27 08:10:35 +02:00
Hugo Locurcio 496a2ee1c7
Make MarginContainer available with `disable_advanced_gui=yes`
Comparatively more advanced GUI nodes such as FlowContainer and
AspectRatioContainer are already available when building with
`disable_advanced_gui=yes`.

This increases binary size by about 8 KB for binaries compiled with
`disable_advanced_gui=yes` (Linux release export template with LTO enabled).
2023-03-26 20:44:09 +02:00
smix8 6e324bb341 Expose NavigationAgent path postprocessing and pathfinding algorithm options
Exposes the path postprocessing and pathfinding algorithm options of the NavigationAgent internal NavigationPathQueryParameters object.
2023-03-25 21:37:18 +01:00
Michael Alexsander fc3d9d9d46 Defer invalidation on FileDialog nodes 2023-03-25 14:24:46 -03:00