Commit graph

12943 commits

Author SHA1 Message Date
Markus Sauermann
9d40f99290 Fix Tooltip getting removed instantly in embedded Window
Tooltips are unfocusable Windows. This case was not handled correctly in
`Viewport::_sub_window_register`.
2023-06-11 12:22:59 +02:00
kobewi
968c5f6247 Preserve selection when focusing SpinBox 2023-06-10 21:29:24 +02:00
Ninni Pipping
0c16082e1e Use get_node_or_null when null checks are present
Avoids duplicate or unnecessary errors
2023-06-10 13:22:56 +02:00
Rémi Verschelde
37d1dfef9d
Merge pull request #78000 from RandomShaper/let_users_mess_up
Let user scripts disable thread safety checks
2023-06-10 12:12:13 +02:00
Rémi Verschelde
65969dd51a
Merge pull request #77945 from AThousandShips/null_check
Use NULL instead of COND checks when appropriate
2023-06-10 12:11:48 +02:00
Rémi Verschelde
fe0ee24533
Merge pull request #77779 from KoBeWi/emit_changed()
Use `emit_changed()` consistently
2023-06-10 12:11:25 +02:00
Markus Sauermann
37a96d3957 Fix that _drop_physics_mouseover only happens when necessary
Previously the call was executed every time, because in the
`_drop_mouse_over();` a few lines above, `gui.mouse_over = nullptr;`
was set.
2023-06-10 09:33:16 +02:00
Ninni Pipping
dcd2b883eb Use NULL instead of COND checks when appropriate
Restricted to scene
2023-06-10 08:56:30 +02:00
Pedro J. Estébanez
2b001db76e Let user scripts disable thread safety checks 2023-06-09 18:24:01 +02:00
Rémi Verschelde
8acf6b41a4
Merge pull request #77209 from Rindbee/ViewportTexture-not-change-RID
Don't change `RID` when changing `viewport_path` in `ViewportTexture`
2023-06-09 15:10:39 +02:00
Rindbee
7532b2d259 Don't change RID when changing viewport_path in ViewportTexture
When changing `viewport_path`, the `proxy`'s target is changed to a new placeholder.

Add a flag `vp_changed` to prevent calling `setup_local_to_scene` (mainly called by toggling `resource_local_to_scene`) when the target viewport has not changed.
2023-06-09 19:50:26 +08:00
Rémi Verschelde
300748e52c
Merge pull request #78044 from RandomShaper/fix_node_prio_ignored
Fix node idle process priority being ignored
2023-06-09 13:45:15 +02:00
Rémi Verschelde
2a8e83ccad
Merge pull request #78017 from Sauermann/fix-physics-passive-hovering
Fix passive mouse hovering for physics
2023-06-09 13:44:05 +02:00
Pedro J. Estébanez
8bbc713ebf Fix node idle process priority being ignored 2023-06-09 13:05:07 +02:00
Markus Sauermann
543fdc1490 Fix passive mouse hovering for physics
Currently mouse hovering doesn't update the state, when collision objects
or the camera move.
This PR fixes this problem by taking the mouse position from the viewport
and not from a nonexistent previous event.

Since previous events could potentially be a long time ago, their
modifier-key state might be outdated. This PR fetches the current
status of modifier-keys from `Input`.

