Commit Graph

340 Commits

Author SHA1 Message Date
kobewi 881c8da0a0 Unify single and multiscene instancing 2021-01-15 20:13:09 +01:00
Pedro J. Estébanez 6fbe0a494b Fix cases of resources destroyed too early 2021-01-06 23:40:50 +01:00
kobewi f5d51288b8 Properly edit the instanced node in the inspector 2021-01-05 14:14:45 +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
Marcel Admiraal 5b937d493f Rename empty() to is_empty() 2020-12-28 10:39:56 +00:00
Marcel Admiraal 4b8b803931 Rename Control margin to offset 2020-12-23 06:25:56 +00:00
Marcel Admiraal 8509c8c8fc Rename AcceptDialog get_ok() to get_ok_button()
Also renames:
- AcceptDialog add_cancel() to add_cancel_button()
- ConfirmationDiaglog get_cancel() to get_cancel_button()
2020-12-14 18:43:52 +00:00
Tomasz Chabora 2c048ea164 Cleanup unused engine code 2020-12-09 12:12:36 +01:00
Aaron Franke 1b348b3c17
Remove connect *_compat methods 2020-12-05 17:56:47 -05:00
Rémi Verschelde a09846e015
Merge pull request #42109 from EricEzaM/PR/input-and-shortcuts-rework
Shortcuts rework - fixed issues with input propagation and triggering of unwanted shortcuts.
2020-11-28 09:04:25 +01:00
bruvzg 99666de00f
[Complex Text Layouts] Refactor Font class, default themes and controls to use Text Server interface.
Implement interface mirroring.
Add TextLine and TextParagraph classes.
Handle UTF-16 input on macOS and Windows.
2020-11-26 14:25:48 +02:00
Eric M efe5c250d5 Implement new shortcuts system.
unhandled_key_input changed to unhandled_button_input. Controls can set a 'shortcut_context' which they can then use to determine if their shortcuts should be triggered or not, based on if the viewport's focused GUI control is a child of their 'shortcut context'.
2020-11-23 21:14:26 +10:00
Eric M 9d7d20a978 Added accept_event() calls for SceneTreeDock and BaseButton 2020-11-23 21:14:25 +10:00
Marcus Brummer 3629651ef8 Fixed deletion of nodes with exported node paths 2020-11-18 00:12:32 +01:00
Rémi Verschelde b59a6fc40e
Merge pull request #38201 from Calinou/editor-f2-rename-node
Require Ctrl for switching between editors, bind F2 to Rename Node
2020-11-17 15:09:39 +01:00
Rémi Verschelde d107fd4c9e
SceneTree: Fix reparent crash with animation tracks renaming disabled
This check was there since the first commit in 2014, but a later feature added in 2018
with #17717 did not properly update the code while adding non animation-related code
in `perform_node_renames`.

