summaryrefslogtreecommitdiff
path: root/editor/scene_tree_dock.h
AgeCommit message (Collapse)Author
2022-05-16Replace most uses of Map by HashMapreduz
* 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-03Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`Hugo Locurcio
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-02Style: Partially apply clang-tidy's `cppcoreguidelines-pro-type-member-init`Rémi Verschelde
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-04-27Merge pull request #59979 from bruvzg/cpp_check2Rémi Verschelde
2022-04-25Implement Scene Unique Nodesreduz
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-20Fix more issues found by cppcheck.bruvzg
2022-04-05[Input] Add extra `shortcut_input` input processing step to process Unicode ↵bruvzg
character input with Alt / Ctrl modifiers, after processing of shortcuts.
2022-04-04Zero initialize all pointer class and struct membersRémi Verschelde
This prevents the pitfall of UB when checking if they have been assigned something valid by comparing to nullptr.
2022-03-12Initialize bools in the headers in editorAaron Franke
2022-02-15Editor: Cleanup some includes dependenciesRémi Verschelde
Removes some unnecessary includes from `editor_node.h`, and instead add those where they're used. Removes unnecessary `editor_node.h` includes in various editor classes. Renames `dynamicfont` to `dynamic_font` in a couple files. Misc cleanup while jumping through that rabbit hole.
2022-02-14Remove most EditorNode constructor parameters and fieldstrollodel
2022-01-27Improve 2D editor's right-click menukobewi
2022-01-20Store panels and docks singletons in their own classestrollodel
2022-01-20Make Scene dock menu button an actual `MenuButton`Michael Alexsander
2022-01-18Improve node pastingkobewi
2022-01-04Merge pull request #53313 from KoBeWi/debinded_konnektRémi Verschelde
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2021-12-09Add drag and drop for NodePathskobewi
2021-11-12Modules: Make sure to include modules_enabled.gen.h where neededRémi Verschelde
2021-11-03Infer shader type based on edited nodekobewi
2021-10-21Remove unimplemented methodsMarcel Admiraal
2021-10-04Add support for unbinding in connection dialogkobewi
2021-10-04Merge pull request #51413 from KoBeWi/🚗Rémi Verschelde
2021-09-15Allow disabling the RegEx module in the editorAaron Franke
2021-09-09Save branch as scene by dropping to filesystemkobewi
2021-08-23Entirely removes BIND_VMETHOD in favor of GDVIRTUALreduz
* `_gui_input`, `_input`, `_unhandled_input` and `_unhandled_key_input` are now regular C++ virutal functions. * Everything else converted to GDVIRTUAL * BIND_VMETHOD is gone, always use the new syntax from now on. Creating `_gui_input` method and using the binder to register events will no longer work, simply override the virtual function now.
2021-08-12Move the option to new menukobewi
2021-08-12Add option to not expand tree on node selectkobewi
2021-08-07Added editor dialog for easily creating shaders.Yuri Roubinsky
2021-07-22Merge pull request #50319 from nekomatata/optimize-node-path-checkRémi Verschelde
Optimize NodePath update when renaming or deleting nodes in the editor
2021-07-19Assign value to property by dropping to scene treekobewi
2021-07-09Optimize NodePath update when renaming or deleting nodes in the editorPouleyKetchoupp
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-07Add a root Node3D automatically if absent when adding preview sun and skyHugo Locurcio
This makes for a smoother prototyping process compared to displaying an error message.
2021-06-30Coding style fix in editor NodePath updatePouleyKetchoupp
Added r_ prefix for reference arguments that can be modified.
2021-06-29Merge pull request #49812 from nekomatata/node-path-editor-updateRémi Verschelde
NodePath properly updated in the editor in more cases when nodes are moved or renamed
2021-06-28NodePath properly updated in the editor in more casesPouleyKetchoupp
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-19Rename `instance()`->`instantiate()` when it's a verbLightning_A
2021-04-30Implement Particle Trailsreduz
-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-03-01Merge pull request #41437 from KoBeWi/put_it_hereRémi Verschelde
Allow to create a node at specific position
2021-02-28SceneTreeDock: Changed "Save Branch as Scene" to make use of ↵Oliver Dick
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-26Allow to create a node at specific positionTomasz Chabora
2021-02-26Prevent 'Change Type' on nodes from an instanced scenehilfazer
2021-02-13Remove Merge From Scenekobewi
2021-02-12Duplicate resources pasted to other sceneskobewi
2021-02-09Add node copy-pasteTomasz Chabora
2021-01-01Update copyright statements to 2021Rémi Verschelde
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 🎆
2020-12-09Cleanup unused engine codeTomasz Chabora
2020-11-16Remove empty lines around braces with the formatting scriptAaron Franke
2020-09-17Fix changing icons' colors when switch dark and light themebooer
2020-06-19Remove ToolButton in favor of ButtonHugo Locurcio
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.