These changes allow the removal of some class-variables and making
additional simplifications.
2023-06-09 12:51:10 +02:00
Rémi Verschelde
0cee1e0d4f
Merge pull request #77923 from Sauermann/fix-mouse-position-with-screen-transform
Fix mouse position with screen transform
2023-06-09 12:15:56 +02:00
Rémi Verschelde
4d05edd75d
Merge pull request #77901 from bruvzg/rtl_canvas
Fix incorrect node placement in RTL layout when parent is non-Control canvas item.
2023-06-09 12:15:32 +02:00
Rémi Verschelde
37fc598ee1
Merge pull request #77899 from bruvzg/emb_center
Use initial position property for embedded windows to center on parent window.
2023-06-09 12:15:07 +02:00
bruvzg
b23f259e67
[Label] Add support for tab stops. 2023-06-09 12:59:37 +03:00
Markus Sauermann
d1fa284e65 Fix mouse position with screen transform
When a Viewport is not directly attached to the screen, the
function `Viewport::get_mouse_position` can't rely on
`get_screen_transform`, because that function is ambiguous in
these situations.
In these cases it is necessary to use the mouse position from
the most recent mouse IputEvent.
2023-06-09 11:29:43 +02:00
Rémi Verschelde
da68c707f2
Merge pull request #78025 from lyuma/skeleton3d_rest_dirty
Skeleton3D: Only reset rest_dirty after ALL bone transforms have finished update
2023-06-09 11:07:42 +02:00
Rémi Verschelde
082cfd501a
Merge pull request #78021 from clayjohn/Particles-size-rot-reset
Correctly reset particle size and rotation in ParticlesProcessMaterial
2023-06-09 11:07:13 +02:00
Rémi Verschelde
fd2f33942b
Merge pull request #78019 from Sauermann/fix-remove-child-inconsistency
Fix parent inconsistency in `Node::remove_child`
2023-06-09 11:06:49 +02:00
Rémi Verschelde
b083c1dbf5
Merge pull request #78005 from Sauermann/fix-some-simplifications
Some code simplifications
2023-06-09 11:06:26 +02:00
Rémi Verschelde
166643df32
Merge pull request #74937 from bitsawer/fix_uniform_storage
Fix shader uniform storage conversions and crash
2023-06-09 11:04:16 +02:00
Lyuma
c567d46a2f Skeleton3D: Only reset rest_dirty after ALL bone transforms have finished update 2023-06-08 19:23:14 -07:00
Raffaele Picca
353a4e1e09 Correctly reset particle size and rotation in ParticlesProcessMaterial
Co-authored-by: clayjhn <claynjohn@gmail.com>
2023-06-08 14:39:14 -07:00
Markus Sauermann
7561e176e8 Fix parent inconsistency in Node::remove_child
`NOTIFICATION_CHILD_ORDER_CHANGED` could be triggered, while there
was an inconsistent state:
- parent node no longer had child listed as child
- child node still had parent node listed as parent

Bring these two in sync, before emitting the notification.
2023-06-08 22:51:07 +02:00
Rémi Verschelde
e188d61922
Merge pull request #78010 from Sauermann/fix-parameter-order
Fix `CanvasItem::draw_string_outline` parameter order
2023-06-08 19:41:56 +02:00
Rémi Verschelde
1e39eb0711
Merge pull request #78007 from kdiduk/fix_add_triangle_fan
Fix parameters passing to `add_triangle_fan` method.
2023-06-08 19:41:53 +02:00
Markus Sauermann
302a10e809 Fix CanvasItem::draw_string_outline parameter order
Switch `p_font_size` with `p_size` in header, because in all
other locations, `p_font_size` comes before `p_size`.
2023-06-08 18:15:38 +02:00
Rémi Verschelde
577ab3c565
Merge pull request #75746 from ajreckof/order_autocomplete
Sort code autocompletion with rules
2023-06-08 18:14:31 +02:00
Kirill Diduk
566f78bc1e Fix parameters passing to add_triangle_fan method.
Pass `p_uvs` parameter properly (instead of passing `p_uv2s` twice).

This commit fixes #77542
2023-06-08 17:45:26 +02:00
Yuri Sizov
ccaab0e590 Ensure that controls update all their sizing information when required 2023-06-08 17:41:03 +02:00
Rémi Verschelde
3a19d81691
Merge pull request #77842 from Sauermann/fix-unfocusable-subwindow
Fix input handling for unfocusable embedded windows
2023-06-08 17:38:33 +02:00
Markus Sauermann
5ddab1f363 Some code simplifications
AnimationNodeBlendSpace2DEditor:
- `!tree` is always false, because it is checked a few lines above

CurveEdit:
- grabbing != GRAB_NONE is redundant

GradientTexture2DEdit:
- grabbed != HANDLE_FROM is redundant
- grabbed != HANDLE_TO is redundant

