Commit graph

12827 commits

Author SHA1 Message Date
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