Commit Graph

2188 Commits

Author SHA1 Message Date
Rémi Verschelde e2dd56bea7
Merge pull request #95902 from kitbdev/remove-forced-mouse-focus
Clean up Viewport's `forced_mouse_focus`
2024-09-03 17:38:17 +02:00
Rémi Verschelde 13a90e938f
Merge pull request #70096 from rune-scape/stringname-dict
StringName Dictionary keys
2024-09-03 17:38:06 +02:00
aaronp64 7a9acd5aca Fix SubViewport/AudioStreamPlayer2D crash
Updated Viewport destructor to remove itself from World2D, to avoid World2D keeping invalid pointers.
2024-09-03 08:27:47 -04:00
rune-scape 154049ce17 StringName Dictionary keys
also added 'is_string()' method to Variant
and refactored many String type comparisons to use it instead
2024-08-29 13:39:27 -07:00
Rémi Verschelde e98aaf1caa
Merge pull request #94477 from RedMser/typos-batch-1
Fix various typos
2024-08-28 00:12:12 +02:00
Rémi Verschelde f565996472
Merge pull request #92536 from Daylily-Zeleen/daylily-zeleen/fix_3d_input_event
Add missing check to avoid passing handled input event to collision object 3d.
2024-08-28 00:10:57 +02:00
Rémi Verschelde 40c17d6380
Merge pull request #95846 from jadoc/fix-tooltips
Only reset the tooltip timer when the mouse has actually moved
2024-08-26 22:45:28 +02:00
Alex Docauer 125ff3213a
Only reset tooltip timer when mouse actually moved
InputEventMouseMotion isn't guaranteed to fire only on actual mouse
movement. It's not uncommon for the underlying OS motion event to be
sent either by the OS itself or another application even though the
mouse hasn't moved.  Godot will generate such zero-motion
InputEventMouseMotion events itself for things like cursor shape
changes.

Once started, the tooltip timer is reset only after a mouse movement of
at least 5 pixels in one frame.
2024-08-22 19:20:41 -07:00
Rémi Verschelde 091212b4f1
Merge pull request #93602 from aaronp64/inspector_latency
Improve Editor Inspector/Theme item lookup performance
2024-08-22 00:10:26 +02:00
kit 307e40e873 Clean up Viewport forced_mouse_focus 2024-08-21 09:37:44 -04:00
aaronp64 7593e55527 Improve Editor Inspector/Theme item lookup performance
Changes to reduce the latency between changing node selection in the editor and seeing the new node reflected in the Inspector tab

- Use Vector instead of List for ThemeOwner::get_theme_type_dependencies and related functions
- Use Vector instead of List for ThemeContext::themes, set_themes(), and get_themes()
- Add ClassDB:get_inheritance_chain_nocheck to get all parent/ancestor classes at once, to avoid repeated ClassDB locking overhead
- Update BIND_THEME_ITEM macros and ThemeDB::update_class_instance_items to use provided StringNames for call to ThemeItemSetter, instead of creating a new StringName in each call