Viewport:
- index is not used afterwards
- In these cases `gui.mouse_focus` is always valid. Move check to a DEV_ASSERT
- simplify `stopped` calculation
2023-06-08 16:15:22 +02:00
Rémi Verschelde
a440f0d2d7
Merge pull request #77971 from aaronfranke/col-shape-obj-name
Internally rename `parent` to `collision_object` in CollisionShape(2D/3D)
2023-06-08 09:11:30 +02:00
Rémi Verschelde
fad61679cc
Merge pull request #77969 from clayjohn/Material-ORM-key
Hash ORM flag in BaseMaterial to differentiate between ORM and Standard materials
2023-06-08 09:11:06 +02:00
Rémi Verschelde
42e4c41e77
Merge pull request #77888 from Calinou/node-improve-thread-guard-errors
Display the node path in Node thread guard errors
2023-06-08 09:10:18 +02:00
Aaron Franke
ec09cff7f3
Internally rename parent to collision_object in CollisionShape(2D/3D) 2023-06-07 12:02:27 -05:00
clayjohn
86550ea3c5 Hash ORM flag in BaseMaterial to differentiate between ORM and Standard materials 2023-06-07 09:31:34 -07:00
Rémi Verschelde
803ad98303
Merge pull request #77958 from Calinou/editor-particle-damping-increase-step-precision
Increase precision in particle damping properties in the editor
2023-06-07 16:06:59 +02:00
Hugo Locurcio
bd468cdec7
Display the node path or name in Node thread guard errors
This makes it easier to diagnose which node is the source of the issue.
2023-06-07 16:06:53 +02:00
Rémi Verschelde
27b402bf73
Merge pull request #77902 from dalexeev/doc-unify-deprecations
Documentation: Unify deprecations
2023-06-07 16:06:50 +02:00
Danil Alexeev
b433020aa6
Documentation: Unify deprecations 2023-06-07 16:34:03 +03:00
Hugo Locurcio
fc4ec42a09
Increase precision in particle damping properties in the editor 2023-06-07 15:26:02 +02:00
Rémi Verschelde
ea6a141fff
Merge pull request #77939 from MewPurPur/optimize-default-theme-svg
Optimize and fix the default theme SVGs
2023-06-07 13:32:01 +02:00
Rémi Verschelde
bd9b24d391
Merge pull request #77933 from KoBeWi/do_not_the_tooltip
Cancel tooltip when mouse leaves viewport
2023-06-07 11:02:16 +02:00
Rémi Verschelde
bd62d8ee10
Merge pull request #77802 from dalexeev/tree-add-autowrap-mode
Tree: Add ability to configure text autowrap mode for individual cells
2023-06-07 11:02:02 +02:00
VolTer
995880e60b Optimize and fix the default theme SVGs 2023-06-07 05:40:58 +02:00
kobewi
807431c49a Cancel tooltip when mouse leaves viewport 2023-06-07 00:56:36 +02:00
Yuri Sizov
df26066ce9 Revert "Make sure that data.last_minimum_size is consistent with get_combined_minimum_size() at the same time"
This reverts commit 594852caf1.
2023-06-06 20:55:03 +02:00
Rémi Verschelde
2a1bc05901
Merge pull request #77469 from lyuma/skeleton_ik_roll_fix
Fix for SkeletonIK3D interpolation and bone roll
2023-06-06 20:39:46 +02:00
Rémi Verschelde
46c4068821
Merge pull request #77170 from lawnjelly/scu_build_master
Add support for single compilation unit builds
2023-06-06 17:58:09 +02:00
Markus Sauermann
f00f4a0209 Fix input handling of unfocusable embedded Windows
InputEvents get in some cases sent to the wrong Window.
fix `Viewport::_sub_windows_forward_input`- console error spam
2023-06-06 17:51:19 +02:00
lawnjelly
b69c8b4791 Single Compilation Unit build.
Adds support for simple SCU build (DEV_ENABLED only).
This speeds up compilation by compiling multiple cpp files within a single translation unit.
2023-06-06 15:36:51 +01:00
Yuri Sizov
b99a02387d
Merge pull request #77856 from kinami-imai/videostreamplayer_seamless_loop
Fix VideoStreamPlayer seamless loop
2023-06-06 12:36:48 +02:00
Yuri Sizov
2e728e02cc
Merge pull request #77763 from RedworkDE/warning-dialog-crash
Prevent crashes when removing Viewport from scene tree in event handler
2023-06-06 12:19:25 +02:00
bruvzg
66ea0006e0
Fix incorrect node placement in RTL layout when parent is non-Control canvas item. 2023-06-06 11:49:05 +03:00
bruvzg
e5b312a1e8
Use initial position property for embedded windows to center on parent window. 2023-06-06 09:29:13 +03:00
Lyuma
9aa46bf3f5 Fix for SkeletonIK3D interpolation and bone roll
Fix bug in internal Basis::rotate_to_align function (also used with identity Basis in scene/resources/curve.cpp)
Use ChainItem children rather than local bone rest to determine IK bone roll to match Godot 3.x behavior
2023-06-05 20:44:45 -07:00
今井きなみ
270bc93b95 Fix VideoStreamPlayer seamless loop 2023-06-05 21:17:48 +02:00
Rémi Verschelde
e7d2e49688
Merge pull request #77765 from Sauermann/fix-acceptdialog-event-handled
Fix that button presses don't set event as handled in AcceptDialog
2023-06-05 18:27:33 +02:00
Rémi Verschelde
d046c5099a
Merge pull request #77874 from detomon/clear-bone-name-index-after-clear-bones
Fix adding bones with the same name after calling `Skeleton3D.clear_bones()`
2023-06-05 18:05:06 +02:00
Rémi Verschelde
f00c971b81
Merge pull request #63168 from Levrault/master
Fix: InputEventJoypadMotion should trigger only once on a vslider
2023-06-05 18:04:39 +02:00
Luc-Frédéric Langis
166ca77f20 feat(gamepad): improve gamepad behavior with slider and popup_menu 2023-06-05 10:20:46 -04:00
Rémi Verschelde
85c908654c
Merge pull request #77867 from Sauermann/revert-move-child-update
Don't update mouse cursor state on child order changed
2023-06-05 13:43:11 +02:00
Rémi Verschelde
d7a0170971
Merge pull request #77757 from aaronfranke/fix-spinbox-remove-crash
Fix crash when removing SpinBox during text submit
2023-06-05 13:42:50 +02:00
detomon
ea80213eee Fix adding bones with the same name after calling Skeleton3D.clear_bones() 2023-06-05 11:55:09 +02:00
Markus Sauermann
15ee292664 Don't update mouse cursor state on child order changed
Partially Revert "Create a virtual mouse move event after moving child nodes"
This reverts parts of commit ce10ca6979.

