Rémi Verschelde
8ebfd89359
Merge pull request #96024 from Ryan-000/expose_get_rpc_config
...
Expose `get_rpc_config` and `get_node_rpc_config`
2024-09-16 13:34:34 +02:00
Rémi Verschelde
ac80ba71e2
Merge pull request #93500 from anniryynanen/multi-press
...
Improve button behavior when multiple mouse buttons are used at the same time
2024-09-16 13:34:15 +02:00
Anni Ryynänen
2033510a65
Improve button behavior when multiple mouse buttons are used at the same time
...
- To emit `pressed`, buttons require that the press was initiated while hovering.
- Controls can't grab focus from a mouse click if they're not hovered.
- Hovers are updated both before and after a handled mouse button event.
2024-09-15 19:06:10 +03:00
Markus Sauermann
60aaa017ff
Enable Drag and Drop for SubViewports and Windows
...
Make Drag and Drop an application-wide operation.
This allows do drop on Controls in other Viewports/Windows.
In order to achieve this, `Viewport::_update_mouse_over` is adjusted to
remember the Control, that the mouse is over (possibly within nested
viewports). This Control is used as a basis for the Drop-operation, which
replaces the previous algorithm, which was only aware of the topmost
Viewport.
Also now all nodes in the SceneTree are notified about the Drag and Drop
operation, with the exception of SubViewports that are not children of
SubViewportContainers.
2024-09-15 01:06:02 +02:00
2750558108
ccc6e5d25f
Remove Useless Viewport::gui.key_input_accepted
2024-09-13 20:52:05 +08:00
Rémi Verschelde
83d54ab2ad
Merge pull request #96708 from bruvzg/lbl3d_os
...
[Label3D] Fix updating labels in subvieports on oversampling change.
2024-09-12 10:28:52 +02:00
rune-scape
0dde931bc9
StringName: Fix empty hash
...
+Fixed compat hashes
2024-09-09 13:30:02 -07:00
bruvzg
bdd5117086
[Label3D] Fix updating labels in subvieports on oversampling change.
2024-09-08 15:11:13 +03:00
graydoubt
e589c5baf3
Expose Viewport.gui_cancel_drag() to GDScript as a counterpart to Control.force_drag()
2024-09-06 06:20:22 -04:00
Ryan
8835f326b1
Expose get_rpc_config and get_node_rpc_config
...
add documentation
Update doc/classes/Node.xml
change name of get_node_rpc_config to get_rpc_config
Co-Authored-By: moondog <159832633+dog-on-moon@users.noreply.github.com>
Co-Authored-By: Micky <66727710+Mickeon@users.noreply.github.com>
2024-09-04 15:45:22 -04:00
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
kobewi
59f05ed31a
Cleanup unused/underused singleton StringNames
2024-05-14 18:18:29 +02:00
A Thousand Ships
ee79386f7b
[Scene] Add SceneStringNames::pressed
2024-05-14 15:51:28 +02:00
kobewi
413c11357d
Use Core/Scene stringnames consistently
2024-05-13 23:41:07 +02:00
Yaohua Xiong
ed3d311687
Add antialias support for CanvasItem draw primitives
...
including
- rect, circle; both filled and unfilled.
- polyline, multiline
2024-05-13 19:03:31 +08:00
A Thousand Ships
2f442ff21a
Fix outdated name for script
StringName
2024-05-13 12:39:41 +02:00
Rémi Verschelde
3bb7fd8ac4
Merge pull request #91329 from warriormaster12/dont-do-things-twice
...
Fix a performance regression when duplicating a node
2024-05-13 12:05:34 +02:00
warriormaster12
f14455fd3d
Fix a performance regression when duplicating a node
2024-05-12 21:43:22 +03:00
kobewi
a262d2d881
Add shorthand for using singleton string names
2024-05-11 18:53:08 +02:00
kobewi
47aefbb415
Add support for AtlasTexture in draw_polygon()
2024-05-08 19:10:53 +02:00
A Thousand Ships
b4c6cc7d82
[Core] Add case-insensitive String::containsn
2024-05-08 12:48:01 +02:00
kobewi
5c0f7968e3
Fix crash when adding a child while duplicating a node
2024-05-07 21:56:38 +02:00
Rémi Verschelde
e63252b421
Merge pull request #90705 from AThousandShips/foreach_list
...
Reduce and prevent unnecessary random-access to `List`
2024-05-07 09:04:44 +02:00
A Thousand Ships
86de59d60a
[Core] Add LocalVector::has
for convenience
2024-05-06 18:03:37 +02:00
A Thousand Ships
955d5affa8
Reduce and prevent unnecessary random-access to List
...
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)
* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
Bastiaan Olij
9042ddf19f
Improvements to VRS/Foveated rendering
2024-05-03 17:20:30 +10:00
bruvzg
e5205e589f
[StatusIndicator] Add method to get indicator icon screen rect.
2024-05-02 14:39:33 +03:00
Rémi Verschelde
b2af040423
Merge pull request #91425 from Sauermann/fix-force-drag-focus-crash
...
Make `mouse_focus` and `mouse_focus_mask` consistent for force_drag
2024-05-02 12:46:45 +02:00
Rémi Verschelde
0b6c29f2d2
Merge pull request #89114 from AThousandShips/vec_elem_scalar
...
[Core] Add scalar versions of `Vector*` `min/max/clamp/snap(ped)`
2024-05-02 12:46:22 +02:00
Yaohua Xiong
1f2aa17d14
Extend CanvasItem::draw_circle()
with filled, width, and antialiased options
...
Make it possible to draw unfilled circle, like draw_rect(). Antialising is only implemented for unfilled version.
2024-05-02 10:42:24 +02:00
A Thousand Ships
308dbb8c63
[Core] Add scalar versions of Vector*
min/max/clamp/snap(ped)
...
Convenience for a number of cases operating on single values
2024-05-02 10:31:13 +02:00
Markus Sauermann
30a19a5c2f
Make mouse_focus
and mouse_focus_mask
consistent for force_drag
...
In `Viewport::_gui_force_drag` currently `Viewport::gui.mouse_focus`
gets cleared, but `Viewport::gui.mouse_focus_mask` doesn't get cleared.
This is an inconsistency which can cause a crash.
With the change of this PR, `mouse_focus_mask` also gets cleared.
This is in alignment with how regular drag and drop clears both variables.
2024-05-02 00:10:29 +02:00
Markus Sauermann
792b38813f
Remove unused variable Viewport::gui.last_mouse_focus
...
The last use was removed in January 2023
2024-05-01 11:20:40 +02:00
Rémi Verschelde
70247adf25
Merge pull request #89734 from BastiaanOlij/openxr_reorder_wait_frame
...
OpenXR: Change timing of xrWaitFrame and fix XR multithreading issues
2024-05-01 09:54:51 +02:00
Rémi Verschelde
85062e37ef
Merge pull request #89588 from bruvzg/status_ind_menu_direct
...
[StatusIndicator] Switch API to use Texture2D instead of Image, improve handling on macOS, add method to set native popup menu directly.
2024-05-01 09:54:44 +02:00
Bastiaan Olij
cbab7dc049
OpenXR: Change timing of xrWaitFrame and add thread safety features to OpenXR
2024-05-01 14:24:41 +10:00
Rémi Verschelde
ca38212604
Merge pull request #89643 from mnemoli/pickone-fix-89641
...
Fix mouse events when `physics_object_picking_first_only` enabled
2024-04-30 17:03:10 +02:00
kit
154f727c7a
Overhaul TextEdit selection.
...
The caret is now a part of the selection.
2024-04-26 14:24:10 -04:00
Rémi Verschelde
bd598d5657
Merge pull request #85678 from KoBeWi/editor_walktime
...
Add separate feature tags for editor runtime
2024-04-26 15:13:16 +02:00
kobewi
3ebb5b84a0
Add separate feature tags for editor runtime
2024-04-26 14:44:38 +02:00
kobewi
0b877a9962
Expose is_part_of_edited_scene()
2024-04-26 11:49:38 +02:00
Rémi Verschelde
3a88373a4c
Merge pull request #86553 from Koyper/fix_popup_panel_content_scaling
...
Fix non-embedded tooltips, popups and dialogs resizing to match Viewport content scale factors != 1.0
2024-04-18 12:24:11 +02:00
Koyper
0881c81c13
Fix non-embedded Windows resizing to match Viewport content scale factor
2024-04-17 09:30:16 -05:00
Haoyu Qiu
8d1cb7e74c
Add project setting for root node auto translate mode
2024-04-16 11:02:04 +08:00
Rémi Verschelde
c951421c99
Merge pull request #90268 from RandomShaper/wtp_servers
...
Use WorkerThreadPool for Server threads (enhanced)
2024-04-15 10:12:00 +02:00
aaronp64
4ed51933f9
Fix Window.hide() crash when force_native changed
...
Moved force_native = p_force_native assignment to after is_visible() check, to prevent value from changing after window is shown.
Fixes #90609
2024-04-13 14:03:29 -04:00
Bernat Arlandis
0a68876348
Remove some unused SceneTree properties
2024-04-13 00:56:01 +02:00
Pedro J. Estébanez
c28f5901c7
Polish interaction between windowing, input and rendering
...
- Adapt GL make/release API to the current architecture.
- Fix DisplayServer being locked while dispatching input (prevent deadlocks).
2024-04-10 18:47:42 +02:00
ajreckof
248e5bfba2
Revert what needs to be reverted
2024-04-10 09:49:30 +08:00
Fabio Alessandrelli
e64aa4d25f
[MP] Fix dead code doing unnecessary allocation
...
Probably a leftover from some old refactor.
2024-04-06 19:48:04 +02:00
Ricardo Buring
e6b9161246
Fix per-node physics interpolation setting
...
The per-node default should be ON.
2024-04-05 10:30:19 +02:00