Commit Graph

71 Commits

Author SHA1 Message Date
Rémi Verschelde
6b1886f998
Merge pull request #50319 from nekomatata/optimize-node-path-check
Optimize NodePath update when renaming or deleting nodes in the editor
2021-07-22 12:13:10 +02:00
kobewi
5faf51a5aa Assign value to property by dropping to scene tree 2021-07-19 16:16:50 +02:00
PouleyKetchoupp
ff40c3f3c8 Optimize NodePath update when renaming or deleting nodes in the editor
Now the process uses a Map to lookup node pointers instead of iterating
over all modified node paths in a list and comparing them for each
property to check.

The process also avoids checking properties with empty node paths and
does an early exit on deleted nodes to avoid checking the node and its
descendants.

Also made a minor change in NodePath::rel_path_to() to avoid resizing a
Vector many times for long paths (with copy-on-write each time). Now
it's down to 2 resize calls in any case.
2021-07-09 11:42:39 -07:00
Hugo Locurcio
99909cb4f7
Add a root Node3D automatically if absent when adding preview sun and sky
This makes for a smoother prototyping process compared to displaying
an error message.
2021-07-07 01:59:46 +02:00
PouleyKetchoupp
62ce81ec15 Coding style fix in editor NodePath update
Added r_ prefix for reference arguments that can be modified.
2021-06-30 11:50:40 -07:00
Rémi Verschelde
dfdde2c598
Merge pull request #49812 from nekomatata/node-path-editor-update
NodePath properly updated in the editor in more cases when nodes are moved or renamed
2021-06-29 12:51:38 +02:00
PouleyKetchoupp
3e4e530523 NodePath properly updated in the editor in more cases
Fix more cases of node path needing an update when nodes are renamed or
moved in the editor.

Built-in node properties:
Before, node paths were checked only for script export variables. Now
all properties are checked from the node, which includes built-in node
properties.
Allows proper node path updates for nodes like remote transform, physics
joints, etc.

Arrays and dictionaries:
Node paths nested in array and dictionary properties are now also
updated in the editor.

Also update the documentation to be clear about node path update in the
editor and at runtime.

Co-authored-by: latorril <latorril@gmail.com>
2021-06-28 09:28:29 -07:00
Lightning_A
e28fd07b2b Rename instance()->instantiate() when it's a verb 2021-06-19 20:49:18 -06:00
reduz
90056460ad Implement Particle Trails
-Enable the trails and set the length in seconds
-Provide a mesh with a skeleton and a skin
-Or, alternatively use one of the built-in TubeTrailMesh/RibbonTrailMesh
-Works deterministically
-Fixed particle collisions (were broken)
-Not working in 2D yet (that will happen next)
2021-04-30 17:38:02 -03:00
Rémi Verschelde
ec7053259b
Merge pull request #41437 from KoBeWi/put_it_here
Allow to create a node at specific position
2021-03-01 15:48:53 +01:00
Oliver Dick
0559fc58d1 SceneTreeDock: Changed "Save Branch as Scene" to make use of Node::duplicate_from_editor, which is also used by "Duplicate" function of the SceneTreeDock
- Removed Node::duplicate_and_reown method as it is not used anymore
2021-02-28 17:19:01 +01:00
Tomasz Chabora
8df22a03c4 Allow to create a node at specific position 2021-02-26 14:40:28 +01:00
hilfazer
e28cc34db8 Prevent 'Change Type' on nodes from an instanced scene 2021-02-26 07:18:21 +01:00
kobewi
6b4faa355c Remove Merge From Scene 2021-02-13 01:35:03 +01:00
kobewi
36494e8526 Duplicate resources pasted to other scenes 2021-02-12 22:38:38 +01:00
Tomasz Chabora
abe548d76d Add node copy-paste 2021-02-09 20:53:06 +01:00
Rémi Verschelde
b5334d14f7
Update copyright statements to 2021
Happy new year to the wonderful Godot community!

2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.

We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)

Here's to a great year 2021 for all Godot users 🎆
2021-01-01 20:19:21 +01:00
Tomasz Chabora
2c048ea164 Cleanup unused engine code 2020-12-09 12:12:36 +01:00
Aaron Franke
02161aad5a
Remove empty lines around braces with the formatting script 2020-11-16 23:38:11 -05:00
booer
3d69385655 Fix changing icons' colors when switch dark and light theme 2020-09-17 09:33:19 +07:00
Hugo Locurcio
31b7f02a29
Remove ToolButton in favor of Button
ToolButton has no redeeming differences with Button;
it's just a Button with the Flat property enabled by default.
Removing it avoids some confusion when creating GUIs.

Existing ToolButtons will be converted to Buttons, but the Flat
property won't be enabled automatically.

This closes https://github.com/godotengine/godot-proposals/issues/1081.
2020-06-19 20:49:49 +02:00
Rémi Verschelde
0be6d925dc Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
Which means that reduz' beloved style which we all became used to
will now be changed automatically to remove the first empty line.

This makes us lean closer to 1TBS (the one true brace style) instead
of hybridating it with some Allman-inspired spacing.

There's still the case of braces around single-statement blocks that
needs to be addressed (but clang-format can't help with that, but
clang-tidy may if we agree about it).