The problem was that the the mouse-move event interacted in unexpected ways.
2023-06-05 10:28:55 +02:00
RedworkDE
c4db212870 Prevent crashes when removing Viewport from scene tree in event handler 2023-06-03 23:37:31 +02:00
Danil Alexeev
010829f962
Tree: Add ability to configure text autowrap mode for individual cells 2023-06-03 15:17:35 +03:00
kobewi
5b85dabcc8 Use emit_changed() consistently 2023-06-02 22:45:18 +02:00
Aaron Franke
8b42297d7c
Make Viewport::gui_get_focus_owner const 2023-06-02 12:36:10 -05:00
Aaron Franke
d3e4db4a7b
Fix crash when removing SpinBox during text submit 2023-06-02 10:29:22 -05:00
JoNax97
b998f7ceb7 Gradient: Check if interpolation mode and color space are different before firing notifications. 2023-06-02 10:40:13 -03:00
Yuri Sizov
ca1b4eb225
Merge pull request #77651 from Rindbee/fix-update-minimum-size
Make sure that `data.last_minimum_size` is consistent with `get_combined_minimum_size()` at the same time
2023-06-02 14:02:04 +02:00
Yuri Sizov
6a1d3198d1
Merge pull request #76854 from CapitaineCookie/fix-change-type
Fix crash when changing node type from PopupMenu to ItemList
2023-06-02 13:03:55 +02:00
Markus Sauermann
dc434ef849 Fix that button presses don't set event as handled in AcceptDialog 2023-06-02 11:06:41 +02:00
Pedro J. Estébanez
4412c1d989 Fix external resource ids lost 2023-06-01 22:34:49 +02:00
Rémi Verschelde
2e273f0e35
Merge pull request #77724 from RandomShaper/remove_red_th_cond
Remove redundant check from thread guards
2023-06-01 15:52:16 +02:00
Rindbee
594852caf1 Make sure that data.last_minimum_size is consistent with get_combined_minimum_size() at the same time
Move the code for switching `data.minimum_size_valid` in `Control::update_minimum_size()`
to `Control::_update_minimum_size()`, make sure to switch `data.minimum_size_valid` to
`false` only before updating `data.last_minimum_size` , so that it will remain consistent
with `get_combined_minimum_size()`.
2023-06-01 19:02:42 +08:00
Pedro J. Estébanez
8c288918a0 Remove redundant check from thread guards 2023-06-01 11:08:14 +02:00
Rémi Verschelde
d998323ab4
Merge pull request #77452 from Sauermann/fix-deprecate-push-unhandled-input
Deprecate push_unhandled_input
2023-06-01 00:40:44 +02:00
Rémi Verschelde
f77dee90a6
Merge pull request #76389 from ajreckof/editor-property-nodepath-for-node
Fix typed array export
2023-06-01 00:40:40 +02:00
Markus Sauermann
6d490ce8de Deprecate push_unhandled_input
The functionality of `push_unhandled_input` has changed so that it no
longer propagates input events to SubViewports.
This makes it less predictable and it should be deprecated in favor of
`push_input` which provides the same functionality and more.

