reduz
d69e3791bf
Fix editor-only visibility for lights
...
* Update visibility again for editor-only lights if owner changes.
Fixes #26399 , supersedes #52327
2022-06-23 08:19:18 +02:00
Rémi Verschelde
91e9e3c681
Merge pull request #62247 from Rindbee/fix-editor-hang-when-window-as-root
2022-06-20 17:43:54 +02:00
smix8
e12e239ab4
Add Path2D/3D debug options
...
Add Path2D/3D debug options.
2022-06-20 17:32:05 +02:00
Rindbee
5ac259fad8
Quickfix editor hangs when rooting a window with exclusive and transient flags enabled
2022-06-20 21:45:08 +08:00
Rémi Verschelde
3e6de687b8
Node: Rename child_exited_tree
to child_exiting_tree
...
The name was confusing as this signal is emitted around the same time as
`tree_exiting` and `NOTIFICATION_EXIT_TREE`, i.e. while the child node is
still in tree.
Fixes #59210 .
2022-06-20 11:55:19 +02:00
markdibarry
459228cdb3
Add explicit deferred flags
2022-06-19 10:04:53 -04:00
Rindbee
53bd72fa70
Fix previous min size affects _get_contents_minimum_size in AcceptDialog
2022-06-17 16:21:23 +08:00
FireForge
92817aa72f
Add Vector2/3 linking to more properties
...
- Camera2D.zoom
- CanvasLayer.scale
- ParallaxBackground.scroll_base_scale
- ParallaxLayer.motion_scale
- Polygon2D.texture_scale
- BaseMaterial3D.uv1_scale
- BaseMaterial3D.uv2_scale
2022-06-14 09:33:44 -05:00
Rémi Verschelde
41986532c1
Merge pull request #61974 from Calinou/project-settings-mark-as-basic
2022-06-13 17:16:03 +02:00
bruvzg
f7269fe878
Single-window mode popups and edited scene windows fixes.
...
Fix single-window mode popup not closing when OptionBox is clicked.
Fix single-window mode submenus closing when parent menu item, that was used to open it is clicked (using same safe-area logic as platform specific code).
Disallow windows that are part of an edited scene from being set as exclusive or popup to prevent it from locking up the editor.
2022-06-13 09:56:08 +03:00
Hugo Locurcio
c178cfef8e
Mark some common project settings as basic
2022-06-12 19:50:14 +02:00
FireForge
4678736a39
Add suffixes to all nodes and resources
2022-06-11 09:41:05 -05:00
kobewi
9036fcbe5e
Remove TooltipPanel and TooltipLabel
2022-06-09 22:23:11 +02:00
jfons
ba832d83b2
Initial TAA implementation
...
Initial TAA support based on the implementation in Spartan Engine.
Motion vectors are correctly generated for camera and mesh movement, but there is no support for other things like particles or skeleton deformations.
2022-06-07 13:14:44 +02:00
Haoyu Qiu
83d931ad3c
Fix Viewport.own_world_3d
documentation
...
Also fixed the naming of the setter's parameter and made an `if` block
straightforward.
2022-06-06 21:34:40 +08:00
Rémi Verschelde
659f4b64d6
Merge pull request #60830 from Ansraer/fix-2d-scale
...
[4.x] Add viewport content scale
2022-06-04 00:15:38 +02:00
Yuri Sizov
ba273c6c5f
Fix theme propagation for children of top level controls and windows
2022-06-01 04:20:00 +03:00
Yuri Sizov
8e5ad7be46
Mark node groups as dirty for every children if parent is moved
2022-05-31 21:28:04 +03:00
reduz
45af29da80
Add a new HashSet template
...
* Intended to replace RBSet in most cases.
* Optimized for iteration speed
2022-05-20 22:40:38 +02:00
Rémi Verschelde
a5109d49ce
Merge pull request #61026 from timothyqiu/quit-prop
...
Make `auto_accept_quit` and `quit_on_go_back` properties
2022-05-20 08:13:00 +02:00
Aaron Franke
5dc3bfb80e
Use suffixes for units in nodes and resources
2022-05-19 14:34:27 -05:00
Aaron Record
900c676b02
Use range iterators for RBSet in most cases
2022-05-19 12:09:16 +02:00
Rémi Verschelde
2f3a8a3d61
Merge pull request #61095 from BimDav/get_node_and_resource
...
Fix a bug in get_node_and_resource when the property is set to null
2022-05-18 15:19:17 +02:00
Rémi Verschelde
5c79782c7e
Merge pull request #61088 from groud/keep_unhandled_events_on_pass
2022-05-17 23:50:55 +02:00
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
Hugo Locurcio
d567369c8f
Tweak the Viewport configuration warning to mention 2×2 size requirement
2022-04-29 20:25:05 +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
Markus Sauermann
8d60e8b5d4
Update root order on layer change
...
When the layer of a CanvasLayer changes, the order of roots needs to be recalculated.
2022-03-24 19:25:38 +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
kobewi
ab5b5e1577
Rework CanvasItem visibility propagation
2022-02-06 00:26:28 +01:00
Rémi Verschelde
5f42e0d0ab
Merge pull request #57646 from Faless/mp/4.x_interfaces
...
[Net] Move RPC, Node cache out of MultiplayerAPI.
2022-02-05 18:26:04 +01:00
kobewi
189dab2d76
Add visibility to CanvasLayer
2022-02-05 14:02:21 +01:00
Fabio Alessandrelli
347d2dfc42
[Net] Move RPC, Node cache out of MultiplayerAPI.
...
Now uses two interfaces so it can be overridden in the future, and
core no longer depends on Node.
The interfaces are implements in scene/multiplayer.
Replaces root_node with root_path.
Remove all Node references from MultiplayerAPI.
2022-02-05 02:00:23 +01:00
Rémi Verschelde
2885befbe6
Merge pull request #55950 from Faless/mp/4.x_replication_nodes
2022-02-04 19:03:10 +01:00
Fabio Alessandrelli
d219547c96
[Net] New replication interface, spawner and synchronizer nodes.
...
Initial implementation of the MultiplayerReplicationInterface and its
default implementation (SceneReplicationInterface).
New MultiplayerSpawner node helps dealing with instantiation of scenes
on remote peers (e.g. clients).
It supports both custom spawns via a `_spawn_custom` virtual function,
and optional auto-spawn of known scenes via a TypedArray<PackedScenes>
property.
New MultiplayerSynchornizer helps synchronizing states between the local
and remote peers, supports both sync and spawn properties and is
configured via a `SceneReplicationConfig` resource.
It can also sync via path (i.e. without being spawned by a
MultiplayerSpawner if both peers has it in tree, but will not send the
spawn state in that case, only the sync one.
2022-02-04 14:56:30 +01:00
Rémi Verschelde
225a3b2545
Merge pull request #57341 from bruvzg/win_multiwin_fs
2022-02-04 13:28:56 +01:00
bruvzg
f4ea9cd9f3
[Windows] Add WS_BORDER flag to windows in WINDOW_MODE_FULLSCREEN mode to allow multi-window interface in full-screen.
...
[Windows] Add WINDOW_MODE_EXCLUSIVE_FULLSCREEN without WS_BORDER flag enabled (no multi-window support).
2022-02-04 12:08:46 +02:00
bruvzg
244db37508
Cleanup and move char functions to the char_utils.h
header.
2022-02-04 11:35:01 +02:00
Rémi Verschelde
2a3c4f00c8
Merge pull request #57541 from reduz/node-add-remove-hook
2022-02-04 10:13:29 +01:00
Rémi Verschelde
36880714e4
Merge pull request #57517 from groud/viewport_expose_gui_focus
2022-02-03 11:20:20 +01:00
Fabio Alessandrelli
6ff753675a
Merge pull request #56771 from mhilbrunner/unacceptable
...
Verify custom HTTP headers, fix off by one error
2022-02-02 18:28:30 +01:00
reduz
fbd9599b04
Add a signal to notify when children nodes enter or exit tree
...
-Allows more fine grained notifications (hence better performance) than using the global scene tree signals (node added and removed).
-Required for #55950
2022-02-02 11:28:11 +01:00
Rémi Verschelde
7ed7bf1fa7
Merge pull request #48156 from madmiraal/fix-46438
...
Fix `mouse_over` not dropped when mouse leaves window
2022-02-02 07:58:49 +01:00
Anilforextra
fc27636999
Vectors: Use clear() and has().
...
Use clear() instead of resize(0).
Use has() instead of "find(p_val) != -1".
2022-02-02 00:11:09 +05:45
Marcel Admiraal
eaa70fd3f8
Fix mouse_over not dropped when mouse leaves window
2022-02-01 16:12:37 +00:00
Gilles Roudière
3521eecb4c
Exposes gui_release_focus and gui_get_focus_owner to Viewport
2022-02-01 15:07:22 +01:00
Max Hilbrunner
3ef5a97505
Verify custom HTTP headers, fix off by one error
2022-01-27 03:22:37 +01:00
Max Hilbrunner
3a83872d26
HTTP comment cleanup
2022-01-27 03:22:37 +01:00
Fabio Alessandrelli
17d4d3839e
[Net] Fix HTTPRequest memory leak in compressed responses.
...
When accept_gzip = true.
2022-01-24 14:24:45 +01:00
rafallus
44f6fe4be4
Bring reusable variables out of while loop
2022-01-23 19:39:00 -06:00
Marcel Admiraal
d009aa4d02
Fix mouse position not being scaled when window size is changed
2022-01-23 11:53:58 +00:00
bruvzg
3d79ad6e50
Fix main window title translation.
2022-01-21 15:32:22 +02:00
Rémi Verschelde
d681d99e12
Merge pull request #52134 from RandomShaper/fix_naming
2022-01-20 22:01:37 +01:00
Pedro J. Estébanez
7b0ed2aa5e
Rename Variant::is_ref() to is_ref_counted()
2022-01-20 18:46:25 +01:00
Rémi Verschelde
9e0973ca23
Merge pull request #56972 from lawnjelly/warn_unused
2022-01-20 15:34:41 +01:00
lawnjelly
b411a731fe
Add nodiscard to core math classes to catch c++ errors.
...
A common source of errors is to call functions (such as round()) expecting them to work in place, but them actually being designed only to return the processed value. Not using the return value in this case in indicative of a bug, and can be flagged as a warning by using the [[nodiscard]] attribute.
2022-01-20 13:07:49 +00:00
Rémi Verschelde
28fcbdd6dd
Merge pull request #56957 from Pineapple/get-node-error-check-optimization
...
Rework Node::get_node to omit is_absolute() check in best case scenario
2022-01-20 07:34:15 +01:00
Bartłomiej T. Listwon
e2792cc71c
Rework Node::get_node to omit is_absolute() check in best case scenario
2022-01-19 21:38:18 +01:00
Rémi Verschelde
6ab5d9d008
Merge pull request #56935 from V-Sekai/window_theme_changed_signal
2022-01-19 13:31:56 +01:00
Rémi Verschelde
74b110a736
Merge pull request #56825 from bruvzg/macos_fix_fullscr_multiwindow
2022-01-19 10:03:17 +01:00
SaracenOne
2db30ef223
Add missing 'theme_changed' signal to Window class
2022-01-19 07:59:42 +00:00
bruvzg
d62ca0c9c0
Window management improvements.
...
[macOS] Fix transient windows not working in the full-screen mode.
[macOS] Fix moving transient windows to the other screen than parent window.
[macOS] Fix popup menu switch on hover.
[macOS] Use content origin rect for windows position (to ensure `DS.mouse_get_position` is equal to `DS.window_get_position` + mouse position from the input events).
[macOS] Fix incorrect input coordinates, when external display with different scaling in connected/disconnected.
[macOS/Windows] Fix moving fullscreen windows between the screens.
Add auto refocusing of the parent window, when the focused transient window is closed.
Remove redundant `DS.mouse_get_absolute_position` function (returns mouse position in the screen coordinates, same as `DS.mouse_get_position`).
2022-01-18 11:47:03 +02:00
Mario Liebisch
a5a03b3a73
Allow embedded windows to be non-resizable
...
This fixes issue #56869 .
2022-01-17 21:19:45 +01:00
Haoyu Qiu
6aecf91e4f
Replicate load-as-placeholder state on node duplication
2022-01-16 15:08:03 +08:00
Stijn Hinlopen
fb1cd9e446
Refactor CanvasItem show/hide/set_visible
2022-01-12 23:13:41 +01:00
Rémi Verschelde
d40d86b959
Merge pull request #56667 from Ice-Cube69/fix_incorrect_property_types
2022-01-11 14:34:18 +01:00
Arnav Vijaywargiya
0c46f73b5e
Fixed incorrect property types
2022-01-11 17:17:11 +05:30
Rémi Verschelde
46624388d4
Merge pull request #56322 from madmiraal/fix-42450
2022-01-11 11:33:59 +01:00
kobewi
205f56f226
Fix Tween pause behavior
2022-01-09 19:38:18 +01:00
Rémi Verschelde
07d2dfef7b
Merge pull request #53419 from TechnoPorg/rework-subwindows
2022-01-07 16:15:09 +01:00
Tomasz Chabora
e72adab511
Update the minimum size of ViewportContainer
2022-01-06 15:43:12 +01:00
Pedro J. Estébanez
2db9397fb9
Clear only owners that are no longer in the same tree
2022-01-05 14:00:49 +01:00
Rémi Verschelde
91b5c358fc
Merge pull request #55512 from RandomShaper/better_node_delete
2022-01-05 10:25:13 +01:00
Rémi Verschelde
851fb16350
Merge pull request #56305 from Calinou/rename-lod-threshold
2022-01-04 15:28:06 +01:00
Rémi Verschelde
23342ac23c
Merge pull request #54987 from KoBeWi/@@Node2D@@69@@420@@@
2022-01-04 10:08:32 +01:00
Rémi Verschelde
7f66c16c03
Merge pull request #51206 from clayjohn/Vulkan-ASSGI
2022-01-04 10:00:17 +01:00
Rémi Verschelde
fe52458154
Update copyright statements to 2022
...
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
Marcel Admiraal
3105d9b1f3
Rename speed to velocity when it's a directional Vector
2021-12-29 15:35:26 +00:00
Hugo Locurcio
df09bc38cb
Rename Lod Threshold to Mesh Lod Threshold
...
This makes it more obvious that the setting only affects mesh LOD,
not manual (H)LOD achieved using visibility ranges.
2021-12-29 00:11:50 +01:00
Ansraer
c7a03412ac
add 2d scale factor property
2021-12-17 19:19:41 +01:00
Fabio Alessandrelli
75ed3d74e8
Merge pull request #55747 from timothyqiu/editor-proxy
...
Add proxy support for the editor
2021-12-16 10:06:14 +01:00
vitika9
51501dadcc
Added check for SceneTree being null
2021-12-13 15:41:29 +05:30
jmb462
d44b33741b
Fix bad mouse offset to show tooltips in Tree
2021-12-12 09:12:26 +01:00
Nathan Franke
49403cbfa0
Replace String comparisons with "", String() to is_empty()
...
Also:
- Adds two stress tests to test_string.h
- Changes to .empty() on std::strings
2021-12-09 04:48:38 -06:00
Nathan Franke
41a20171eb
align to horizontal_alignment, valign to vertical_alignment, related
2021-12-09 01:38:46 -06:00
Haoyu Qiu
5912dd2964
Add proxy support for the editor
...
* Adds proxy support for `HTTPRequest`.
* Adds `network/http_proxy/{host,port}` editor settings.
* Labeled as "HTTP Proxy" and it will be used for both HTTP and
HTTPS requests. This is the same convention as seen in Android
Studio's proxy settings.
* Makes Asset Library and Export Template Manager use proxy according to
the editor settings.
2021-12-09 11:48:16 +08:00
Rémi Verschelde
c1ed695f32
Merge pull request #55659 from timothyqiu/boom
...
Fix crash when `update()` is called inside `_draw()`
2021-12-06 22:39:02 +01:00
jmb462
81efebb3a1
Fix bad popups offset in editor with single window off
...
Co-authored-by: Gil Arasa Verge <gilarasaverge@gmail.com>
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2021-12-06 14:29:48 +01:00
Haoyu Qiu
f18de71b56
Fix crash when update() is called inside _draw()
2021-12-06 14:20:26 +08:00
Haoyu Qiu
86a47c6540
Fix mouse cursor and notification for force dragging
2021-12-03 18:19:41 +08:00
Pedro J. Estébanez
0a0381dd0a
Rationalize Node removals and deletions
...
- Regarding preservation of owner, `free()` and `remove_child()` now behave the same: owner is kept during `tree_exiting` signal and `null` during `tree_exited`.
- `tree_exited` is emitted in the same order as `tree_exiting`.
- Superfluous code to handle cancelation of ownership is removed.
2021-12-01 14:28:59 +01:00
Rémi Verschelde
e223a9c129
Merge pull request #55486 from nekomatata/physics-contacts-debug
2021-11-30 20:21:54 +01:00
PouleyKetchoupp
1ce74c0273
Fix physics 2D/3D contact points rendering
...
Physics internal process was removed by mistake, it's needed for contact
points to be updated each frame.
Fixed some multimesh parameters to allow 3D contact points to be drawn,
although it's still not working well in 3D as only some of the contact
points are drawn, and some of them keep being drawn when the number
of visible instances drops to 0 instead of hiding them all.
2021-11-30 09:35:12 -07:00
TechnoPorg
acb90ed020
Don't obtain a reference to a subwindow
...
Fixes the wrong location being accessed after changing the order of embedded windows.
This commit also removes an unused variable.
2021-11-29 16:52:19 -07:00
kobewi
dc5f6ac4cf
Don't show tooltips for paused controls
2021-11-29 13:23:28 +01:00
Max Hilbrunner
a6a2e0feb9
Merge pull request #52387 from Calinou/node-rename-path-changed-notification
...
Rename Node's `NOTIFICATION_PATH_CHANGED` to `NOTIFICATION_PATH_RENAMED`
2021-11-25 17:47:44 +01:00
Rémi Verschelde
547c270777
Merge pull request #51679 from Je06jm/fsr
...
AMD FidelityFX Super Resolution
2021-11-24 22:34:48 +01:00
Lightning_A
e078f970db
Rename remove()
to remove_at()
when removing by index
2021-11-23 18:58:57 -07:00
Je06jm
20deb0917d
Implemented AMD's FSR as a computer shader for upscaling 3D scenes
2021-11-23 14:16:03 -07:00
Rémi Verschelde
76aa1d0a43
Merge pull request #55151 from Chaosus/control_reset_size
2021-11-22 16:22:57 +01:00
Yuri Roubinsky
eabf8f5edf
Added reset_size
method to Control
and Window
classes
2021-11-22 16:55:21 +03:00
Rémi Verschelde
78dbe4e3e4
Merge pull request #54339 from ConteZero/line_edit_drag_and_drop
2021-11-22 12:20:01 +01:00
Rémi Verschelde
b99792b5d9
Merge pull request #54167 from brunosxs/fix-game-crash-when-sending-a-notification-from-a-camera-class
2021-11-16 14:11:14 +01:00
ConteZero
2b1787b446
Fix drag and drop on LineEdit
2021-11-15 17:10:56 +01:00
kobewi
58146a74f7
Fix nodes being renamed into garbage upon conflict
2021-11-15 02:05:44 +01:00
Aaron Franke
3c0fdcc8ac
Use "enum class" for input enums
2021-11-12 15:37:54 -06:00
megalobyte
e3def40160
Update editor description property flag
2021-11-10 13:44:54 -05:00
Rémi Verschelde
665fa3d839
Merge pull request #52943 from RandomShaper/property_pin_control_natural
2021-11-08 18:53:08 +01:00
Pedro J. Estébanez
8d6f80d367
Add property value pinning
2021-11-08 17:42:30 +01:00
kobewi
313ef412f5
Fix preview sun and environment names
2021-11-07 00:40:15 +01:00
clayjohn
0eff109a21
Added SSIL post processing effect
2021-11-06 12:43:19 -07:00
Rémi Verschelde
13aaa73124
Merge pull request #54573 from nekomatata/query-parameters
2021-11-05 21:52:39 +01:00
PouleyKetchoupp
acbd24ea84
Use parameter classes instead of arguments for all physics queries
...
Same as what is already done for shape queries, applied to point and ray
queries. Easier to document and more flexible to add more parameters.
Also expose intersect_point method to script in 3D.
Remove intersect_point_on_canvas in 2D, replaced with a parameter.
2021-11-04 11:44:39 -07:00
Hugo Locurcio
c012fbc8b2
Rename PROPERTY_USAGE_NOEDITOR
to PROPERTY_USAGE_NO_EDITOR
...
This is consistent with other constants that include `NO`,
such as `PROPERTY_HINT_COLOR_NO_ALPHA`.
2021-11-03 23:06:17 +01:00
Rémi Verschelde
a2803f3d86
Merge pull request #54072 from KoBeWi/hrcr_is_ded
2021-11-03 17:31:48 +01:00
Rémi Verschelde
96ce806b2f
Merge pull request #54369 from S0yKaf/fix-hardcoded-ray-distance
...
Fix hardcoded raycast distance in viewport object picking
2021-11-01 21:01:44 +01:00
vdyotte
02b6bbc5df
fix hardcoded raycast distance with viewport object picking
...
having the raycast distance hardcoded to `10000` caused input events
to not be registered in very large 3D scenes.
This resolves the issue by using the cameras far distance instead.
Creating the more predictable behavior of if an object is visible,
it will be picked by the viewport.
resolves : #49735
2021-10-28 23:08:48 -04:00
Lyuma
97a4ae9e0f
Fix off by one in Viewport.render_target_update_mode property enum
2021-10-28 19:42:31 -07:00
Rémi Verschelde
3b11e33a09
clang-format: Disable alignment of operands, too unreliable
...
Sets `AlignOperands` to `DontAlign`.
`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
2021-10-28 15:19:35 +02:00
kobewi
de4f29f458
Remove node_hrcr hack
2021-10-28 01:43:34 +02:00
bruvzg
ebbc25e89c
Ignore empty Font resources as theme override.
...
Add range hint to font_size properties.
Remove excessive `base_size` Font property.
2021-10-25 14:05:37 +03:00
BrunoSXS
eb2deabffe
Fixes a game crash caused by instantiating Camera2D and sending a notification from it before adding it to the tree.
2021-10-23 17:30:18 -03:00
Rémi Verschelde
9f7218eb69
Merge pull request #54088 from madmiraal/remove-unimplemented-methods
2021-10-22 12:59:32 +02:00
Sean Kim
497b00a937
Fix potential nullptr dereference in CanvasLayer
...
* Changed another instance of ERR_FAIL_COND in the same file to
ERR_FAIL_NULL_MSG instead.
* Checked for potential access of the viewport pointer elsewhere in same
file.
Fixes #54098
2021-10-21 19:41:13 -07:00
Marcel Admiraal
87a4ba492e
Remove unimplemented methods
2021-10-21 18:44:25 +01:00
PouleyKetchoupp
d5847f1cb4
Fix errors in mouse detection when removing collision object from tree
...
Now behaves the same way as ui elements, mouse exit is skipped when the
object is removed from the tree.
2021-10-20 09:10:59 -07:00
Rémi Verschelde
56078cca90
Merge pull request #53630 from timothyqiu/viewport-recursion
2021-10-11 10:02:22 +02:00
Haoyu Qiu
7ecb133b22
Fix Viewport::handle_input_locally related infinite recursion
2021-10-10 18:10:28 +08:00
mashumafi
80dc1cc412
Executing AcceptDialog.push_input no longer crashes
2021-10-09 20:33:29 +00:00
Hugo Locurcio
42d13e29e2
Add a warning for Timer nodes with very low wait times
...
Very low wait times behave in unpredictable ways depending on the
rendered frame rate. This is because the timeout signal is only emitted
once per rendered frame (or physics frame, depending on the timer's
process mode).
2021-10-09 08:57:48 +02:00
Rémi Verschelde
5ae569560d
Fix missing argument names in bindings
...
While at it, tweak some boolean setters to use `p_enabled` for the bool.
Also renames `draw_minimap()` to `set_draw_minimap()`.
2021-10-09 00:20:10 +02:00
Hugo Locurcio
73c6e19acc
Allow any floating-point value as a 3D rendering scale option
...
This allows for finer control over 3D rendering resolution.
Supersampling can also be performed by setting a 3D rendering
resolution above 1.0, which is useful for offline rendering or
for very high-end GPUs.
2021-10-08 18:22:10 +02:00
kleonc
23dac24789
Delete objects enqueued for deletion during SceneTree destruction
2021-10-08 16:45:55 +02:00
Fabio Alessandrelli
7c93931751
[Net] Add call_local argument to Node.rpc_config.
2021-10-08 12:49:20 +02:00
jitspoe
2ceba818c3
Fix ViewportTexture error when viewport is used from a child scene
...
Fix invalid errors when a separate child scene file contains a viewport and
that viewport is used for a texture in the current scene.
Fixes #27790 .
2021-10-05 12:21:06 +02:00
Rémi Verschelde
b85dfd990e
GDScript completion: Handle quote style ad-hoc to remove editor dependency
...
`core` and `scene` shouldn't depend on `editor`, so they can't query this style
setting in `get_argument_options`. But we can handle it after the fact in
GDScript's completion code.
Also cleans up a couple extra unused invalid includes in `core`.
2021-10-04 16:16:05 +02:00
Yuri Sizov
4a42a66cd9
Add the base scale factor to the Theme resource
2021-10-04 15:25:07 +03:00
bruvzg
0c0b5c84b0
Implement TextServer GDExtension interface, remove TextServer GDNative interface.
2021-10-01 15:13:29 +03:00
Lightning_A
c63b18507d
Use range iterators for Map
2021-09-30 15:09:12 -06:00
Hugo Locurcio
570cdc128f
Rename Node's filename
property to scene_file_path
for clarity
2021-09-30 16:50:25 +02:00
Haoyu Qiu
9dd0d3f550
Don't memcpy to nullptr even if length is zero
2021-09-29 20:58:14 +08:00
Eric M
caac2e1a87
Fix focus shortcuts triggering incorrectly
2021-09-21 12:24:07 +10:00
Rémi Verschelde
583eaa9869
Merge pull request #49819 from nekomatata/fix-process-mode-inherit
2021-09-17 19:16:19 +02:00
Wilson E. Alvarez
f3a564f9a5
Rename Listener2D/Listener3D to AudioListener2D/AudioListener3D
2021-09-16 17:51:51 -04:00
Rémi Verschelde
195ea41a7a
Merge pull request #51237 from KoBeWi/tween_fix()
...
Various fixes to Tween code
2021-09-14 10:29:50 +02:00
Rémi Verschelde
70ba366743
Merge pull request #50375 from Paulb23/code_edit_unit_tests
2021-09-13 21:51:20 +02:00
Rémi Verschelde
8ecc571158
Merge pull request #49063 from Calinou/remove-16x-msaa
...
Remove 16× MSAA support due to driver bugs and low performance
2021-09-13 17:34:04 +02:00
kobewi
6b68445e4d
Fix multiple definitions of Listener2D
2021-09-12 21:19:37 +02:00
Max Hilbrunner
06e2a02253
Clean up Viewport, remove dead code.
2021-09-10 16:58:33 +02:00
Max Hilbrunner
68563b5760
Merge pull request #52431 from dozingpip/patch-1
...
Remove dead code from Viewport::_gui_input_event
2021-09-10 16:34:28 +02:00
Juan Linietsky
d0a7eeaaff
Merge pull request #44844 from KoBeWi/hey_listen!_but_2d
...
Add Listener2D
2021-09-09 19:19:10 -03:00
Max Hilbrunner
5b25457794
Multiplayer networking renames/simplification
...
Removes _networking_ prefix from some methods and members, now that multiplayer has been largely moved out of Node and SceneTree and is seperated into its own set of classes.
2021-09-08 12:05:54 +02:00
Max Hilbrunner
acc776f7b6
Merge pull request #52442 from Faless/mp/4.x_rpc_manager
...
[Net] Move multiplayer classes to own subfolder. Split RPC from MultiplayerAPI.
2021-09-07 18:44:39 +02:00