Fixes #40532.
2020-11-13 13:41:33 +01:00
reduz 127458ed17 Reorganized core/ directory, it was too fatty already
-Removed FuncRef, since Callable makes it obsolete
-Removed int_types.h as its obsolete in c++11+
-Changed color names code
2020-11-07 20:17:12 -03:00
Gilles Roudière 6386bf60ea Fix error on attaching script 2020-10-26 23:26:44 +01:00
Gabriel Van Eyck a22275c8a2 Keep 'Editor Description' metadata when changing a Node's type
Also copy edit group/lock when replacing a Node3D
2020-10-18 11:22:54 -07:00
reduz 351a122029 Add ability to bind an unbind arguments to Callable. 2020-10-09 19:43:22 -03:00
Marcus Brummer fdec257e58 Fixed renaming/moving of nodes with exported NodePaths 2020-09-25 16:33:58 +02:00
booer 3d69385655 Fix changing icons' colors when switch dark and light theme 2020-09-17 09:33:19 +07:00
SkyJJ 280d4e2965 Fix TTR misuse 2020-07-24 15:15:23 +02:00
Michael Alexsander 5643d2e3fe Small naming and tooltip tweaks 2020-07-23 20:17:43 -03:00
Nehluxhes c85d04a771 Remove duplicate node update call 2020-07-21 19:47:44 +02:00
Stijn Hinlopen 526e060b73 Resize dialogs (FileDialog, EditorFileDialog, Reparent, SceneTreeDialog and resource depency dialogs). 2020-07-14 14:35:22 +02:00
Rémi Verschelde 84c68ebb11
Merge pull request #40034 from hinlopen/fix-new-node-crash
Fix: Crash when trying to add new node
2020-07-02 16:26:40 +02:00
Stijn Hinlopen 81b6000812 Fix crash by calculating wrong size of array. 2020-07-02 10:58:41 +02:00
Juan Linietsky f0e320decf Fix some popups menu missing screen transform.
Closes #38591
2020-07-01 14:44:19 -03:00
Rémi Verschelde 435a4c117e
Merge pull request #39954 from hinlopen/delete-nodes-msg
Delete Nodes message
2020-07-01 15:17:38 +02:00
Stijn Hinlopen 8b046ed477 Deleting multiple nodes displays correct message. 2020-07-01 12:59:55 +02:00
Stijn Hinlopen ec86d32684 Add Control to preferred types 2020-06-30 12:00:55 +02: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
Michael Alexsander f30e4dbf54 Fix scene tree showing up when the root selection is present 2020-06-09 19:06:15 -03:00
Andrii Doroshenko (Xrayez) 52f3cfca6f Prevent crash attaching a script with no languages registered 2020-05-31 21:01:42 +03:00
Michael Alexsander d015e4d6fc Keep "lock" metadata when changing a Node's type, if applicable 2020-05-19 10:42:15 -03:00
Dominik 'dreamsComeTrue' Jasiński 7f5c81c32f Replace 'add_child_below_node' with 'add_sibling' in Node
Fixes: #19642
2020-05-15 22:02:00 +02:00
Rémi Verschelde 0ee0fa42e6 Style: Enforce braces around if blocks and loops
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14 21:57:34 +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
Rémi Verschelde 62bf8b4dd6
Merge pull request #38594 from Calinou/rename-clear-script-action
Rename the Clear Script editor action to Detach Script
2020-05-11 11:31:31 +02:00
Rémi Verschelde 69de7ce38c Style: clang-format: Disable AllowShortCaseLabelsOnASingleLine
Part of #33027.
2020-05-10 13:13:54 +02:00
Rémi Verschelde e956e80c1f Style: clang-format: Disable AllowShortIfStatementsOnASingleLine
Part of #33027, also discussed in #29848.

Enforcing the use of brackets even on single line statements would be
preferred, but `clang-format` doesn't have this functionality yet.
2020-05-10 13:12:16 +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
Dominik 'dreamsComeTrue' Jasiński 278259b433 Proper naming and ordering when Duplicate nodes
Fixes: #38162
2020-05-01 10:45:55 +02:00
Rémi Verschelde fdf58a5858 Rename InputFilter back to Input
It changed name as part of the DisplayServer and input refactoring
in #37317, with the rationale that input no longer goes through the
main loop, so the previous Input singleton now only does filtering.

But the gains in consistency are quite limited in the renaming, and
it breaks compatibility for all scripts and tutorials that access
the Input singleton via the scripting language. A temporary option
was suggested to keep the scripting singleton named `Input` even if
its type is `InputFilter`, but that adds inconsistency and breaks C#.

Fixes godotengine/godot-proposals#639.
Fixes #37319.
Fixes #37690.
2020-04-28 15:19:49 +02:00
Hugo Locurcio 79e4e26738
Require Ctrl for switching between editors, bind F2 to Rename Node
Switching between editors now requires holding Ctrl to avoid
conflicts with the new F2 shortcut.

The asset library can now be accessed by pressing Ctrl + F4
on Windows and Linux, or Alt + 4 on macOS.

This partially addresses #38139.
2020-04-25 15:48:08 +02:00
Michael Alexsander f1244ce944 Fix "Local" button not being pressed in the Scene dock on first run 2020-04-21 15:03:42 -03:00
Tomasz Chabora c1023157eb Remove Node.get_position_in_parent() 2020-04-06 01:19:20 +02:00
lupoDharkael 95a1400a2a Replace NULL with nullptr 2020-04-02 13:38:00 +02:00
Juan Linietsky a6f3bc7c69 Renaming of servers for coherency.
VisualServer -> RenderingServer
PhysicsServer -> PhysicsServer3D
Physics2DServer -> PhysicsServer2D
NavigationServer -> NavigationServer3D
Navigation2DServer -> NavigationServer2D