Also this deprecation simplifies the Viewport-API by reducing the methods
for pushing input events, so that users don't need to worry about when
to use which function in order to insert input events.
2023-05-31 19:07:04 +02:00
Yuri Sizov
c3e512eda4
Merge pull request #77692 from RandomShaper/fix_th_material_load
Fix materials' shaders not updated if loaded on a non-main thread
2023-05-31 14:35:05 +02:00
Yuri Sizov
5598fec7c0
Merge pull request #77446 from YuriSizov/gui-treeitem-add-child
Implement `TreeItem.add_child`
2023-05-31 13:02:19 +02:00
Pedro J. Estébanez
197b54370a Fix materials' shaders not updated if loaded on a non-main thread 2023-05-31 12:50:27 +02:00
Yuri Sizov
943e5b9019
Merge pull request #77631 from KdotJPG/issue-77491-fix-turbulence-noise-scale
Fix `turbulence_noise_scale` for Particle Turbulence
2023-05-31 12:49:49 +02:00
Yuri Sizov
3ed7bdc26f Implement TreeItem.add_child 2023-05-31 11:36:23 +02:00
KdotJPG
9332a091e1 Fix turbulence_noise_scale regression.
Fixes #77491
2023-05-30 23:58:01 -04:00
RedworkDE
6b7008b73b Fix crash when selecting lines in text edit 2023-05-30 20:32:44 +02:00
Yuri Sizov
c0ee762f46
Merge pull request #77655 from bitsawer/fix_strange_fragments
Fix suspicious code related to text rendering
2023-05-30 16:03:44 +02:00
Yuri Sizov
6dd5ccdedd
Merge pull request #66625 from Sauermann/fix-move-child-update
Create a virtual mouse move event after moving child nodes in tree
2023-05-30 15:57:21 +02:00
Yuri Sizov
c4aacb9e27
Merge pull request #77654 from AThousandShips/material_no_3d
Don't disable `Material` and `PlaceholderMaterial` when `disable_3d=yes`
2023-05-30 15:41:25 +02:00
Yuri Sizov
faa73c9fcb
Merge pull request #77608 from bitsawer/fix_cyclic_includes
Fix shader preprocessor cyclic include handling
2023-05-30 15:32:04 +02:00
Yuri Sizov
3a895eafc0
Merge pull request #77595 from Sauermann/fix-double-inputevent
Fix InputEvent being used twice
2023-05-30 15:25:36 +02:00
bitsawer
78361370ec Fix issues found by a static analyzer 2023-05-30 12:47:50 +03:00
Ninni Pipping
1f1be5fe9b Don't disable Material and PlaceholderMaterial when disable_3d=yes 2023-05-30 11:44:21 +02:00
Rémi Verschelde
df30c9d6e7
Merge pull request #77507 from Igorrreha/fix/line-edit-expanding-to-text
Fix LineEdit expanding to text length
2023-05-30 09:32:30 +02:00
Markus Sauermann
ce10ca6979 Create a virtual mouse move event after moving child nodes
This updates mouse cursor and mouse-over-states without the need
for additional mouse movements.
2023-05-29 22:46:19 +02:00
Yuri Sizov
f3983b59f4
Merge pull request #77159 from AThousandShips/texture_button_fix
Make `TextureButton` and `Button` update on texture change
2023-05-29 17:31:32 +02:00
Yuri Sizov
ee7b26403b
Merge pull request #77433 from YuriSizov/editor-reparented-popups-fix
Fix auto-reparenting logic in the `ProgressDialog`
2023-05-29 17:30:46 +02:00
Yuri Sizov
c5e989209c
Merge pull request #76151 from MewPurPur/square-gradient2d
Add a square fill mode to GradientTexture2D
2023-05-29 17:17:16 +02:00
Yuri Sizov
a96d1bf4d4
Merge pull request #77519 from bruvzg/menu_bar_rtl
Fix MenuBar item order in RTL layout.
2023-05-29 17:07:05 +02:00
Yuri Sizov
11f84ed36f
Merge pull request #77588 from YeldhamDev/window_title_move_fix
Fix error when attempting to move a embedded window with a negative title height
2023-05-29 17:06:50 +02:00
Yuri Sizov
4c5c7cbb58 Fix auto-reparenting logic in the ProgressDialog
* Make sure `Popup` signals are disconnected when unparented.
* Remove a fail condition from `Window::is_embedded` when
not in tree.
2023-05-29 17:02:16 +02:00
Ninni Pipping
d4ac3b6ded Make TextureButton and Button update on texture change 2023-05-29 16:40:56 +02:00
bruvzg
be42ff0ef4
Fix MenuBar item order in RTL layout. 2023-05-29 17:03:49 +03:00
bitsawer
23c375d6b4 Fix shader uniform storage conversions and crash 2023-05-29 15:17:13 +03:00
bitsawer
67038471ff Fix shader preprocessor cyclic include handling 2023-05-29 12:05:22 +03:00
Rémi Verschelde
aa739bae4f
Merge pull request #76616 from TokageItLab/implement-anim-node-sub2
Implement `AnimationNodeSub2` to `AnimationTree` and allow less or greater value in mathematical `AnimationNode`
2023-05-29 10:29:02 +02:00
Rémi Verschelde
c97201babc
Merge pull request #76545 from JoNax97/gradient_color_spaces
Add Linear SRGB and OKLab color spaces to Gradient.
2023-05-29 10:28:58 +02:00
Rémi Verschelde
990943782a
Merge pull request #74959 from MewPurPur/nice-curves
Overhaul the Curve Editor
2023-05-29 10:28:53 +02:00
Markus Sauermann
a9bf3de08e Fix InputEvent being used twice
A single mouse click can cause multiple actions, which contradicts
the paradigm that a single Input Event should cause only a single
action.