Part of #33027.
2020-05-14 16:54:55 +02:00
Hugo Locurcio
7fc0e38e92
Rename the Clear Script editor action to Detach Script
This makes it more obvious that the script won't be modified
in any way.

See comments in #27813.
2020-05-09 19:09:11 +02:00
lupoDharkael
95a1400a2a Replace NULL with nullptr 2020-04-02 13:38:00 +02:00
Rémi Verschelde
cb282c6ef0 Style: Set clang-format Standard to Cpp11
For us, it practically only changes the fact that `A<A<int>>` is now
used instead of the C++03 compatible `A<A<int> >`.

Note: clang-format 10+ changed the `Standard` arguments to fully
specified `c++11`, `c++14`, etc. versions, but we can't use `c++17`
now if we want to preserve compatibility with clang-format 8 and 9.
`Cpp11` is still supported as deprecated alias for `Latest`.
2020-03-17 07:36:24 +01:00
Rémi Verschelde
a7f49ac9a1 Update copyright statements to 2020
Happy new year to the wonderful Godot community!

We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.

Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
2020-01-01 11:16:22 +01:00
Shivansh Anand
9fee540e6e fixes #33439. The feature now changes according to the feature profile. 2019-11-11 01:13:56 +05:30
Anubhab Ghosh
4972ef801a Add clear menu entries for extending and replacing scripts 2019-10-23 01:57:17 +05:30
Bhupendra Aole
cb528e31d9 Placeholder dialog for editable children
Fire placeholder confirmation dialog box when editable children option is already checked.
Fixes #28863
2019-09-27 13:49:55 -04:00
Julian Murgia
249fdd9f80 Adds contextual item in scene tree dock to wrap selection in a new node
Fixes #20187
2019-07-19 16:46:13 +02:00
Tomasz Chabora
0cd9a65aa4 Smarter node placement after duplicating 2019-07-04 18:16:19 +02:00
Rémi Verschelde
e8b483ce21
Merge pull request #19936 from Xrayez/collapse-button
Expand/collapse nodes recursively in scene tree dock
2019-07-02 10:02:24 +02:00
LikeLakers2
410054db38 SceneTreeDock will now only attach scripts to the selected node if the ScriptCreateDialog was opened from the SceneTreeDock 2019-06-29 23:19:45 -04:00
Rémi Verschelde
ddba2e7b47
Merge pull request #26748 from raphael10241024/instance
Fix editor crash when saving a scene containing an inherited scene instance.
2019-06-19 16:28:15 +02:00
Rémi Verschelde
500fe89600
Merge pull request #28349 from KoBeWi/sprite_editor_mistake_eraser
Add undo for Sprite Editor
2019-05-28 18:39:14 +02:00
Tomasz Chabora
7e9e023e5f Keep editable children on node duplicate 2019-05-28 16:53:24 +02:00
Tomasz Chabora
a93ff8d210 Add undo for Sprite Editor 2019-04-23 21:10:44 +02:00
Andrii Doroshenko (Xrayez)
824f68483f Add ability to expand/collapse nodes recursively in scene tree dock
To expand or collapse the node recursively (all children), hold `Shift`
button and click on the node's folding arrow.

The popup menu option `Expand/Collapse All" checks whether any node
is expanded or collapsed first and performs the opposite operation. That
means if any children node is collapsed, it will first expand all nodes
at selected node.

Co-authored-by: Rikhardur Bjarni Einarsson (MunWolf) badulf96@gmail.com
2019-04-21 13:50:30 +03:00
Juan Linietsky
a20235aeb0 Add ability to edit editor feature profiles
Allows enabling/disabling parts of the editor and storing/loading profiles for that.
2019-04-08 19:18:51 -03:00
yakun.zhang
e25a50d690 add check for inherted nodes when instance 2019-03-18 19:40:36 +08:00
Juan Linietsky
6f884cc884 Use SceneTreeDock to replace particles node properly, fixes #24162 2019-01-14 13:41:54 -03:00
Rémi Verschelde
b16c309f82 Update copyright statements to 2019
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
Andrew McDonald
66503465db Use EditorQuickOpen dialog instead of EditorFileDialog when instancing a child scene.
Addresses the bulk of #5180
2018-10-16 22:19:51 -07:00
groud
980aa276e3 Add a shortcut to the documentation in the scene tree RMB menu 2018-10-03 11:25:18 +02:00
DualMatrix
0d09f80e43 Added warning when disabling editable_instance
Added warning when disabling editable_instance to prevent data loss.
2018-09-17 15:18:03 +02:00
willnationsdev
1ea37c34ad Add toggle for favorites in create_root_dialog. 2018-08-08 12:15:42 -05:00
Rémi Verschelde
1f6fedeb37
Merge pull request #19729 from razcore-art/rename-discard-instancing
Rename 'Discard Instancing' to 'Make Local'
2018-07-24 20:51:53 +02:00
Juan Linietsky
c0c243ac5c New option, make any node the new scene root. 2018-07-15 23:52:57 -03:00
Juan Linietsky
512ffd489a Small feature to help users understand the editor faster. 2018-07-15 23:11:29 -03:00
willnationsdev
2a6c591957 Expose ScriptCreateDialog to EditorPlugin 2018-07-04 09:41:12 -05:00