Gilles Roudière
6db8b7616d
Keep input event as unhandled if they go through a control set to MOUSE_FILTER_PASS
2022-05-17 15:41:58 +02:00
BimDav
3e96abce07
fix a bug in get_node_and_resource
2022-05-16 19:40:59 +02:00
reduz
746dddc067
Replace most uses of Map by HashMap
...
* Map is unnecessary and inefficient in almost every case.
* Replaced by the new HashMap.
* Renamed Map to RBMap and Set to RBSet for cases that still make sense
(order matters) but use is discouraged.
There were very few cases where replacing by HashMap was undesired because
keeping the key order was intended.
I tried to keep those (as RBMap) as much as possible, but might have missed
some. Review appreciated!
2022-05-16 10:37:48 +02:00
Haoyu Qiu
82fdad148f
Make auto_accept_quit and quit_on_go_back properties
2022-05-14 18:18:26 +08:00
reduz
8b7c7f5a75
Add a new HashMap implementation
...
Adds a new, cleaned up, HashMap implementation.
* Uses Robin Hood Hashing (https://en.wikipedia.org/wiki/Hash_table#Robin_Hood_hashing ).
* Keeps elements in a double linked list for simpler, ordered, iteration.
* Allows keeping iterators for later use in removal (Unlike Map<>, it does not do much
for performance vs keeping the key, but helps replace old code).
* Uses a more modern C++ iterator API, deprecates the old one.
* Supports custom allocator (in case there is a wish to use a paged one).
This class aims to unify all the associative template usage and replace it by this one:
* Map<> (whereas key order does not matter, which is 99% of cases)
* HashMap<>
* OrderedHashMap<>
* OAHashMap<>
2022-05-12 11:21:29 +02:00
Rémi Verschelde
b6983eeccf
Merge pull request #51591 from Calinou/call-group-default-immediate
...
Make `{call,set,notify}_group()` immediate by default
2022-05-10 14:52:23 +02:00
Ansraer
045f511bd9
Add viewport content scale
2022-05-06 19:50:53 +02:00
kobewi
1dc7bcc83c
Cleanup metadata usage
2022-05-06 00:27:10 +02:00
Hugo Locurcio
aabbb40009
Make {call,set,notify}_group()
immediate by default
...
This results in less surprising behavior out of the box.
Internal usages were modified to keep the existing behavior
identical there.
2022-05-05 16:59:37 +02:00
reduz
0a57f964a3
Implement missing Node & Resource placeholders
...
Implemented by request of @neikeq to advance in the GDExtension version of Mono.
* If a Resource type is missing upon load, it will be remembered together with its data (Unless manually overriden).
* If a Node type is missing upon load, it will be also be remembered together with its data (unless deleted).
This feature makes working with GDExtension much easier, as it ensures that missing types no longer cause data loss.
2022-05-03 17:08:09 +02:00
Rémi Verschelde
931838b330
Merge pull request #60627 from aaronfranke/rename-elements
...
Rename Transform2D and Basis `elements` to `columns` and `rows` respectively
2022-05-03 14:40:01 +02:00
Hugo Locurcio
180e5d3028
Remove RES
and REF
typedefs in favor of spelled out Ref<>
...
These typedefs don't save much typing compared to the full `Ref<Resource>`
and `Ref<RefCounted>`, yet they sometimes introduce confusion among
new contributors.
2022-05-03 01:43:50 +02:00
Rémi Verschelde
c273ddc3ee
Style: Partially apply clang-tidy's cppcoreguidelines-pro-type-member-init
...
Didn't commit all the changes where it wants to initialize a struct
with `{}`. Should be reviewed in a separate PR.
Option `IgnoreArrays` enabled for now to be conservative, can be
disabled to see if it proposes more useful changes.
Also fixed manually a handful of other missing initializations / moved
some from constructors.
2022-05-02 16:28:25 +02:00
kobewi
8187a777ce
Small improvements to get_first_node_in_group()
2022-04-29 16:14:48 +02:00
Aaron Franke
b831fb0a54
Rename Transform2D "elements" to "columns"
2022-04-29 08:02:39 -05:00
Rémi Verschelde
1de51133c9
Merge pull request #60331 from KoBeWi/tween_static()
2022-04-27 13:20:11 +02:00
Rémi Verschelde
a19d7d8f8d
Merge pull request #58383 from bruvzg/no_inv_window_placement
2022-04-27 09:33:40 +02:00
Fabio Alessandrelli
aee2240d5f
[Net] Allow branch-specific MultiplayerAPIs.
...
Removes custom_multiplayer from Node.
MultiplayerAPI overrides are now set at SceneTree level, and apply to
whole branches.
Impact on performance when using only the default multiplayer or
overriding it is minimal, the use of branches can likely be further
optimized by caching nodes and relevant MultiplayerAPI IDs.
2022-04-26 17:22:54 +02:00
Rémi Verschelde
06c33cca18
Merge pull request #60511 from akien-mga/readd-find_node
2022-04-26 09:42:19 +02:00
Rémi Verschelde
02bb8e948f
Merge pull request #60261 from fire-forge/theme-prop-renames
2022-04-25 16:20:19 +02:00
Rémi Verschelde
9c2ea7e296
Node: Re-add find_node
as find_child
, improve docs
...
The new name contrasts it better with `find_parent`, and makes it clear
that it only matches child/descendant nodes.
Also rename `find_nodes` to `find_children` accordingly.
2022-04-25 15:21:22 +02:00
reduz
8580f377a3
Implement Scene Unique Nodes
...
Implements https://github.com/godotengine/godot-proposals/issues/4096
* Nodes can be marked unique to the scene in the editor (or via code).
* Unique nodes can be accessed via the **%** prefix at any point in the path. From that point in the path (depending on whether the scene of the path is), the unique node will be fetched.
* Implementation is very optimal, as these nodes are cached.
2022-04-25 12:19:17 +02:00
FireForge
3073b85de9
Rename theme properties to include underscores
...
- check_vadjust -> check_v_adjust
- close_h_ofs -> close_h_offset
- close_v_ofs -> close_v_offset
- commentfocus -> comment_focus
- hseparation -> h_separation
- ofs -> offset
- selectedframe -> selected_frame
- state_machine_selectedframe -> state_machine_selected_frame
- table_hseparation -> table_h_separation
- table_vseparation -> table_v_separation
- vseparation -> v_separation
2022-04-23 11:16:18 -05:00
bruvzg
defcd0c57e
Avoid setting sub-window or started project window positions, if it's impossible to get screen rect.
2022-04-20 11:10:33 +03:00
Yuri Rubinsky
f4b0c7a1ea
Merge pull request #60175 from Geometror/visual-shader-vector4
2022-04-20 08:33:42 +03:00
kobewi
3017530e26
Make Tween.interpolate_value() static
2022-04-17 23:13:39 +02:00
Hugo Locurcio
52d6a7a7ff
Fix the Audio Listener 3D property not being grouped with 2D in Viewport
2022-04-16 02:22:58 +02:00
Rémi Verschelde
895f2a21f4
Merge pull request #60081 from fire-forge/input-event-editor-fix
...
Redesign InputEvent editor and fix `Window.popup_centered()` rect calculation.
2022-04-12 23:46:56 +02:00
Hendrik Brucker
cf58d23a72
Add Vector4 to VisualShader
2022-04-12 19:09:29 +02:00
Yuri Rubinsky
3d63f6e36d
Merge pull request #60171 from Chaosus/restore_aa
2022-04-12 18:09:58 +03:00
FireForge
0b0a74e135
Redesign InputEvent editor plugin
...
- Use vertical layout and add text wrapping
- Fix Window.popup_centered() rect calculation
2022-04-12 08:30:24 -05:00
Rémi Verschelde
724dd82f92
Merge pull request #60069 from Calinou/fsr-fix-editor-enum
2022-04-12 14:33:52 +02:00
Yuri Roubinsky
6e9535a9c8
Restore antialiasing for draw_line
2022-04-12 13:03:56 +03:00
bruvzg
4bf99f4af2
Narrow FileAccess scope to prevent deadlocks.
2022-04-12 10:54:39 +03:00
Rémi Verschelde
2507b2b006
Merge pull request #54191 from Ev1lbl0w/bugfix-window_popup_ratio
2022-04-11 17:49:20 +02:00
Rémi Verschelde
5613ac37d6
Merge pull request #59440 from bruvzg/fd_ref_counted
2022-04-11 14:12:18 +02:00
bruvzg
9381acb6a4
Make FileAccess and DirAccess classes reference counted.
2022-04-11 13:28:51 +03:00
kobewi
63de41b996
Improvements to files_dropped signal
2022-04-11 00:37:06 +02:00
Ev1lbl0w
139c1eb655
Clamp ratio from popup_centered_ratio
2022-04-10 11:10:21 +01:00
Hugo Locurcio
d15b69118d
Fix 3D scaling enum size in the editor and improve descriptions
2022-04-09 17:53:45 +02:00
Rémi Verschelde
0f9231ca0f
Merge pull request #59788 from Vitika9/59711
2022-04-07 15:30:57 +02:00
bruvzg
f851c4aa33
Fix some issues found by cppcheck.
2022-04-06 14:34:37 +03:00
bruvzg
d1207a0504
[Input] Add extra shortcut_input
input processing step to process Unicode character input with Alt / Ctrl modifiers, after processing of shortcuts.
2022-04-05 13:46:45 +03:00
Rémi Verschelde
f8ab79e68a
Zero initialize all pointer class and struct members
...
This prevents the pitfall of UB when checking if they have been
assigned something valid by comparing to nullptr.
2022-04-04 19:49:50 +02:00
Vitika9
ff75b30e6e
Removed show_on_top property in CanvasItem
2022-04-01 18:40:40 +05:30
Rémi Verschelde
1358efde1f
Merge pull request #59709 from Sauermann/fix-dragndrop-subviewport-transform
2022-03-31 22:31:59 +02:00
Rémi Verschelde
8e5d927af5
Merge pull request #59590 from Calinou/rename-print-stray-nodes
2022-03-31 22:21:51 +02:00
Hugo Locurcio
a29f2bfe54
Rename Node.print_stray_nodes()
to Node.print_orphan_nodes()
...
The "orphan" terminology is already used elsewhere.
2022-03-31 18:33:02 +02:00
Markus Sauermann
529e2279e1
Fix Drag n Drop Transform in main embedding window
2022-03-31 00:43:52 +02:00
Pierre-Thomas Meisels
63f7f44ccb
Make vararg method bind no return and return
...
Type emit_signal exposed method return type
set UndoRedo add_do_method and add_undo_method exposed return void
Set TreeItem::_call_recursive_bind returns void
Set _rpc_bind and _rpc_id_bind returns void in Node
Set _call_group and _call_group_flags method returns void in SceneTree
Set godot-cpp-test CI flag to false
2022-03-30 11:43:12 +02:00
Rémi Verschelde
398d502cc7
Merge pull request #59308 from Sauermann/fix-viewport-warp-mouse
2022-03-30 11:41:31 +02:00
Rémi Verschelde
dc4a5b2d5d
Merge pull request #59568 from Sauermann/fix-focus-out-notification
...
Send a focus-out notification when opening a Window Manager Popup
2022-03-30 08:57:50 +02:00
bruvzg
76174cb05a
Update sub-viewport canvas items to ensure oversampling is applied correctly.
2022-03-29 10:44:09 +03:00
Rémi Verschelde
7119d355eb
String: Remove TTR and DTR defines in non-tools build
...
This ensures we don't use TTR in runtime code, as it's specifically meant
to source translations for the editor.
2022-03-28 20:26:35 +02:00
Rémi Verschelde
2e85105959
Merge pull request #59555 from Sauermann/fix-mouseover-drag
2022-03-28 20:21:28 +02:00
Rémi Verschelde
abbb0dc082
Merge pull request #59548 from akien-mga/obj-remove-unused-categories
2022-03-28 14:17:24 +02:00
Markus Sauermann
ffe42171a5
Fix using Viewport::warp_mouse within Viewports
2022-03-28 11:59:40 +02:00
Rémi Verschelde
7e5cd4bb48
Merge pull request #59118 from Sauermann/fix-window-input-event-coordinates
2022-03-28 09:54:59 +02:00
Markus Sauermann
ba208df6e6
Send a focus-out notification when opening a Window Manager Popup
2022-03-28 09:40:36 +02:00
Rémi Verschelde
00e9170812
Merge pull request #59574 from Sauermann/proposal-rename-warp-mouse
...
Rename warp mouse functions to warp_mouse
2022-03-28 08:52:02 +02:00
Fabio Alessandrelli
4a95408dd4
[Net] Change HTTPRequest timeout type to double.
...
For consistency with the Timer class and general time representation
inside the engine.
2022-03-27 18:15:56 +02:00
Markus Sauermann
d8a3d4b9da
Send Mouse Enter/Exit Notifications independently of mouse focus
2022-03-27 14:20:03 +02:00
Markus Sauermann
0494e024d8
Rename warp mouse functions to warp_mouse
2022-03-27 14:12:01 +02:00
Univeous
383dc11965
Fix UI navigation with joysticks
2022-03-27 17:41:29 +08:00
Rémi Verschelde
5371009d8e
Object: Remove unused category boilerplate
...
We might want to re-add something like this if/when we find a good use case
for it and do the effort to categorize all objects in the API properly.
Until then, it's better to remove that boilerplate since it's not needed.
Closes #18711 .
2022-03-26 15:46:01 +01:00
Jason Knight
640099cce5
Bind NOTIFICATION_LOCAL_TRANFORM_CHANGED
2022-03-20 11:34:01 -06:00
Markus Sauermann
3f7770c453
Fix coordinate system for stretched viewports for subwindows.
2022-03-18 18:10:53 +01:00
Rémi Verschelde
19950076b1
Merge pull request #58394 from bruvzg/rtl_hint
2022-03-18 14:49:13 +01:00
Markus Sauermann
7451fa63f2
Simplify always true conditional
...
get_viewport() is always true, because is_inside_tree() is true.
2022-03-16 16:28:11 +01:00
Rémi Verschelde
e4b9406313
Merge pull request #59099 from RandomShaper/mouse_drop_on_disable
2022-03-14 11:18:38 +01:00
Markus Sauermann
86574b91dd
Cleanup internal GUI state, if event is accepted in _input.
2022-03-14 08:38:48 +01:00
kobewi
3c53752b4a
Cleanup embed subwindows getters
2022-03-13 18:20:53 +01:00
kobewi
bcf13dc175
Expose methods for screen-space transforms
2022-03-13 16:05:08 +01:00
Pedro J. Estébanez
d083fb21c7
Drop mouse focus and over when gui input is globally disabled
2022-03-13 12:45:32 +01:00
Markus Sauermann
40c08e522f
Revert "Update mouse cursor shape after changes"
...
This reverts commit 0fce98b4b5
.
2022-03-10 09:43:06 +01:00
reduz
21637dfc25
Remove VARIANT_ARG* macros
...
* Very old macros from the time Godot was created.
* Limited arguments to 5 (then later changed to 8) in many places.
* They were replaced by C++11 Variadic Templates.
* Renamed methods that take argument pointers to have a "p" suffix. This was used in some places and not in others, so made it standard.
* Also added a dereference check for Variant*. Helped catch a couple of bugs.
2022-03-09 18:39:13 +01:00
Markus Sauermann
0fce98b4b5
Update mouse cursor shape after changes
...
This fixes some cases where the mouse cursor shape did not change automatically, but instead required a MouseMove to update.
2022-03-09 07:54:03 +01:00
kobewi
bc3aff9b46
Various code and documentation improvements
2022-03-05 22:00:35 +01:00
Rémi Verschelde
345b4bb86a
Merge pull request #58282 from keptsecret/filedialog_visibility_unresponsive
...
Fix to prevent AcceptDialog and children class taking over main window
2022-02-28 12:48:59 +01:00
Rémi Verschelde
9b7aeaf88f
Merge pull request #58413 from Sauermann/fix-canvas-item-visibility
...
Fix invisible CanvasItem visibility issue
2022-02-28 11:24:19 +01:00
Igor Kordiukiewicz
b870b40d79
Remove files_dropped signal from SceneTree
2022-02-28 07:51:50 +01:00
bruvzg
74ff5921d6
Improve popup window handling.
...
Add window FLAG_POPUP and a platform specific routines to control popup auto-hiding and event forwarding.
2022-02-25 09:33:27 +02:00
Markus Sauermann
dce6cb7393
Fix invisible CanvasItem visibility issue
2022-02-22 10:13:02 +01:00
bruvzg
7385c3602d
Add RichTextLabel "hint" tag.
2022-02-21 19:34:16 +02:00
kobewi
3a77484f70
Fix CanvasItem visibility propagation
2022-02-19 22:40:53 +01:00
Markus Sauermann
27aab7f7ca
Update variable name to reflect usage
2022-02-19 09:19:15 +01:00
Rémi Verschelde
417698c202
Merge pull request #58042 from Sauermann/fix-viewport-border-notifications
...
Fix Viewport mouse enter+exit notifications
2022-02-19 09:07:07 +01:00
keptsecret
128e98c124
fixed wrong ifdef enclosed block
2022-02-18 13:31:54 -05:00
keptsecret
cb905fa957
prevent acceptdialog taking over main editor window when made visible
2022-02-18 11:06:41 -05:00
diddykonga
78dc608aa8
Change 'find_node' to 'find_nodes' and Add 'type' parameter
...
Changed 'find_node' to 'find_nodes' which now returns an 'TypedArray<Node>', as well as Added a 'type' parameter to match against specific node types, which supports inheritance.
2022-02-17 01:44:13 -06:00
Markus Sauermann
415042ac89
Connect notifications from Container to Viewport
...
mouse enter+exit
2022-02-15 22:41:30 +01:00
Rémi Verschelde
0f5455230c
Use switch
consistently in _notification
(scene
folder)
2022-02-15 18:44:55 +01:00
Rémi Verschelde
171021145d
Merge pull request #58147 from Geometror/fix-tooltip-flicker
2022-02-15 18:02:55 +01:00
Hendrik Brucker
c30d161562
Fix tooltip flickering in some cases
2022-02-15 16:29:03 +01:00
Wagner Scholl Lemos
160ee4ef8e
Added show and hide methods and updated doc API.
2022-02-15 11:37:41 -03:00
Rémi Verschelde
d3a6b6daaa
Merge pull request #56953 from bruvzg/ex_wnd
2022-02-12 16:46:55 +01:00
Hendrik Brucker
b396fd4eef
Improve compilation speed (forward declarations/includes cleanup)
2022-02-12 02:46:22 +01:00
bruvzg
7d59b81d79
Add exclusive window handling to DisplayServer (on macOS and Windows).
2022-02-12 00:14:09 +02:00
Rémi Verschelde
4be8f200f0
Fix crash calling _activate()
on ShaderGlobalsOverride out of tree
...
Fixes #45984 .
2022-02-10 18:22:20 +01:00
Fabio Alessandrelli
a18ba63417
[Net] Allow to use strings as method name in RPC.
...
Node::rpc and Node::rpc_id will now also accepts Strings instead of only
accepting StringNames.
2022-02-09 14:27:16 +01:00