The solution consists of two parts:
1. Physics Picking as the last step during viewport input event
handling, currently doesn't set the event as handled. This PR sets
the event as handled in the case of physics picking.
2. After an InputEvent is processed by a SubVieportContainer, it is
sent to its parent, even if it set as handled within the SubViewport.
This PR adds an additional test to check if the event is handled
before propagating the event to the parent Control.
2023-05-29 02:39:09 +02:00
Michael Alexsander
af04d3fb2c
Fix error when attempting to move a embedded window with a negative title height 2023-05-28 16:46:16 -03:00
VolTer
a3c4a4b039 Overhaul the Curve Editor 2023-05-28 14:17:51 +02:00
Silc Lizard (Tokage) Renew
c9c8205644 Implement NodeSub2 to AnimationTree & improve mathematical Nodes 2023-05-27 13:19:54 +09:00
JoNax97
c07b2fcf4d Add Linear SRGB and OKLab color spaces to Gradient. 2023-05-26 16:18:01 -03:00
Igorrreha
d8886e1a0c Fix LineEdit expanding to text length
Fix for issue #77474

Remove wrong tab

Change the comment to more relevant

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-05-26 23:42:03 +07:00
Rémi Verschelde
c9241e31da
Merge pull request #77500 from KoBeWi/pretty_funny_bug_if_you_ask_me
Fix AnimationPlayer cumulative `speed_scale`
2023-05-26 11:02:06 +02:00
Rémi Verschelde
0c04c17fce
Merge pull request #77439 from AThousandShips/popup_idx_fix
Unify item indexing in `PopupMenu`
2023-05-26 11:00:55 +02:00
kobewi
87a6145135 Fix AnimationPlayer cumulative speed_scale 2023-05-26 07:11:29 +02:00
Lyuma
300aa06dba SkeletonIK3D: Avoid holding hard pointers to Skeleton3D 2023-05-25 03:23:24 -07:00
smix8
66a8418a2d Remove unnecessary Clipper lib includes
Removes unnecessary Clipper lib includes.
2023-05-24 23:57:08 +02:00
kobewi
9128ce95ce Check for null in set_pattern() 2023-05-24 16:43:29 +02:00
Ninni Pipping
44a5b710f5 Unify item indexing in PopupMenu 2023-05-24 15:58:50 +02:00
Silc Renew
42aa5398d9 Fix Pathfollow direction
Co-authored-by: aaronfranke <arnfranke@yahoo.com>
2023-05-24 17:37:00 +09:00
Rémi Verschelde
5562100d33
Merge pull request #77411 from saki7/control-get_drag_data-const
Expose `Control::_get_drag_data()` as non-const function
2023-05-24 08:49:57 +02:00
Rémi Verschelde
6f34a23439
Merge pull request #76082 from reduz/ability-to-look-at-in-model-space
Add the ability to look-at in model-space.
2023-05-24 08:46:53 +02:00
Rémi Verschelde
a1058313a9
Merge pull request #75622 from joao-pedro-braz/parse_string_paths_with_quotes_correctly_bb_code
Make sure to normalize subtags when parsing BBCode
2023-05-24 08:45:35 +02:00
Rémi Verschelde
3512d18884
Merge pull request #71040 from marzecdawid/fix-input-lock-in-tree
Remove up/down input for text search in Tree
2023-05-24 08:43:27 +02:00
Rémi Verschelde
adbdf9a86e
Merge pull request #77234 from RandomShaper/fix_rtl_mt
Allow threads to mark themselves as safe for nodes
2023-05-24 08:42:59 +02:00
Juan Linietsky
5fdc1232ef Add the ability to look-at in model-space.
This is a much simpler attempt to solve the same problem as #76060, but without breaking any compatibility.

* Adds a description of what model space is in the Vector3 enums (MODEL_* constants). This has the proper axes laid out for imported 3D assets.
* Adds the option to `look_at` using model_space, which uses Vector3.MODEL_FRONT as forward vector.

The attempt of this PR is to still break the assumption that there is a single direction of forward (which is not the case in Godot)
and make it easier to understand where 3D models are facing, as well as orienting them via look_at.
2023-05-24 10:10:24 +09:00
Pedro J. Estébanez
e725b4b02b Allow threads to mark themselves as safe for nodes 2023-05-24 00:22:58 +02:00
João Pedro Braz
8b6e57256f Make sure to normalize subtags when parsing BBCode
This PR makes it so that all subtags are normalized before usage.
Normalization means removing any leading and/or trailing quotation marks
from any given subtag.