Also renamed corresponding files.
2020-03-27 15:21:27 -03:00
Rémi Verschelde d1acbbce7f Rename more 2D and 3D nodes to follow convention
Rename editor plugins to match the new node names.
2020-03-27 16:26:34 +01:00
Juan Linietsky eaae4b6408 Renamed 2D and 3D nodes to make their types explicit
Fixes #30736.
2020-03-27 14:54:04 +01:00
Juan Linietsky c7b4dcae2f Open sub-windows as embedded if the OS does not support them 2020-03-26 15:49:43 +01:00
Juan Linietsky 441f1a5fe9 Popups are now windows also (broken!) 2020-03-26 15:49:42 +01:00
Juan Linietsky 4758057f20 Working multiple window support, including editor 2020-03-26 15:49:40 +01:00
Juan Linietsky 8e6960a69e Refactored input, goes all via windows now.
Also renamed Input to InputFilter because all it does is filter events.
2020-03-26 15:49:39 +01:00
Juan Linietsky 9e08742de8 Added a Window node, and made it the scene root.
Still a lot of work to do.
2020-03-26 15:49:38 +01:00
Juan Linietsky f8a79a97c7 Effective DisplayServer separation, rename X11 -> LinuxBSD 2020-03-26 15:49:34 +01:00
Juan Linietsky 4396e98834 Refactored Input, create DisplayServer and DisplayServerX11 2020-03-26 15:49:32 +01: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 48ed841dd0 Signals: Fix some regressions from #36426
- Fix `callable_mp` bindings to methods which used to have default
  arguments passed to `bind_method`. We now have to re-specify them
  manually when connecting.
- Re-add `GroupsEditor::update_tree` binding.
- Misc code quality changes along the way.
2020-03-03 11:44:06 +01:00
Mateo Dev .59 b8f08b42e7 Signals: Fix signals error prints for the new signal system 2020-02-28 14:24:09 +01:00
Rémi Verschelde f742dabafe Signals: Manually port most of remaining connect_compat uses
It's tedious work...