These changes reduce the time taken by EditorInspector::update_tree by around 30-35%
2024-08-20 13:39:40 -04:00
Rémi Verschelde 0ab62a128a
Merge pull request #91971 from Delsin-Yu/WrapControls_ContentScaleFactor
Fix `Window.wrap_controls` does not account for the `content_scale_factor`
2024-08-19 16:04:44 +02:00
jordi 61e2aa7914
Redraw SubViewportContainer on SubViewport size change 2024-08-19 14:53:53 +02:00
DE-YU 46abbae2b0
Fix Window.wrap_controls does not account for the content_scale_factor 2024-08-19 14:48:43 +02:00
Rémi Verschelde 6d22b8026d
Merge pull request #90992 from RadiantUwU/fix_node_duplicate
Fix `Node.duplicate()` crash when duplicating a node that cannot be instantiated.
2024-08-19 14:33:31 +02:00
Rémi Verschelde f01e052162
Merge pull request #95549 from timothyqiu/split-translation-server
Split `TranslationServer` into its own file
2024-08-16 14:36:16 +02:00
Rémi Verschelde 46c6865979
Merge pull request #92391 from rburing/fti_3d
Physics interpolation (3D)
2024-08-16 10:33:37 +02:00
Rémi Verschelde a86c3e44dd
Merge pull request #91965 from aaronp64/tooltip_size
Fix tooltip content being cut off at some display scales
2024-08-16 10:33:25 +02:00
Haoyu Qiu 7343dc3a5d Split TranslationServer into its own file 2024-08-15 15:00:47 +08:00
Radiant 70f41e414e Fix node.duplicate, return nullptr if this operation fails. 2024-08-02 16:26:19 +03:00
kit fce60c2b3f Fix update mouse cursor state wrong mouse position 2024-07-31 14:10:40 -04:00
Daylily-Zeleen f90f663258 Avoid passing handled input event to collision object 3d. 2024-07-27 14:58:56 +08:00
Alvin Wong 97aa278edb Pass window exclusive and transient properties for subwindow creation
On Windows this allows to avoid having to change the owner of the window
after it has been created, which in rare circumstances may cause the
window to bug out.
2024-07-25 00:27:27 +08:00
Rémi Verschelde edefcf6d1e
Merge pull request #94230 from CrazyRoka/optimize-gdscript-get-position
Optimize `Node::is_readable_from_caller_thread()` by prioritizing the most common case
2024-07-19 11:10:43 +02:00
RedMser f9258ff928 Fix typos 2024-07-17 18:53:03 +02:00
matheusmdx 260c05152d Fix resources being skipped in InstancePlaceholder 2024-07-17 10:25:29 -03:00
CrazyRoka 6c86268fdd Decorate rare !data.inside_tree condition with unlikely 2024-07-12 13:38:41 +01:00
CrazyRoka 53e9d90850 Optimize Node::is_readable_from_caller_thread() by prioritizing the most common case. 2024-07-11 20:40:00 +01:00
Ricardo Buring 2f8ab4a654 Fixed Timestep Interpolation (3D)
Adds 3D fixed timestep interpolation to the rendering server.
This does not yet include support for multimeshes or particles.

Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-07-07 22:15:23 +02:00
Ricardo Buring ceadbaa299 Fixed Timestep Interpolation: Fix behaviour on pause
Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-07-07 16:48:17 +02:00
kobewi bef2e62c88 Fix duplicating nodes with Array properties 2024-06-27 19:17:50 +02:00
bruvzg c689823c60
Fix subwindow titlebar redraw on oversampling change. 2024-06-23 00:01:56 +03:00
Ainsley 915e39b3c9 Use `_camera_3d_set` instead of change camera_3d directly 2024-06-20 17:21:38 +08:00
Rémi Verschelde 0ec023f101
Merge pull request #92678 from warriormaster12/dup_prop_before_remap_resources
Duplicate properties first before remapping resources
2024-06-18 14:08:39 +02:00
bruvzg 18393eb09a
[Window] Ignore duplicate mouse enter events. 2024-06-12 22:37:28 +03:00
Rémi Verschelde 5bab95a556
Merge pull request #92827 from raulsntos/core/node-to_string
Use GDExtension `to_string` in Node
2024-06-12 10:00:29 +02:00
Raul Santos 29bf60cc02
Use GDExtension `to_string` in Node
Matches the `Object::to_string` implementation.
2024-06-11 17:40:51 +02:00
bruvzg 768fd1eacb
[Window] Fix mouse hover state of the main window when mouse enter event was sent before setting callbacks. 2024-06-10 18:43:01 +03:00
Rémi Verschelde b7ea8415c2
Merge pull request #91997 from aaronp64/tooltip_transforms
Fix tooltip mouse position conversion for scaled controls
2024-06-10 16:11:39 +02:00
bruvzg 864a93fdbf
Fix excessive canvas items updates. 2024-06-05 21:01:30 +03:00
bruvzg 9fb9660912
Force canvas item update on oversampling change. 2024-06-03 19:46:49 +03:00
warriormaster12 e4d0d1344b Duplicate properties first before remapping resources 2024-06-02 13:27:35 +03:00
bruvzg 5c433cf693
Update editor `Window` preview position when resizing window. 2024-05-31 07:52:46 +03:00
Rémi Verschelde c9f249796d
Merge pull request #92317 from bruvzg/emb_decorations
Fix `get_position_with_decorations` and `get_size_with_decorations` for embedded windows.
2024-05-30 11:48:02 +02:00
Rémi Verschelde 62f134bd7e
Merge pull request #91724 from KoBeWi/regional_textures
Add support for AtlasTexture in `draw_polygon()`
2024-05-30 11:47:47 +02:00
bruvzg 19839d9553
Fix Window position preview in the editor. 2024-05-29 11:56:06 +03:00
Adriano Orioli edd2e6e37f
make InstancePlaceholder in charge of node reference resolution 2024-05-28 11:51:49 +02:00
bruvzg 64d789aba7
Fix `get_position_with_decorations` and `get_size_with_decorations` for embedded windows. 2024-05-24 20:10:36 +03:00
aaronp64 aa07828503 Fix tooltip mouse position conversion for scaled controls
Viewport used get_global_transform().xform_inv(mpos) to convert the mouse position to the control's local coordinates when getting the control's tooltip, which does not handle scale correctly.  This impacted tooltips for any controls that depended on the position to determine what tooltip to show, including RichTextLabel, ItemList, Tree, and probably some others.  This change is for Viewport to use get_global_transform_with_canvas().affine_inverse().xform(mpos) for tooltips instead, to match what we do for Viewport::_gui_call_input.

Fixes #91984
2024-05-15 17:28:58 -04:00
aaronp64 ca8e3d4923 Fix tooltip content being cut off at some display scales
When getting the minimum size for a tooltip, we get the value as a Vector2.  Window::set_size() takes a Vector2i, so this size was getting truncated.  At certain display scales, this could be enough to cut off part of the tooltip.  Updated to call Vector2::ceil() to round up before calling Window::set_size()

Fixes #91958
2024-05-15 09:19:00 -04:00