Fixes: https://github.com/godotengine/godot/issues/75501
2023-05-23 18:55:06 -03:00
Nana Sakisaka
3dbd47ecb6 Expose Control::_get_drag_data() as non-const function 2023-05-24 06:09:45 +09:00
Dawid Marzec
9fe1d6aa27 Remove up/down input for text search in Tree 2023-05-23 21:41:10 +02:00
Rémi Verschelde
4e9e5e85b6
Merge pull request #77307 from 44zb/skeleton-find-bone-performance
Improve `Skeleton3D::find_bone()` performance
2023-05-23 19:14:34 +02:00
Rémi Verschelde
8f9e0672fb
Merge pull request #77297 from puchik/popup-close-key-mapping
Use defined key mapping for closing popups and dialogs
2023-05-23 19:14:31 +02:00
Rémi Verschelde
012541763d
Merge pull request #77288 from puchik/expose_get_window_id
Expose get_window_id() from Window class
2023-05-23 19:14:24 +02:00
Artyom Lunchenkov
f645eee62e Improve Skeleton3D::find_bone() performance 2023-05-23 21:02:46 +06:00
ajreckof
006e899bb3 sort code completions with rules
Fixups

Add levenshtein distance for comparisons, remove kind sort order, try to improve as many different use cases as possible

Trying again to improve code completion

Sort code autocompletion options by similarity based on input

To make it really brief, uses a combination `String.similiary`, the category system introduced in a previous PR, and some filtering to yield more predictable results, instead of scattering every completion option at seemingly random.

It also gives much higher priority to strings that contain the base in full, closer to the beginning or are perfect matches.

Also moves CodeCompletionOptionCompare to code_edit.cpp

Co-Authored-By: Micky <66727710+Mickeon@users.noreply.github.com>
Co-Authored-By: Eric M <41730826+EricEzaM@users.noreply.github.com>
2023-05-23 05:12:34 +02:00
bruvzg
aaddec7cb8
[TextServer] Add support for retrieving OpenType name strings. 2023-05-22 18:08:34 +03:00
Rémi Verschelde
5dc093b19a
Merge pull request #77341 from RedworkDE/doctool-material-error-fix
Fix error in `BaseMaterial3D` when running doctool
2023-05-22 17:02:23 +02:00
Rémi Verschelde
ab935aaac6
Merge pull request #77312 from ajreckof/fix_window_unselectable_for_ViewportTexture_NodePath
Fix `Window` derived nodes being unselectable for `ViewportTexture` `NodePath`
2023-05-22 17:02:20 +02:00
RedworkDE
69f2bc2751 Improve SelfList and fix error in BaseMaterial3D when running doctool 2023-05-22 16:38:57 +02:00
Rémi Verschelde
65fa775ff6
Merge pull request #75469 from ibotha/fix/74259-sky-cover-not-reset-properly
Properly set sky_cover property of sky_material to Nil in setter
2023-05-22 14:13:16 +02:00
Rémi Verschelde
b85269cd8b
Merge pull request #77342 from RandomShaper/fix_build_bad_compiler
Fix compile issue in not very conformant compilers
2023-05-22 13:56:19 +02:00
Rémi Verschelde
a30a55dd1f
Merge pull request #77166 from bruvzg/item_list_rtl
[ItemList] Fix item text positions in RTL mode.
2023-05-22 13:48:54 +02:00
Rémi Verschelde
7a176459b1
Merge pull request #76899 from rakkarage/spring-tween
Add TRANS_SPRING to Tween
2023-05-22 13:48:47 +02:00
Rémi Verschelde
0f0f233d37
Merge pull request #76751 from anvilfolk/swatch
Fix adding colors to swatches not updating in previous ColorPickers.
2023-05-22 13:48:43 +02:00
Rémi Verschelde
6b3a79261a
Merge pull request #76617 from tektrip-biggles/baked-curve-fix
Fix for "off-by-1" bug when sampling "baked" curve data towards the end of the curve.
2023-05-22 13:48:39 +02:00
Rémi Verschelde
405fe7aa1a
Merge pull request #76401 from bruvzg/rtl_tab_stops
[RichTextLabel] Add support for tab stops.
2023-05-22 13:48:35 +02:00
Rémi Verschelde
5ac6e9232b
Merge pull request #74962 from KoBeWi/pick_outside_the_box
Improve color picking
2023-05-22 13:48:26 +02:00
Pedro J. Estébanez
250d8d00b5 Fix compile issue in not very conformant compilers 2023-05-22 13:33:40 +02:00
ocean (they/them)
a132ed0ca4 Fix adding colors to swatches not updating in previous ColorPickers.
ColorPicker was only updating colors if its swatches were empty. It
should always update from the cache in case some other ColorPicker
updated the swatch cache.
2023-05-21 17:50:14 -04:00
Isard Botha
74041e3705
Fix issue 74259 by setting the sky cover property back to nil when it is reset in the editor. 2023-05-21 18:35:33 +01:00
ajreckof
ace7620e55 fix Windowderived nodes being unselectable for ViewportTexture NodePath 2023-05-21 16:28:41 +02:00
ajreckof
465742d904 Fix typed array export
Apply suggestions from code review to squash later