Some can't be ported as they depend on private or protected methods
of different classes, which is not supported by callable_mp (even if
it's a class inherited by the current one).
2020-02-28 14:24:09 +01:00
Rémi Verschelde 01afc442c7 Signals: Port connect calls to use callable_mp
Remove now unnecessary bindings of signal callbacks in the public API.
There might be some false positives that need rebinding if they were
meant to be public.

No regular expressions were harmed in the making of this commit.
(Nah, just kidding.)
2020-02-28 14:24:09 +01:00
Fabio Alessandrelli cbc450c0e5 Huge Debugger/EditorDebugger refactor. 2020-02-21 11:12:03 +01:00
Juan Linietsky 69c95f4b4c Reworked signal connection system, added support for Callable and Signal objects and made them default. 2020-02-20 08:24:50 +01:00
follower 3cccbdf995
Fix typo/spelling: "exisiting" -> "existing"
Specifically: "exisiting_script_removable" -> "existing_script_removable"
2020-02-18 03:10:45 +13:00
Juan Linietsky 867d073b98 Changed logic and optimized ObjectID in ObjectDB and Variant, removed RefPtr. 2020-02-15 08:36:04 -03:00
Juan Linietsky 3f335ce3d4 Texture refactor
-Texture renamed to Texture2D
-TextureLayered as base now inherits 2Darray, cubemap and cubemap array
-Removed all references to flags in textures (they will go in the shader)
-Texture3D gone for now (will come back later done properly)
-Create base rasterizer for RenderDevice, RasterizerRD
2020-02-11 11:53:26 +01:00
Marcel Admiraal 5af3b4ca27 Remove duplicate ERR_PRINT macro. 2020-02-05 11:13:24 +01:00
volzhs f20b3ff503 Fix error when closing Attach Node Script window 2020-01-02 12:31:31 +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
Haoyu Qiu 078c0d75f2 Cleans up headers included in editor_node.h 2019-12-24 21:46:05 +08:00
Shivansh Anand 9fee540e6e fixes #33439. The feature now changes according to the feature profile. 2019-11-11 01:13:56 +05:30
Tomasz Chabora 4ed2abb0bf Another scene tree dock menu cleanup 2019-11-04 16:45:16 +01:00
Edi Cikovic d14d57120d Fix Batch Rename not opening 2019-11-01 13:03:57 +01:00
Anubhab Ghosh 4972ef801a Add clear menu entries for extending and replacing scripts 2019-10-23 01:57:17 +05:30
Bojidar Marinov cfc779ccf0
Fix "Make Scene Root" deleting previous root whenever focusing another scene
Hopefully fixes #24484 and fixes #27222.
2019-09-28 15:29:09 +03:00
Rémi Verschelde 8868fd2d28
Merge pull request #31971 from aole/placeholder-confirmation-dialog-for-editable-children
Placeholder confirmation dialog for editable children
2019-09-27 22:02:15 +02:00
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
Rémi Verschelde de03ee94cc
Merge pull request #32296 from BenjaminRiley/save-original-scene-after-save-as-branch
'Save Branch as Scene' also saves original scene
2019-09-25 10:07:39 +02:00
Benjamin Riley 2115bced93 'Save Branch as Scene' adds to undo history
When saving a branch as a scene, can now undo replacing the original branch with the new branch scene. 'Save Branch as Scene' previously would not mark the original scene as changed, and therefore no prompt would appear if the scene was closed immediately after saving the branch.

The new branch scene is not deleted when undo-ing.
2019-09-25 17:08:08 +10:00
Rémi Verschelde 2f52d73c21
Merge pull request #31925 from bojidar-bg/31855-overriden-properties-docs
Add overriden properties to the documentation
2019-09-24 11:53:43 +02:00
Tomasz Chabora 48ca6ec657 Perform reparent if position changes 2019-09-22 12:44:59 +02:00
Rémi Verschelde 769a9c521a
Merge pull request #32094 from Calinou/improve-delete-node-confirmation-2
Improve the node deletion confirmation message
2019-09-20 23:17:29 +02:00
Michael Alexsander Silva Dias e5d9c7dcb0 Fix some errors while reparenting nodes in the Scene dock 2019-09-14 21:07:55 -03:00
Hugo Locurcio fd1b5cc39f
Improve the node deletion confirmation message
- Add "the root node" in the beginning if the selected node
  is the current scene's root
- Add "and its children" at the end of the message if the node
  has at least one child and is not an instanced scene
2019-09-11 23:29:34 +02:00
Bojidar Marinov 6c4407bae4
Add overriden properties to the documentation
Fixes #31855
2019-09-04 15:21:40 +03:00
Hugo Locurcio 284548c4b7
Improve the node deletion confirmation message
The confirmation message now displays the number of nodes to delete,
or the node's name if only one node is selected.
2019-09-03 23:14:59 +02:00
thimenesup 79a4930501
Expose SceneTreeDock::get_tree_editor()
This can be useful for plugins that rely on some signals emitted by it, Like my Networked Scene Editor plugin https://github.com/thimenesup/GodotNetworkedSceneEditor
2019-08-20 18:06:21 +02:00
Braden Bodily 71d71d55b5 Replace 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG' in 'core/' and 'editor/'
Condensed some if and ERR statements. Added dots to end of error messages

Couldn't figure out EXPLAINC. These files gave me trouble: core/error_macros.h, core/io/file_access_buffered_fa.h (where is it?),
core/os/memory.cpp,
drivers/png/png_driver_common.cpp,
drivers/xaudio2/audio_driver_xaudio2.cpp (where is it?)
2019-08-17 12:33:15 +02:00
Tomasz Chabora 9fbba73dd5 Improve node Change Type option 2019-08-09 16:31:31 +02:00
qarmin aab8da25ad Fix some code found by Coverity Scan and PVS Studio 2019-07-23 09:14:31 +02:00
Rémi Verschelde 3aeca70659
Merge pull request #30697 from bojidar-bg/6067-pale-customtype-script
Make custom types more subtle and more useful
2019-07-20 11:49:52 +02:00
Bojidar Marinov 4f72178868
Make custom types more subtle and more useful
Implements #6067 (aaronfranke's idea)
Fixes #26980
2019-07-19 22:33:58 +03: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
hbina085 e9c1e5aa7c Fix crash when changing Node type
Prevent the application from crashing by simply checking if current "selection" is not null before accessing it.
Fixes #30493
2019-07-15 09:17:14 -04:00
Kanabenki 6eb6895db8 Sort selected nodes in scene tree before duplication 2019-07-06 14:51:24 +02:00
Rémi Verschelde a9ad1e6692
Merge pull request #30321 from KoBeWi/underdup
Smarter node placement after duplicating
2019-07-05 09:56:31 +02:00
Rémi Verschelde 26cff6ff92
Merge pull request #30316 from sparkart/master
Reparent selection without flattening
2019-07-05 09:56:06 +02:00