Revert "Fix typed array export... again"

This reverts commit da8d6734fb.

Co-Authored-By: Tomek <kobewi4e@gmail.com>
2023-05-21 08:40:11 +02:00
Arman Elgudzhyan
8ab2cf3d2d Use defined key mapping for closing popups and dialogs
As opposed to hardcoding the escape key. Also removed such hardcoding in a few other places as well as a hardcoded enter key in one of the affected input fields.
2023-05-20 17:39:59 -07:00
Arman Elgudzhyan
49890a99c1 Expose get_window_id() from Window class
Window classes often need a Window ID for operations. This will help with performing operations on cached Windows.
2023-05-20 14:48:24 -07:00
bruvzg
fb78889904
[RichTextLabel] Add support for tab stops. 2023-05-20 22:58:51 +03:00
bruvzg
343c35e7b0
[ItemList] Fix item text positions in RTL mode. 2023-05-20 22:58:02 +03:00
David Giardi
16f6f40669 Remove useless polygons from StyleBoxFlat drawing 2023-05-20 14:28:47 +02:00
Biggles Bristol
c920a4f051 [Fixed] for "off-by-1" bug when sampling "baked" curve data towards the end of the curve.
[Fixed] Failing test "[Curve] Custom curve with free tangents" by setting the curve's `bake_resolution` to 11.
[Fixed] test messages in "[Curve] Custom curve with free tangents" to match sample offset used in each test
[Added] New test "[Curve] Straight line offset test" in response to pull request feedback.
Update tests/scene/test_curve.h

Co-authored-by: kleonc <9283098+kleonc@users.noreply.github.com>
2023-05-20 11:28:09 +01:00
Yuri Sizov
605e25656f
Merge pull request #77242 from novalis/slider-remove-active
Stop dragging when `Slider` changes editability
2023-05-19 17:17:13 +02:00
David Turner
7d6b44c5a4 Stop dragging when a slider changes editability 2023-05-19 10:20:42 -04:00
kobewi
b76ddeda45 Improve color picking 2023-05-19 14:21:43 +02:00
SaracenOne
18c792fe42 Allocate unique track_blends vector for animation states.
Quick fix for a bug which occurs when blending the result of multiple instanced state machines outputting the same animation, but using filter tracks.
2023-05-18 20:02:43 +01:00
Yuri Sizov
0032c1c0c2
Merge pull request #77161 from AThousandShips/touch_texture_fix
Make `TouchScreenButton` connections reference counted
2023-05-18 19:19:31 +02:00
Yuri Sizov
ca8bbf24ae
Merge pull request #77194 from lyuma/pose_global_no_override
Fix get_bone_pose_global_no_override()
2023-05-18 18:55:00 +02:00
Lyuma
565803ce3d Fix get_bone_pose_global_no_override() 2023-05-18 03:14:45 -07:00
Rakka Rage
780e21bcac Add TRANS_SPRING to Tween 2023-05-17 17:54:37 -04:00
Ninni Pipping
0648cc65b2 Make TouchScreenButton connections reference counted
Prevents errors when assigning the same texture to both slots
2023-05-17 22:51:42 +02:00
Rémi Verschelde
05cc281e4d
Merge pull request #77154 from RPicster/raffa/particles-noise-improvement
Reworked Particle Turbulence
2023-05-17 18:36:08 +02:00
Rémi Verschelde
d803304c62
Merge pull request #77145 from RandomShaper/enh_fix_mt_proc
Enhance/fix MT-processing related things
2023-05-17 15:59:21 +02:00
KdotJPG
91bdd4073b Reworked Particle Turbulence - Rebased. 2023-05-17 14:25:21 +02:00
Rémi Verschelde
437041a983
Merge pull request #77141 from TokageItLab/optimize-tween-division
Optimize Tween calculations by caching some divisions
2023-05-17 11:25:30 +02:00
Pedro J. Estébanez
50cf3d6966 Optimize threading-sensitive node data for single-threaded processing 2023-05-17 02:04:41 +02:00
Pedro J. Estébanez
44cc0d2ec2 Let calls through thread guards in resource loading contexts 2023-05-17 01:43:28 +02:00
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