Commit graph

14928 commits

Author SHA1 Message Date
Rémi Verschelde
75255bd15c
Merge pull request #87250 from CookieBadger/animation-copy-paste-keyframe
Implement consistent functionality for select, copy, paste, and duplicate in AnimationPlayer
2024-02-12 13:33:57 +01:00
Rémi Verschelde
966a3ffbba
Merge pull request #86659 from MajorMcDoom/live-debug-local-transform
Improved synchronization of Transforms during live debug sessions
2024-02-12 13:33:35 +01:00
Rémi Verschelde
7b1525236a
Merge pull request #85367 from KoBeWi/elephant_in_the_editor
Fix custom type icon sizes in animation tracks
2024-02-12 13:33:27 +01:00
Rémi Verschelde
62fcc7e5d3
Merge pull request #78990 from RedMser/class-reference-keywords
Add search keywords to the class reference
2024-02-12 13:33:12 +01:00
Gilles Roudière
5a999d67ec Change TileMapEditor to TileMapLayerEditor 2024-02-12 10:11:45 +01:00
Micky
fbc584d4f2 Add color in built-in documentation for overridden properties 2024-02-11 17:30:54 +01:00
Michael Alexsander
cc52d7a281
Use highlighted version of the tab icon in the bottom file system dock 2024-02-11 00:09:59 -03:00
RedMser
a53793472e Only update inspector if configuration warning change relevant
Fixes #88176
2024-02-10 20:46:09 +01:00
Hugo Locurcio
7e25292205
Show update spinner by default in dev_build=yes editor builds
This ensures contributors can see when something forces the
editor to redraw constantly.

The existing boolean `true` value will be casted to `1` in the setting,
so it'll switch to Enabled automatically if the setting was previously
enabled.
2024-02-10 00:45:56 +01:00
RedMser
db798b29b2 Add keywords to the class reference
Allows for finding methods, properties, signals, constants,
theme items and annotations more easily.

- Allow "keywords" attribute in aforementioned locations
  in the class reference XMLs
- Extends doctool, to preserve these attributes
- Update the XSD schema for the class reference
- Update the RST generator to include a meta tag for class keywords
- Update the editor help to support filtering by keywords
2024-02-09 18:13:23 +01:00
Rémi Verschelde
27e575a4dd
Merge pull request #88124 from Rubonnek/fix-efs-scan-done-race
Fix data race against `EditorFileSystem.scanning_changes_done`
2024-02-09 18:09:18 +01:00
Rémi Verschelde
b457a30311
Merge pull request #87628 from YuriSizov/assets-bigger-better-errors
Improve error reporting in the asset library and in related types
2024-02-09 18:09:16 +01:00
Rémi Verschelde
d00dc8facf
Merge pull request #87371 from AThousandShips/size_err_check
Replace error checks against `size` with `is_empty`
2024-02-09 18:09:11 +01:00
Rémi Verschelde
d584ce0122
Merge pull request #80544 from MewPurPur/buff-editorspinslider-2
Fix read-only EditorSpinSlider display
2024-02-09 18:08:55 +01:00
Wilson E. Alvarez
9790b992ba
Fix data race against EditorFileSystem.scanning_changes_done 2024-02-09 07:48:01 -05:00
A Thousand Ships
684752e75b
Replace error checks against size with is_empty 2024-02-09 12:50:15 +01:00
Rémi Verschelde
a1e1002ba4
Merge pull request #88084 from ckaiser/feature/use_indeterminate_progressbar
Use indeterminate progressbars for editor downloads (export templates & assets)
2024-02-09 12:35:53 +01:00
Rémi Verschelde
77af6ca8ad
Merge pull request #87634 from vnen/gdscript-binary-tokens
GDScript: Reintroduce binary tokenization on export
2024-02-09 12:35:00 +01:00
Rémi Verschelde
1774c17b64
Merge pull request #87625 from YuriSizov/editor-lightweight-script-previews
Generate script resource preview without parsing
2024-02-09 12:34:36 +01:00
Rémi Verschelde
b1d135ccb9
Merge pull request #84396 from quirkylemon/hide-private-enums
Hide private enums from documentation
2024-02-09 12:13:34 +01:00
RedMser
bf37a9bac6 Allow configuration warnings to refer to a property
This is used by the inspector so it can show a warning icon on
a specific property.
2024-02-08 23:05:20 +01:00
George Marques
72e5f8c31e
GDScript: Enable compression on export
Besides the regular option to export GDScript as binary tokens, this
also includes a compression option on top of it. The binary format
needs to encode some information which generally makes it bigger than
the source text. This option reduces that difference by using Zstandard
compression on the buffer.
2024-02-08 11:20:07 -03:00
George Marques
b4d0a09f15
GDScript: Reintroduce binary tokenization on export
This adds back a function available in 3.x: exporting the GDScript
files in a binary form by converting the tokens recognized by the
tokenizer into a data format.

It is enabled by default on export but can be manually disabled. The
format helps with loading times since, the tokens are easily
reconstructed, and with hiding the source code, since recovering it
would require a specialized tool. Code comments are not stored in this
format.

The `--test` command can also include a `--use-binary-tokens` flag
which will run the GDScript tests with the binary format instead of the
regular source code by converting them in-memory before the test runs.
2024-02-08 11:20:05 -03:00
QuirkyLemon
a5a8f0a881 Hide private enums from documentation 2024-02-08 08:10:43 -06:00
Christian Kaiser
edcb581627 Use indeterminate progressbars for downloads (export templates & assets) 2024-02-08 11:08:11 -03:00
Rémi Verschelde
f8020d1364
Merge pull request #88026 from Calinou/editor-default-enable-add-type-hints
Enable Add Type Hints editor setting by default
2024-02-08 10:53:58 +01:00
Rémi Verschelde
4a30fe5e7c
Merge pull request #86564 from Giwayume/feature/canvas-item-shader-custom-data
Support CUSTOM shader attributes in 2D
2024-02-08 10:53:24 +01:00
Rémi Verschelde
163c00eb4d
Merge pull request #81655 from nlupugla/editor-interface-can-popup-dialogs
Expose `SceneTreeDialog` and `PropertySelector` via `EditorInterface`
2024-02-08 10:53:13 +01:00
Rémi Verschelde
0ebda8e0f4
Merge pull request #65753 from KoBeWi/run_1000000_instances
Add a dialog to customize run instances
2024-02-08 10:53:06 +01:00
Rémi Verschelde
b98c2f23da
Merge pull request #48364 from Calinou/add-vsync-editor-setting
Add a V-Sync editor setting
2024-02-08 10:52:59 +01:00
Rémi Verschelde
eac2091345
Merge pull request #87923 from smix8/meshlib_export_recursive
Make MeshLibrary export do recursive depth-search for MeshInstance3D nodes
2024-02-07 11:00:55 +01:00
Rémi Verschelde
bc9acde764
Merge pull request #87781 from aaronfranke/fix-crash-mesh-root
Fix crash when previewing a scene with a mesh as the root node
2024-02-07 10:58:52 +01:00
Hugo Locurcio
345f09d125
Enable Add Type Hints editor setting by default
Now that GDScript type hints improve performance since Godot 4.0
and the community is increasingly getting used to typed GDScript,
it makes sense to add type hints by default.

Official demos will also be moving to type hints at some point
in the future, further increasing the relevance of enabling type
hints out of the box.
2024-02-06 19:41:26 +01:00
emild
a5cb760d90 implement consistent select, copy, paste, duplicate in animation player 2024-02-06 18:57:10 +01:00
Hugo Locurcio
6f9586443a
Add a V-Sync editor setting
The editor setting makes it possible to tweak V-Sync status
independently of the project setting.

Use cases:

- Decrease input lag and increase editor responsiveness when editing
  a project that has V-Sync enabled.
- Avoid tearing when editing a project that has V-Sync disabled.
2024-02-05 22:14:20 +01:00
Robert Yevdokimov
433c22fb6f Show modifier key functionality on all the editor tools 2024-02-05 15:20:27 -05:00
HolonProduction
46197cec74 Update completion menu even if no options exist 2024-02-05 20:22:04 +01:00
kobewi
5ab9e50461 Add a dialog to customize run instances 2024-02-05 19:07:31 +01:00
kobewi
808f4e8cb9 Check if history exists before discarding 2024-02-05 17:42:37 +01:00
Rémi Verschelde
710c56e6b1
Merge pull request #87948 from ryevdokimov/always-default-to-region-select
Fix new region select with selection when over geometry
2024-02-05 14:54:10 +01:00
Rémi Verschelde
64cee8a99f
Merge pull request #87922 from ryevdokimov/all-tools-can-select-regression-2
Fix a regression when multiple nodes are selected and drag transform is attempted w/o gizmo
2024-02-05 14:51:48 +01:00
Rémi Verschelde
45e9d20d60
Merge pull request #87834 from TokageItLab/remove-dupecall-scene-tree-dock
Remove duplicated callings `set()` from SceneTreeDock
2024-02-05 14:50:09 +01:00
Rémi Verschelde
474d9b7e2e
Merge pull request #87771 from jsjtxietian/region-mismatch
Fix `TextureRegionEditor::_pan_callback` deferred called with only one argument
2024-02-05 14:49:45 +01:00
Rémi Verschelde
07655a0e11
Merge pull request #87623 from Calinou/editor-scene-drag-and-drop-tweak-modifier
Change scene drag-and-drop modifier behavior in the 2D and 3D editors
2024-02-05 14:49:21 +01:00
Rémi Verschelde
e096be85c4
Merge pull request #87125 from ryevdokimov/fix-removing-preview-nodes-on-ui-cancel
Clear drag preview nodes on `NOTIFICATION_DRAG_END`
2024-02-05 14:48:56 +01:00
Robert Yevdokimov
6718a9e4cf Fix bug that translates node during region select over geometry by always defaulting to region select 2024-02-04 13:34:18 -05:00
jsjtxietian
d06c526fb0 Fix TextureRegionEditor::_pan_callback deferred called with only one arg 2024-02-04 12:10:05 +08:00
smix8
4d0c21c131 Make MeshLibrary export do recursive depth-search for MeshInstance3D nodes
Makes MeshLibrary export do recursive depth-search for MeshInstance3D nodes.
2024-02-04 04:00:38 +01:00
Robert Yevdokimov
677bd9783a Fix a regression when multiple nodes are selected. and drag transform is attempted w/o gizmo 2024-02-03 21:45:08 -05:00
Robert Yevdokimov
7a2c386e28 Clear drag preview nodes on NOTIFICATION_DRAG_END 2024-02-03 18:50:33 -05:00
Rémi Verschelde
b4e2a24c1f
Merge pull request #87915 from dalexeev/editor-fix-parse-category-for-custom-categories
Editor: Fix `_parse_category()` is not called for custom categories
2024-02-03 23:23:21 +01:00
Rémi Verschelde
f69aa5e649
Merge pull request #87887 from jtakakura/fix-unintentional-translation-in-animation-tree
Fix unintentional translations in AnimationTree
2024-02-03 23:21:24 +01:00
Rémi Verschelde
607a3b2409
Merge pull request #87631 from ryevdokimov/decouple-message-from-framerate
Make viewport message dependent on framerate not physics step
2024-02-03 23:19:50 +01:00
Rémi Verschelde
0465027878
Merge pull request #87419 from KoBeWi/very_important_i
Fix shortcut name consistency in SceneTreeDock
2024-02-03 23:18:59 +01:00
Danil Alexeev
547f03b6d7
Editor: Fix _parse_category() is not called for custom categories 2024-02-03 23:54:32 +03:00
Robert Yevdokimov
88b1103b44 Do not use physics process for 2D editor 2024-02-02 21:50:56 -05:00
Junji Takakura
dcf4d82fb5 Fix unintentional translations in AnimationTree 2024-02-03 10:49:04 +09:00
Silc Lizard (Tokage) Renew
87ab959ae0 Remove duplicated set() methods from SceneTreeDock 2024-02-03 10:01:27 +09:00
viksl
93334eb6d0 Select nodes on drag and drop in 3D viewport 2024-02-02 23:03:21 +01:00
Robert Yevdokimov
17e9fd06ce Make viewport message dependent on framerate not physics step 2024-02-02 14:47:30 -05:00
Robbie Cooper
30914c0434 Fix bounding boxes
Each time an AABB is rotated, it gets bigger. That means opposite rotations don't cancel out.

The previous implementation repeatedly rotates children AABBs as it climbs up the tree. This often resulted in selection boxes looking bigger than their contents.

This implementation calculates and applies a single final transformation to each AABB before it is merged with the others. After merging, there are no additional rotations, so AABBs remain accurate.

Co-Authored-By: Robert Yevdokimov <105675984+ryevdokimov@users.noreply.github.com>
2024-02-02 07:59:47 -05:00
Rémi Verschelde
7f5079f7c8
Merge pull request #87757 from hakro/vampire-origins
Do not reflect the origin lines in a mirror
2024-02-02 12:03:35 +01:00
Rémi Verschelde
8fc2407085
Merge pull request #86654 from ryevdokimov/fix-listening-for-input-escape
Prevent escape key from closing Editor Settings window when filtering for shortcuts
2024-02-02 12:01:52 +01:00
Rémi Verschelde
e0eccaeb60
i18n: Sync translations with Weblate
Still tracking 4.2 translations for now.

(cherry picked from commit 991454b8bd)
2024-02-02 11:38:01 +01:00
kobewi
a2c2caa2f4 Fix shortcut name consistency in SceneTreeDock 2024-02-01 22:40:23 +01:00
Aaron Franke
d1de00a2c8
Fix crash when previewing a scene with a mesh as the root node 2024-01-31 06:26:24 -06:00
kobewi
e86750dcaa Fetch theme editor items from ThemeDB 2024-01-31 13:17:11 +01:00
Rémi Verschelde
a3d50f7714
Merge pull request #87769 from ryevdokimov/fix-all-tools-can-select-regression
Fix a regression that breaks gizmo transforming when 'View Gizmos' is off
2024-01-31 10:56:30 +01:00
Rémi Verschelde
3939a881f0
Merge pull request #87755 from KoBeWi/tidy_for_no_reason
Some editor code cleanup
2024-01-31 10:55:43 +01:00
bruvzg
32939f82f1
Fix script editor undo shortcut with global menu enabled. 2024-01-31 07:48:58 +02:00
Robert Yevdokimov
87d97fe7d8 Fix a regression in #86804 that breaks gizmos transforming when 'View Gizmos' is off 2024-01-30 22:31:52 -05:00
Hugo Locurcio
d3963a979b
Tweak Help menu icons for better visibility of commonly used items
External links no longer have an icon, so that commonly used items
such as Copy System Info are more immediately visible.
2024-01-31 01:22:09 +01:00
Hugo Locurcio
253ad63005
Clarify the FOV setting in the 3D editor camera is vertical FOV 2024-01-31 01:20:21 +01:00
Hakim
59c75b074a Do not reflect the origin lines in a mirror 2024-01-30 22:57:02 +01:00
kobewi
4ad74a5663 Some editor code cleanup 2024-01-30 21:33:31 +01:00
Rémi Verschelde
0cce6eb150
Merge pull request #87443 from YuriSizov/pms-hotter-younger-cousin
Improve layout and UX of the project manager
2024-01-30 19:10:46 +01:00
Yuri Sizov
f923b58f88 Correctly handle failures to open a project 2024-01-30 17:52:31 +01:00
Yuri Sizov
28e8a4c0ee Replace empty list dialog with an integrated panel 2024-01-30 17:52:25 +01:00
Yuri Sizov
068c0d2699 Implement a quick settings dialog for the project manager
Currently it allows to adjust language, theme preset,
UI scaling, and network mode.
Project manager has been updated to support
dynamic theme updates.
2024-01-30 17:52:19 +01:00
Yuri Sizov
4d97c33503 Add a network mode setting to bring the editor offline
This PR also adds default font styles for RichTextLabels
in the editor, and improves the introduction dialog
when you don't have any local projects available.

The offline mode is implemented in the asset library
plugin, alongside some code improvements.
2024-01-30 17:52:08 +01:00
Yuri Sizov
bac037b1e0 Improve the project manager UI 2024-01-30 17:52:01 +01:00
Yuri Sizov
7496f99060 Create a MainScreenButton theme variation
This turns custom font theme properties into a proper
variation, which makes applying it simpler.
2024-01-30 17:35:46 +01:00
Riteo
7e0f7d3abd Add Wayland support
Not everything is yet implemented, either for Godot or personal
limitations (I don't have all hardware in the world). A brief list of
the most important issues follows:

- Single-window only: the `DisplayServer` API doesn't expose enough
information for properly creating XDG shell windows.

- Very dumb rendering loop: this is very complicated, just know that
the low consumption mode is forced to 2000 Hz and some clever hacks are
in place to overcome a specific Wayland limitation. This will be
improved to the extent possible both downstream and upstream.

- Features to implement yet: IME, touch input, native file dialog,
drawing tablet (commented out due to a refactor), screen recording.

- Mouse passthrough can't be implement through a poly API, we need a
rect-based one.

- The cursor doesn't yet support fractional scaling.

- Auto scale is rounded up when using fractional scaling as we don't
have a per-window scale query API (basically we need
`DisplayServer::window_get_scale`).

- Building with `x11=no wayland=yes opengl=yes openxr=yes` fails.

This also adds a new project property and editor setting for selecting the
default DisplayServer to start, to allow this backend to start first in
exported projects (X11 is still the default for now). The editor setting
always overrides the project setting.

Special thanks to Drew Devault, toger5, Sebastian Krzyszkowiak, Leandro
Benedet Garcia, Subhransu, Yury Zhuravlev and Mara Huldra.
2024-01-30 16:44:47 +01:00
Robert Yevdokimov
bacdc6ae91 Maintain editor properties vector ratio when set to 0 2024-01-30 08:59:44 -05:00
Rémi Verschelde
9ab5cedef6
Merge pull request #87712 from akien-mga/revert-gdscript-uid-annotations-for-now
Revert "Add UID support to GDScript files" (for now)
2024-01-29 21:34:59 +01:00
Rémi Verschelde
1d3722a6aa
Merge pull request #87170 from AThousandShips/run_fix
Fix reloading current scene forgetting path
2024-01-29 21:33:26 +01:00
Rémi Verschelde
6a47a53273
Merge pull request #86765 from reduz/filesystem-to-bottom
Allow to move FileSystem dock to bottom and drag resources across bottom docks
2024-01-29 21:32:35 +01:00
Rémi Verschelde
6c2f412cc7
Merge pull request #84760 from KoBeWi/ultimate_get_property_list_reloaded
Fetch override list from ThemeDB
2024-01-29 21:32:10 +01:00
kit
a6af442b05 Apply TextEdit IME on most actions 2024-01-29 15:07:19 -05:00
Rémi Verschelde
745f8e112f
Revert "Add UID support to GDScript files"
This reverts commit c7f68a27ec.

We still think GDScript files need UIDs to allow safe refactoring,
but we're still debating what form those should take exactly.

So far there seems to be agreement that it shouldn't be done via an
annotation as implemented here, so we're reverting this one for now,
to revisit the feature in a future PR.
2024-01-29 21:00:26 +01:00
kobewi
7d6ded2027 Fetch override list from ThemeDB 2024-01-29 16:41:57 +01:00
Juan Linietsky
000367893a Ability to move FileSystem dock to bottom
* Allows moving the filesystem dock to the bottom
* Added ability to drag resources across bottom docks
2024-01-29 15:15:38 +01:00
Hugo Locurcio
085629a7c9
Extend minimum/maximum zoom level of TextureRegion editor
This also applies a similar change to the SpriteFrames editor.
2024-01-29 14:58:40 +01:00
Rémi Verschelde
fa48a51183
Merge pull request #87688 from AThousandShips/what_is_this
Remove unnecessary `this->` expressions
2024-01-29 13:18:09 +01:00
Rémi Verschelde
75d2cf3075
Merge pull request #87616 from ryevdokimov/cancel-transformation-2d
Add cancel transformation shortcut to 2D to match 3D
2024-01-29 13:17:33 +01:00
Rémi Verschelde
ef9cb3dfa5
Merge pull request #87535 from Mickeon/scene-tree-configuration-warnings-cleanup
Improve appearance of Node configuration warnings
2024-01-29 13:17:17 +01:00
Rémi Verschelde
061c776228
Merge pull request #87381 from YuriSizov/core-sneaky-properties
Better hide internal properties from users
2024-01-29 13:16:55 +01:00
Rémi Verschelde
8febe50797
Merge pull request #85448 from mxaddict/master
Update `blender_path` behavior to require exact path to executable instead of trying to guess it
2024-01-29 13:16:05 +01:00
Rémi Verschelde
0796d08b8f
Merge pull request #84515 from Calinou/editor-multi-window-unavailable-disable-buttons
Disable multi-window buttons instead of hiding them when support is unavailable
2024-01-29 13:16:01 +01:00
Rémi Verschelde
07d290e67e
Merge pull request #83747 from Riteo/gdext-doc
GDExtension: Add an interface for loading extra documentation
2024-01-29 13:15:57 +01:00
Rémi Verschelde
e2c5d2fada
Merge pull request #82113 from nongvantinh/fix-50163
Allow Editor to reload external changes of scripts
2024-01-29 13:15:53 +01:00
Rémi Verschelde
f220d46cdc
Merge pull request #80231 from romlok/input-key-location
Support detecting and mapping ctrl/alt/shift/meta by their left/right physical location
2024-01-29 13:15:42 +01:00
Yuri Sizov
d644b9b640 Better hide internal properties from users 2024-01-29 12:35:10 +01:00
A Thousand Ships
15369fdb1d
Remove unnecessary this-> expressions 2024-01-29 09:59:18 +01:00
jsjtxietian
650b9d62e4 Fix editor will freeze when modifying filesystem filter path in Split Mode 2024-01-29 11:04:06 +08:00
baptr
90a5f23e79 Fix editor profiler script function sort order
The engine internally limits the number of functions reported back (to
16 by default). To this point, it's been sort the profiling info in
*ascending* order of time spent, then trimming the list. This meant
we may only see the best (fastest) functions, instead of the worst
that you probably want when profiling.

Now the servers_debugger sort more closely matches the local_debugger
one, which worked fine.
2024-01-27 17:12:27 -08:00
Hugo Locurcio
04a930d9a6
Disable multi-window buttons instead of hiding them when support is unavailable
This is more explicit as for why this functionality isn't available
depending on editor settings and current platform.

This also exposes a `EditorInterface.is_multi_window_enabled()` method
so that editor plugins can easily query whether the editor is able and
expected to create multiple windows.
2024-01-27 19:38:39 +01:00
Micky
3e4e0f08c4 Improve appearance of Node configuration warnings 2024-01-27 13:03:07 +01:00
Yuri Sizov
815038962f Improve error reporting in the asset library and in related types
This also makes errors related to asset image loading
verbose-only, because, frankly, users can't do much about
those errors. Spamming them with error messages
about some assets on the frontend being broken
is pointless.
2024-01-26 20:33:22 +01:00
Yuri Sizov
9c919ea285 Generate script resource preview without parsing 2024-01-26 19:04:10 +01:00
Yuri Sizov
c848bfc1bb Benchmark resource preview generator with a verbose print 2024-01-26 18:55:45 +01:00
Hugo Locurcio
341ca31be8
Change scene drag-and-drop modifier behavior in the 2D and 3D editors
Behavior is now consistent across 2D and 3D editors.

- By default, drag-and-dropping adds the scene as a child of the selected
  node. Hold Alt when releasing the mouse to add the scene as a child
  of the root node, or Shift to add the scene as a sibling of the selected
  node.
- To choose a different node type in the 2D editor when drag-and-dropping
  a texture resource, hold Alt + Shift (instead of just Alt).
- If multiple nodes are selected, only the first one is taken into account.
  This was previously the behavior in 2D, but not in 3D (an error dialog
  appeared instead). This makes the UI more forgiving.
2024-01-26 18:05:58 +01:00
mxaddict
ad106a283b Update blender_path behavior to require exact path to executable instead of trying to guess it 2024-01-27 00:41:53 +08:00
Nông Văn Tình
c051c44df9 Allow Editor to reload external changes of scripts 2024-01-26 21:05:36 +07:00
Mel Collins
8406e60522 Add InputEventKey.location to tell left from right
This adds a new enum `KeyLocation` and associated property
`InputEventKey.location`, which indicates the left/right location of key
events which may come from one of two physical keys, eg. Shift, Ctrl.

It also adds simulation of missing Shift KEYUP events for Windows.
When multiple Shifts are held down at the same time, Windows natively
only sends a KEYUP for the last one to be released.
2024-01-26 14:42:28 +01:00
Robert Yevdokimov
d9057c8b56 Add cancel transformation shortcut to 2D 2024-01-26 08:30:13 -05:00
Riteo
f468e59efd GDExtension: add an interface for loading extra documentation
Adds two new GDExtension interface methods:
 - `editor_help_load_xml_from_utf8_chars`
 - `editor_help_load_xml_from_utf8_chars_and_len`

Both of these methods parse the XML passed into an extra documentation
container which, when needed, is merged into the main doc container.

Co-Authored-By: Rémi Verschelde <rverschelde@gmail.com>
2024-01-26 13:53:33 +01:00
Rémi Verschelde
c26a338430
Merge pull request #87356 from jsjtxietian/connection-error
Check if the ref shader is valid in visual shader's `_update_option_menu`
2024-01-26 11:44:13 +01:00
jsjtxietian
ff089f8cea Check is the ref shader valid in visual shader's update_option_menu 2024-01-25 11:54:23 +08:00
Yuri Sizov
07132860dc Remove incorrect C# rename from the project converter 2024-01-24 16:36:11 +01:00
Yuri Sizov
10945f752c Merge pull request #87510 from adamscott/make-text-editor-consistent-with-script-editor
Make the text editor consistent with the script editor
2024-01-24 14:08:57 +01:00
Yuri Sizov
a32a2eaedc Merge pull request #87417 from AThousandShips/tree_clear
Use callable for `TreeItem` custom draw
2024-01-24 14:08:36 +01:00
Yuri Sizov
adcfe3d1a0 Merge pull request #87252 from ajreckof/Fix-renaming-a-node-to-the-name-of-its-siblings-breaking-NodePath
Fix renaming a node to the name of its siblings breaking NodePath
2024-01-24 14:08:20 +01:00
Yuri Sizov
6d2a827f73 Merge pull request #79374 from raulsntos/ignore-directories-in-tpz
Ignore directory entries in TPZ
2024-01-24 14:07:30 +01:00
Giwayume
bb83c4adec Add custom shader attributes to Canvas Item Shaders 2024-01-23 14:36:39 -05:00
Adam Scott
12c84836b7
Make the text editor consistent with the script editor 2024-01-23 11:27:00 -05:00
A Thousand Ships
257d03681c
Use callable for TreeItem custom draw
Deprecating old functionality
2024-01-23 12:07:43 +01:00
Yuri Sizov
6fea273ed3 Merge pull request #87476 from AThousandShips/search_fix
Fix selection regression in `EditorHelpSearch`
2024-01-22 20:39:40 +01:00
Yuri Sizov
b5f033476c Merge pull request #87470 from AThousandShips/tile_thread_fix
[Editor] Fix threading problems with `TileMap` preview
2024-01-22 20:39:32 +01:00
Yuri Sizov
8f51117445 Merge pull request #87343 from ryevdokimov/fix-2d-top-level-2
Update the viewport if CanvasItem top level is changed
2024-01-22 20:39:11 +01:00
Yuri Sizov
3755b7286c Merge pull request #87332 from AThousandShips/scene_saved
[Editor] Add `EditorPlugin::scene_saved` signal
2024-01-22 20:39:07 +01:00
Yuri Sizov
bbfad3d7a5 Merge pull request #87200 from passivestar/dock-shortcuts
Add support for search shortcut to all docks
2024-01-22 20:38:59 +01:00
Yuri Sizov
feb1157276 Merge pull request #83510 from Geometror/vs-connection-ops
Add connection related functionality to VisualShader (deleting, dropping/inserting a node)
2024-01-22 20:38:30 +01:00
passivestar
97a77c5193 Add support for search shortcut to all docks 2024-01-22 22:37:59 +04:00
Robert Yevdokimov
3bed6b1cb0 Update the viewport if CanvasItem top level is changed 2024-01-22 13:10:54 -05:00
A Thousand Ships
97b469c46d
[Editor] Add EditorPlugin::scene_saved signal
Matches the `EditorNode` one for parity with the exposed
`resource_saved` signal
2024-01-22 17:51:12 +01:00
A Thousand Ships
3b7b484300
Fix selection regression in EditorHelpSearch 2024-01-22 17:06:42 +01:00
A Thousand Ships
dbcd82ba67
[Editor] Fix threading problems with TileMap preview 2024-01-22 13:44:36 +01:00
nlupugla
558c2763e7 EditorInterface can popup SceneTreeDialog and PropertySelector. 2024-01-19 14:16:29 -05:00
Hendrik Brucker
f59419bfe0 Add connection-related VisualShader operations
- Insert a node in a connection
- Drop an unconnected node on a connection to insert it
- Delete a connection
2024-01-19 11:38:59 +01:00
Rémi Verschelde
bf5b877636
Merge pull request #87345 from ryevdokimov/removed-unused-prev-rot-variable
Remove unused `prev_rot` variable
2024-01-19 10:19:29 +01:00
Yuri Sizov
66b0bd9203 Merge pull request #86158 from Geometror/ge-connection-rework
Rework `GraphEdit` connections (drawing, API, optimizations)
2024-01-18 19:26:56 +01:00
Yuri Sizov
de95a3effe Merge pull request #85117 from BastiaanOlij/openxr_runtime_select
OpenXR: Add runtime selection dropdown
2024-01-18 19:26:52 +01:00
Robert Yevdokimov
ecc8493e17 Remove unused prev_rot variable 2024-01-18 11:24:22 -05:00
Hendrik Brucker
9d7c2978f4 Rework GraphEdit connections (drawing, API, optimizations)
- GraphEdit now uses Line2D nodes to draw connection lines and uses a dedicated canvas item shader for them
2024-01-18 16:53:15 +01:00
Rémi Verschelde
33f3511241
Merge pull request #87293 from YuriSizov/editor-theme-a-rehashed-follow-up
Improve editor theme generation after the refactor
2024-01-18 16:34:50 +01:00
Rémi Verschelde
f3fd668a02
Merge pull request #87266 from YuriSizov/pm-gets-a-chris-hemsworth-treatment
Reorganize project manager code
2024-01-18 16:34:26 +01:00
Rémi Verschelde
d3003c48b3
Merge pull request #67132 from KoBeWi/This_commit_message_is_auto-generated._Do_not_modify_it-
Add UID support to GDScript files
2024-01-18 16:33:14 +01:00
Bastiaan Olij
afd1dcf1b1 OpenXR: Add runtime selection dropdown 2024-01-18 15:59:22 +01:00
Rémi Verschelde
fa81059b9d
Merge pull request #85939 from adamscott/single-threaded-godot-4
Add `THREADS_ENABLED` macro in order to compile Godot to run on the main thread
2024-01-18 09:33:52 +01:00
kobewi
c7f68a27ec Add UID support to GDScript files 2024-01-17 22:30:56 +01:00
Adam Scott
bd70b8e1f6
Add THREADS_ENABLED macro in order to compile Godot to run on the main thread 2024-01-17 13:58:29 -05:00
Yuri Sizov
e61cae06c6 Merge pull request #87280 from KoBeWi/all_paths_lead_to_Resource
Display path in tooltips of sub-resource list
2024-01-17 18:53:29 +01:00
Yuri Sizov
788aab3a96 Merge pull request #87115 from groud/tilemap_layers_as_nodes
Make TileMapLayers extend Node2D and work as children of TileMap
2024-01-17 18:53:12 +01:00
Yuri Sizov
c027aecc2e Merge pull request #86676 from rune-scape/sparse-script-reload
GDScript: Hot-reload changed scripts only
2024-01-17 18:52:54 +01:00
Yuri Sizov
d92d8a49aa Merge pull request #86064 from jsjtxietian/fix-sort-by-type
Fix "Class name cannot be empty" error when sorting no import files sort by type
2024-01-17 18:52:35 +01:00
Yuri Sizov
a0fec566ef Merge pull request #82821 from Madalaski/connections_delete_key
Allow to remove signal connections using `Delete`
2024-01-17 18:52:22 +01:00
Gilles Roudière
48bed5050b Make TileMapLayers extend Node2D and work as children of TileMap 2024-01-17 16:05:50 +01:00
Yuri Sizov
45eedba1fa Improve editor theme generation after the refactor 2024-01-17 15:16:53 +01:00
Madalaski
3b9fc45f8c Fixing a usability issue where the DEL key does not delete connections 2024-01-17 00:51:43 +00:00
kobewi
60e88f2def Display path in tooltips of sub-resource list 2024-01-16 23:51:57 +01:00
Yuri Sizov
691450bc08 Reorganize project manager code
- Extract individual components to their own files.
- Improve order of declarations and definitions within those files.
- ProjectDialog is only extracted as there are upcoming
PRs touching on it.
2024-01-16 19:57:36 +01:00
BlueCube3310
cd87916d98 Fix Scene Importer crashing when mesh or animation save paths are invalid 2024-01-16 17:42:11 +01:00
A Thousand Ships
2920a875dc
Cache TreeItems between runs in EditorHelpSearch 2024-01-16 16:50:45 +01:00
ajreckof
2f697926b0 Fix renaming a node to the name of its siblings breaking NodePath
Also fix cases where node name was not visually updated because name was not changed

Co-Authored-By: Nông Văn Tình <53887662+nongvantinh@users.noreply.github.com>
2024-01-16 15:18:30 +01:00
A Thousand Ships
dc86483e3a
Add inheriting classes to DocTools 2024-01-16 14:42:36 +01:00
Yuri Sizov
dc3b07e551 Introduce editor theme spacing presets
This change adds a new editor setting related to theming
which controls base and additional spacing used in the
generated editor theme. These values can also be changed
manually by the user to customize their experience.

Limited effort was applied to make sure both Compact and
Spacious presets work and look fine, but further tuning
and adjustments are totally expected. Some controls will
require layout changes or additional fixes to their constants.
2024-01-16 11:57:45 +01:00
Yuri Sizov
635b8a1474 Split theme generation logic into several subroutines
This change introduces a new theme configuration struct to be
passed to the aforementioned routines to better control reuse
of styles and definitions in the generator.

Everything not passed and not explicitly shared is scoped so it
is not automatically accessible throughout the routine. This
should ensure that the decision to share styles is a conscious one.

In the future we will try to reduce the number of unique definitions
and share most of it. This PR is a stepping stone on this path.

This also puts the effort into separating redefinitions of
default theme items vs custom types introduced only by the editor.
In a few cases where editor-specific definitions need to reference
default definitions we simply fetch them from the theme. It's not
ideal and hides the dependency a bit, but hopefully these cases
will be abstracted properly in due time.
2024-01-16 11:57:45 +01:00
Yuri Sizov
95b27fe8c7 Reorganize code related to editor theming
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.

Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.

All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
2024-01-16 11:57:45 +01:00
Rémi Verschelde
6bb89c71ff
Merge pull request #87229 from RandomShaper/gl_preview_goodboy
Run resource previewer on the main thread if using GL compatibility
2024-01-16 10:39:37 +01:00
Rémi Verschelde
a69e23b23b
Merge pull request #87216 from Calinou/editor-print-rich-handle-meta
Handle clickable `[url]` tags in `print_rich()` editor output log
2024-01-16 10:38:26 +01:00
Rémi Verschelde
db7175458a
Merge pull request #87143 from ajreckof/fix-icon-corrupted-on-nested-arrays
Fix icon corrupted when nested array editors are opened before opening main array editor.
2024-01-16 10:36:01 +01:00
Rémi Verschelde
039379d272
Merge pull request #84193 from kitbdev/dock-manager-extract
Extract `EditorDockManager` from `EditorNode`
2024-01-16 10:35:11 +01:00
Pedro J. Estébanez
e5454cd660 Run resource previewer on the main thread if using GL compatibility 2024-01-16 10:01:41 +01:00
kit
2323f040e9 Extract editor dock manager 2024-01-15 15:15:42 -05:00
Hugo Locurcio
4a11d48420
Handle clickable [url] tags in print_rich() editor output log
Since this uses `OS.shell_open()`, this allows the use of any standard URL
including `file://` paths, `mailto:`, custom protocols set up by the user, etc.
2024-01-15 14:54:13 +01:00
Rémi Verschelde
9e65c5c0f4
Merge pull request #87183 from hakro/where-is-my-tooltip
Add tooltips to the export buttons
2024-01-15 13:31:29 +01:00
Rémi Verschelde
fe76b61743
Merge pull request #87160 from kleonc/tilemap-fix-debug-drawing-truncations-to-ints
Fix some `TileMap` debug drawing truncating to ints
2024-01-15 13:31:04 +01:00
Rémi Verschelde
85a918d5a2
Merge pull request #87121 from jsjtxietian/fix-thumbnail-disappear
Fix thumbnail disappears if FileSystemDock is floated
2024-01-15 13:30:40 +01:00
Rémi Verschelde
73ca286df2
Merge pull request #87108 from YuriSizov/editor-capitalize-oidn
Capitalize OIDN in editor settings and properties
2024-01-15 13:29:51 +01:00
Rémi Verschelde
a2d61a9ac4
Merge pull request #86979 from alessandrofama/editor-resource-picker-icons
Fix missing icons for custom resources in EditorResourcePicker
2024-01-15 13:26:14 +01:00
Rémi Verschelde
fa3477f2be
Merge pull request #86878 from YeldhamDev/tabcontainer_pot_generation
Parse the names of children of `TabContainer`s on POT generation
2024-01-15 13:25:49 +01:00
Rémi Verschelde
03767fbf3b
Merge pull request #86446 from reduz/transient-to-focused
Implement a `transient_to_focused` Window mode
2024-01-15 13:25:00 +01:00
Rémi Verschelde
a2b94fe8d8
Merge pull request #86145 from Rindbee/set-a-suitable-size-for-labels-with-AUTOWRAP_WORD_SMART
Set an appropriate minimum size for labels in windows that display incorrectly
2024-01-15 13:24:06 +01:00
Rémi Verschelde
c981e30848
Merge pull request #84619 from quirkylemon/favorite-node-tooltip
Add tooltip for toggling favorite nodes
2024-01-15 13:22:52 +01:00
Rémi Verschelde
fb5ad1af3d
Merge pull request #83014 from Chubercik/window_method_duplicate_fix
Add deprecation notice to a duplicate method of class `Window`
2024-01-15 13:22:02 +01:00
Rémi Verschelde
9c91fbedfb
Merge pull request #81905 from ckaiser/feature/project_settings_add_consistency
Improve "Add" button consistency in Project Settings
2024-01-15 13:21:34 +01:00
Hakim
6dfc36d661 Add some tooltips to the export buttons
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-01-15 12:14:09 +01:00
Juan Linietsky
15144c24bd Implement a transient_to_focused mode
This intends to be the correct way to handle non-child windows becoming covered by the current window when becoming focused.
Enabling this property on select windows, they will become transient to the currently focused one when becoming visible.

This deprecates the "unparent_when_invisible" function introduced by #76025.
2024-01-14 18:51:44 +01:00
A Thousand Ships
595c6248a3
Fix reloading current scene forgetting path
Scene was stopped before running which cleared the last run scene,
forcing it to run the currently edited scene instead
2024-01-14 12:17:32 +01:00
kleonc
baa5504700 Fix some TileMap debug drawing truncating to ints 2024-01-14 02:02:46 +01:00
ajreckof
b75fb4603b Fix icon corrupted when nested array editors are opened before opening main array editor. 2024-01-13 09:20:38 +01:00
QuirkyLemon
14b2533ef6 add tooltip for toggling favorite nodes 2024-01-12 15:26:13 -06:00
Jakub Marcowski
06534f8ad5 Add deprecation notice to a duplicate method of class Window 2024-01-12 18:18:28 +01:00
jsjtxietian
57751b1917 Fix thumbnail disappears if FileSystemDock is floated 2024-01-13 01:15:37 +08:00
风青山
f932c6548e Set an appropriate minimum size for labels in windows that display incorrectly
When the label's `autowrap_mode` is `AUTOWRAP_WORD_SMART` and the initial `text`
is set at the same time, it may have a higher height.

Set an appropriate minimum size for labels in windows that display incorrectly
so that these controls display properly.
2024-01-12 23:08:38 +08:00
Alessandro Famà
2cfdb27c81 Fix missing icons for custom resources in EditorResourcePicker
The icons of custom resources created with `class_name` and annotated with `@icon` or GDExtensionen resources that have an icon specified in the .gdextension file are not appearing in the `EditorResourcePicker`.  The problem is that the `EditorResourcePicker` retrieves the editor theme icon for the resource type and defaults to the `Object` icon if the type wasn't found. This will apply both to `class_name` and GDExtension resources.

This solution addresses the issue by replacing the usage of `Control::get_editor_theme_icon` with `EditorNode::get_class_icon` to ensure the correct icon is retrieved for the resource. Additionally, this fix removes the `custom_resources` lookup above that call, as these resources, added through `EditorPlugin::add_custom_type`, were not being included in the allowed types within `_add_allowed_type` in the `EditorResoucePicker`. Currently, these particular custom resources are never displayed in the picker. The related issue is logged here: #75245.

Fixes #86072.
2024-01-12 15:39:33 +01:00
Yuri Sizov
4975619018 Capitalize OIDN in editor settings and properties 2024-01-12 13:45:20 +01:00
Christian Kaiser
1910f91f17 Improve "Add" button consistency in Project Settings
* Adds an icon to all the input-adjacent add/remove buttons
 * Adds a separator next to the action map "add" button
 * Changes the Shader Globals editor to be consistent with the others
 * Adds a clear button to the shader global name input
2024-01-11 17:13:23 -03:00
A Thousand Ships
4b7ea9fe47
Fix invalid 3-to-4 renames of add_animation to add_animation_library
This rename breaks `SpriteFrames` and also isn't valid as the new method
takes an `AnimationLibrary`, not an `Animation`
2024-01-11 18:35:29 +01:00
Rémi Verschelde
a3765274fb
Merge pull request #87048 from Mickeon/scene-string-names-are-a-mess
Use SceneStringNames in Skeleton3DEditorPlugin
2024-01-11 17:42:14 +01:00
Rémi Verschelde
cab27498bd
Merge pull request #86957 from RandomShaper/mt_mends
A couple of enhancements to user-visible threading semantics
2024-01-11 17:40:37 +01:00
Rémi Verschelde
880c12004b
Merge pull request #86881 from AThousandShips/gizmo_fix
[Editor] Add missing virtual bind to `EditorNode3DGizmo(Plugin)`
2024-01-11 17:39:48 +01:00
Rémi Verschelde
48936690af
Merge pull request #86736 from Illauriel/rename-add-lib
Add icon, tooltip, rename button in AnimationLibraryEditor for clarity.
2024-01-11 17:38:59 +01:00
Rémi Verschelde
9e967ebdf9
Merge pull request #86583 from reduz/lightmapper-dda-fix
Tiny fix for lightmapper DDA
2024-01-11 17:37:45 +01:00
Rémi Verschelde
087a397477
Merge pull request #86301 from KoBeWi/deferred_cleanup
Update deferred calls to use Callables
2024-01-11 17:36:29 +01:00
Rémi Verschelde
7ce8a8f030
Merge pull request #83731 from aXu-AP/uv-edit-zoom-improvements
Improve UV editor zoom behavior
2024-01-11 17:34:48 +01:00
Illauriel
184b74c93f Add icon, tooltip, rename button in AnimationLibraryEditor for clarity. 2024-01-11 05:50:29 +01:00
Micky
3354273c9f Use SceneStringNames in Skeleton3DEditorPlugin 2024-01-10 18:17:58 +01:00
aXu-AP
5bdb5f5c37 Improve UV editor zoom behavior
Scrolling focuses towards mouse like in canvas editor.
Center view on opening.
Adjust scroll area to include polygons larger than texture.
Change zoom slider to EditorZoomWidget.
2024-01-10 13:27:20 +02:00
Rémi Verschelde
be4273a525
Merge pull request #86365 from fire/obj-importer
Add obj importer changes to use ImporterMesh.
2024-01-10 12:03:24 +01:00
Juan Linietsky
caef2be758 Tiny fix for lightmapper DDA
- Ensures only one axis advances at a time
- This fixes extremely corner cases where the DDA may skip over geometry
2024-01-10 10:39:56 +01:00
jsjtxietian
5b57db2637 Fix "Class name cannot be empty" error when sorting no import files by type 2024-01-10 10:39:21 +08:00
Pedro J. Estébanez
acac31ba5c Allow EditorImportPlugin to override can_import_threaded() 2024-01-09 17:30:24 +01:00
kobewi
0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
kobewi
2e09985c0d Fix² behavior of ResourceFormatLoader CACHE_MODE_REPLACE 2024-01-09 16:01:37 +01:00
Rémi Verschelde
8297ec949b
Merge pull request #86727 from KoBeWi/shortcut_revolution
Update modified shortcuts in command palette
2024-01-09 15:31:00 +01:00
Rémi Verschelde
4baa634937
Merge pull request #84895 from rsubtil/fix_dap_race_condition
Prevent race condition on initial breakpoints from DAP
2024-01-09 15:30:44 +01:00
Rémi Verschelde
ee42c9e7ef
Merge pull request #82498 from aXu-AP/docs-double-navigation
Fix opening docs writing extra navigation history
2024-01-09 15:30:38 +01:00
SaracenOne
cb8a743e18
Fix behavior of 'Editable Children' toggle.
Prevents losing nodes owned by the edited scene when
toggling editable_children off on an instanced scene,
and makes the toggle compatible with undo-redo.
2024-01-09 13:34:38 +01:00
Rémi Verschelde
2ccc5c7575
Merge pull request #86990 from akien-mga/revert-84167-cache_mode_replace_fixes
Revert "Fix behavior of ResourceFormatLoader `CACHE_MODE_REPLACE`"
2024-01-09 11:30:06 +01:00
Trevor Davenport
39ae82623d
Use ObjectID to track cached scene groups.
This prevents a crash that could occur when using the Node pointer
would reference a Node which had been freed after node_removal.
2024-01-09 11:14:38 +01:00
Rémi Verschelde
9ca3d3ec83
Revert "Fix behavior of ResourceFormatLoader CACHE_MODE_REPLACE" 2024-01-09 10:49:14 +01:00
K. S. Ernest (iFire) Lee
1430f0b67d Add obj importer changes to use ImporterMesh. 2024-01-08 13:57:20 -08:00
Silc Lizard (Tokage) Renew
a51958a2a0 Remove Object pointer/solve types conflict in AnimationTrackCache
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-01-08 21:48:19 +09:00
Rémi Verschelde
35da70f953
Merge pull request #86933 from alessandrofama/drop-texture-scene-history
Fix 2D viewport texture drop issue with global history registration
2024-01-08 12:01:55 +01:00
Rémi Verschelde
edcea4a2ca
Merge pull request #86893 from Mickeon/autocomplete-editor-interface
Add autocompletion for a few EditorInterface methods
2024-01-08 12:00:43 +01:00
Rémi Verschelde
0354dc4205
Merge pull request #86867 from TokageItLab/reset-copy-options-for-more
Copy InterpolationType / LoopMode for all track & UseBlend option for audio when adding reset keys
2024-01-08 11:59:07 +01:00
Rémi Verschelde
e417b7e6e6
Merge pull request #86824 from alessandrofama/audio-import-playback-position
Fix playback position label update in Audio Stream Importer
2024-01-08 11:57:31 +01:00
Rémi Verschelde
4aa8e87e50
Merge pull request #86805 from ryevdokimov/clear-nodes-on-ui-cancel-2d
Allow `ui_cancel` to unselect all nodes in all edit modes in 2D, matching 3D behavior
2024-01-08 11:56:43 +01:00
Rémi Verschelde
f46465ba14
Merge pull request #86804 from ryevdokimov/allow-all-modes-to-select
Allow all editor modes to select nodes in the viewport
2024-01-08 11:56:19 +01:00
Rémi Verschelde
c10d268974
Merge pull request #86787 from ryevdokimov/code-spell-check
Fix various spelling errors across engine solution
2024-01-08 11:55:55 +01:00
Rémi Verschelde
dd487ebb0b
Merge pull request #86568 from jsjtxietian/fix-infinite-loop-tile
Fix potential infinite loop when calculating tile editor zoom level
2024-01-08 11:55:30 +01:00
Rémi Verschelde
53d47a389c
Merge pull request #86542 from KoBeWi/merge_split_action
Improve Path2D editing
2024-01-08 11:54:42 +01:00
Rémi Verschelde
a2bd7c3301
Merge pull request #85142 from CookieBadger/animation-player-improvements
Improve usability of zooming in the animation editor
2024-01-08 11:50:38 +01:00
Rémi Verschelde
049da90fb4
Merge pull request #77832 from AThousandShips/import_fix
Fix incorrect check on importing project
2024-01-08 11:49:23 +01:00
Rémi Verschelde
15186b6606
Merge pull request #72461 from Calinou/editor-renderer-select-mobile
Make the rendering method dropdown also affect mobile if compatible
2024-01-08 11:48:59 +01:00
Alessandro Famà
4ea5c1ff2a Fix issue with dropping texture in 2D viewport causing incorrect global history registration
This fix addresses an issue where dropping a texture onto the 2D viewport in a scene without a root node incorrectly registers the action in the global history. Subsequently undoing and redoing this action in another scene results in the newly created node replacing the root of the current scene.

Fixes #86826.
2024-01-07 21:54:44 +01:00
CookieBadger
5b3d5e0a65 Improved usability of zoom features in animation player 2024-01-07 01:30:06 +01:00
A Thousand Ships
0a2ddaa6bd
Fix incorrect check on importing project 2024-01-07 00:52:16 +01:00
Micky
db10ce3d8d Add autocompletion for a few EditorInterface methods 2024-01-06 19:19:31 +01:00
A Thousand Ships
c794ce195b
[Editor] Add missing virtual bind to EditorNode3DGizmo(Plugin)
Method `_begin_handle_action` was not bound
2024-01-06 17:27:50 +01:00
Michael Alexsander
7b8c0b3a34
Parse the names of children of TabContainers on POT generation 2024-01-06 10:52:44 -03:00
Silc Lizard (Tokage) Renew
5ade1077ff Copy intrp/loop for all track & use_blend for audio when adding reset 2024-01-06 17:15:45 +09:00
jsjtxietian
42c672afd6 Fix infinite loop when calculating zoom level if tile_size * max_zoom < default 2024-01-06 16:11:26 +08:00
Robert Yevdokimov
eb565780e7 Prevent escape key from closing Editor Settings window when filtering for shorcuts 2024-01-05 19:24:55 -05:00
Zi Ye
97f9dbda81 Changed various editor transform operations to be committed in local instead of global space. Fixed a couple of bugs when syncing transforms to debug instance. 2024-01-05 17:07:20 -06:00
kobewi
f41b2c2ec4 Improve Path2D editing 2024-01-05 22:34:31 +01:00
Muller-Castro
96a95cb974 Add const lvalue ref to container parameters 2024-01-05 14:49:57 -03:00
Robert Yevdokimov
ff03a32323 Allow all editor modes to select nodes in the viewport 2024-01-05 10:07:34 -05:00
Alessandro Famà
155bebfdf2 Fix playback position label update in Audio Stream Importer
The current playback position label doesn't get updated if the playhead is not visible. The label is updated in `_draw_indicator()` at the end of the function, but we return early if the calculated offset falls outside the valid range. This fix moves the label updating above this check, ensuring that the label always gets updated regardless of the visibility of the playhead.

Fixes #86550.
2024-01-05 12:41:30 +01:00
Rémi Verschelde
e72e63a6b5
Merge pull request #85837 from akien-mga/clang-format-16
Style: Mark clang-format 16 as supported for pre-commit hook
2024-01-05 12:04:44 +01:00
Rémi Verschelde
dc5b57ea44
Merge pull request #81325 from AttackButton/path_2d_editor_plugin-clear_points
Add a button to clear curve points in the Path2D editor
2024-01-05 12:02:41 +01:00
Rémi Verschelde
d1b7c60afc
Merge pull request #77712 from nklbdev/Fix_lossless_formats_in_PortableCompressedTexture2D
Fix lossless formats in PortableCompressedTexture2D
2024-01-05 12:02:14 +01:00
Rémi Verschelde
85e999dc5e
Merge pull request #64908 from marcinn/lightmap-gi-texel-scale
Add `texel_scale` property to LightmapGI
2024-01-05 12:01:49 +01:00
Robert Yevdokimov
06f586e890 Allow ui_cancel to unselect all nodes in 2D, matching 3D behavior 2024-01-04 18:07:31 -05:00
nklbdev
47d991678d Fix lossless formats in PortableCompressedTexture2D
Update scene/resources/portable_compressed_texture.cpp

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-01-05 00:11:01 +05:00
Aaron Franke
9753a35c76
Move 3D scene import classes to their own folder 2024-01-04 11:02:49 -06:00
Rémi Verschelde
8a716e3275
Merge pull request #84353 from aXu-AP/sprite2d-plugin-zoom
Add zoom controls to Sprite2DPlugin converter preview
2024-01-04 16:40:05 +01:00
Rémi Verschelde
bb1006b2ac
Merge pull request #84284 from Haydoggo/script-switch
Preserve inspector focus when opening script from scene tree
2024-01-04 16:39:59 +01:00
Rémi Verschelde
1312a73304
Merge pull request #84135 from aXu-AP/reparent-select-fix
Fix nodes being deselected upon reparenting
2024-01-04 16:39:53 +01:00
Rémi Verschelde
0cdb530c18
Merge pull request #83895 from clayjohn/origin-lines
Use screen-aligned quads for origin lines to avoid issues on NVidia
2024-01-04 16:39:42 +01:00
Rémi Verschelde
5eb22a317d
Merge pull request #83577 from DennisManaa/fix-translation-for-item-list
Add automatic translation of items to ItemList
2024-01-04 16:39:36 +01:00
Rémi Verschelde
52ab49ef1a
Merge pull request #83503 from YeldhamDev/grab_all_the_animations!
Allow to load multiple animation/libraries at once in the animation manager
2024-01-04 16:39:30 +01:00
Rémi Verschelde
0010096356
Merge pull request #83109 from Calinou/script-editor-add-more-toggle-comment-shortcuts
Allow Ctrl + KP / and Ctrl + # to toggle comment in the script editor
2024-01-04 16:39:10 +01:00
Rémi Verschelde
ad3e5a949e
Merge pull request #82283 from YeldhamDev/focus_that_search_bar!
Make the search bars in the "Project Settings" dialog grab focus when they appear
2024-01-04 16:38:52 +01:00
Rémi Verschelde
c772a5b050
Merge pull request #78960 from kleonc/inspector-follow-focus
Make editor inspector follow focus
2024-01-04 16:38:46 +01:00
Rémi Verschelde
0d18a945ca
Merge pull request #76654 from TokageItLab/improve-filter-util-anim-tree
Add useful functions to `FilterEdit` in `AnimationBlendTreeEditor`
2024-01-04 16:38:32 +01:00
Rémi Verschelde
94f72a72e2
Merge pull request #75005 from J-N-Witch/add-position-gizmo-toggle
Add option to toggle visibility of Position gizmos in 2D editor, organize existing options
2024-01-04 16:38:24 +01:00
Rémi Verschelde
38a1e17b93
Merge pull request #72572 from Daylily-Zeleen/daylily-zeleen/override_export_end_in_Cpp
Provide ability to override `EditorExportPlugin::_export_end()` in C++
2024-01-04 16:38:15 +01:00
Marcin Nowak
eea2ad4019 Add texel_scale property to LightmapGI 2024-01-04 16:24:19 +01:00
Robert Yevdokimov
f9826a1dd7 Fix various spelling errors 2024-01-04 09:56:43 -05:00
Rémi Verschelde
0fa767beff
Merge pull request #84508 from jsjtxietian/clean-copy
Clean unnecessary copy detected by clang-tidy
2024-01-04 14:25:58 +01:00
Rémi Verschelde
3224e47af8
Merge pull request #84486 from jcostello/jcostello/fix-material-drop
Fix material drag and drop
2024-01-04 14:25:52 +01:00
Rémi Verschelde
6c390b620d
Merge pull request #84445 from Rubonnek/add-const-references-clang-tidy
Add const references detected by clang-tidy
2024-01-04 14:25:33 +01:00
Rémi Verschelde
1aa03f7701
Merge pull request #81044 from MewPurPur/add-physics-material-icon
Add PhysicsMaterial icon
2024-01-04 14:24:54 +01:00
Hugo Locurcio
57f3bdb1e5
Make the rendering method dropdown also affect mobile if compatible
This prevents visual discrepancies between desktop and mobile platforms
after switching rendering methods using this dropdown.

The restart dialog now displays which rendering methods will be used,
and the dropdown tooltip also lists caveats related to specific platforms.
2024-01-03 18:38:37 +01:00
Rémi Verschelde
d4b33b3e9f
Merge pull request #86723 from ryevdokimov/remove-unused-code
Removed unused code related to command palette
2024-01-03 15:48:17 +01:00
Rémi Verschelde
00cc23f906
Merge pull request #86486 from timothyqiu/move-copy-dialog
Improve `EditorDirDialog`
2024-01-03 15:47:52 +01:00
Rémi Verschelde
c23c43dd96
Merge pull request #86476 from VedatGunel/fix-fs-split-offset
Store horizontal and vertical split offsets separately in FileSystem dock
2024-01-03 15:47:27 +01:00
Rémi Verschelde
6665a629c3
Merge pull request #85943 from kuruk-mm/fix/find-in-files
Stop the searching of `find in files` in folders that have `.gdignore`
2024-01-03 15:44:07 +01:00
Rémi Verschelde
11d1844e66
Merge pull request #85869 from paulloz/dotnet-warning-out-of-date-properties
.NET: Add a warning in the inspector when properties might be out of sync
2024-01-03 15:43:41 +01:00
Rémi Verschelde
54b83bd705
Merge pull request #84788 from Cerno-b/fix-description-text-for-grouping
Clarify description of "group selected"
2024-01-03 15:42:50 +01:00
Rémi Verschelde
73c5deff76
Merge pull request #82916 from jsjtxietian/update-scene-tree-tooltip-after-editor-description-chnage
Support updating tooltip immediately after editor description change
2024-01-03 15:41:31 +01:00
Rémi Verschelde
df8b7fee81
Merge pull request #82802 from marcinn/fix-82756-prevent-saving-children-without-owner
Fix saving branch as scene saves children without owner set
2024-01-03 15:40:37 +01:00
Rémi Verschelde
34594a3096
Merge pull request #86669 from YeldhamDev/there_is_no_escape
Stop escaping `'` on POT generation
2024-01-03 10:14:14 +01:00
Rémi Verschelde
a6dc1b3907
Merge pull request #84527 from Calinou/colorpicker-display-revert-icon
Display a revert icon on ColorPicker's old sample
2024-01-03 09:59:06 +01:00
rune-scape
cde478bda6 Hot-reload only changed scripts 2024-01-02 17:56:52 -08:00
kobewi
b712d1c657 Update modified shortcuts in command palette 2024-01-02 23:02:54 +01:00
Robert Yevdokimov
7fd15e9275 Removed unused code related to command palette 2024-01-02 14:49:37 -05:00
Michael Alexsander
e5022531bf
Stop escaping ' on POT generation 2024-01-02 15:26:42 -03:00
Rémi Verschelde
2158f88a88
Merge pull request #86710 from KoBeWi/do_not_the_shaders
Handle built-in shaders when closing scene
2024-01-02 18:06:25 +01:00
Rémi Verschelde
4c0db7765d
Merge pull request #86630 from TokageItLab/value-track-default-option
Make default options of int value track refer to RESET animation
2024-01-02 18:06:02 +01:00
Rémi Verschelde
39336e3780
Merge pull request #86598 from pancelor/master
Project upgrade tool: Better space handling in "export"
2024-01-02 18:05:51 +01:00
Rémi Verschelde
a1d45858e0
Merge pull request #86504 from lyuma/gltf_reimport_textures_merry_xmas
gltf: Fix three bugs which prevented extracted textures from being refreshed
2024-01-02 18:05:19 +01:00
Rémi Verschelde
2f2ed95aa8
Merge pull request #85540 from KoBeWi/update_reset
Copy track update mode when adding reset key
2024-01-02 18:05:12 +01:00
kobewi
779d731940 Handle built-in shaders when closing scene 2024-01-02 16:00:11 +01:00
Rémi Verschelde
e78c5d0ec5
Merge pull request #86211 from TheSofox/node-duplicate-undo-fix
Fix duplicating multiple nodes at different depths in `SceneTreeDock`
2024-01-02 15:08:57 +01:00
Rémi Verschelde
0d88840e81
Merge pull request #80706 from ajreckof/rework-array-update-property
Rework `update_property` for array
2024-01-02 15:08:41 +01:00
kobewi
e534dbf53a Improve saving of built-in resources 2024-01-02 12:53:18 +01:00
Silc Lizard (Tokage) Renew
eecfe5d75a Make default options of int value track refer to RESET animation 2024-01-02 13:13:47 +09:00
kobewi
3058a4926f Tweak tile atlas help label positions 2024-01-01 20:35:50 +01:00
kobewi
d96fca371b Copy track update mode when adding reset key 2023-12-30 18:02:55 +01:00
rune-scape
a938359cd3 Fix possible crash in script_text_editor.cpp 2023-12-29 18:05:58 -08:00
pancelor
d4d5a14234 project upgrade tool: better space handling in "export"
the regex had two problems; they were not recognizing export statements
that had spaces after "export", or export statements with no space
before "var".

These are both valid syntax, but the conversion was unsuccessful.
This commit fixes both cases.

test case 1:    `export(int)var x = 1`
old conversion: `@export(int)var x = 1`
new conversion: `@export var x: int = 1`

test case 2:    `export (int) var y = 2`
old conversion: `@export (int) var y = 2`
new conversion: `@export var y: int = 2`
2023-12-28 21:10:54 -08:00
Vedat Gunel
f35f1a1849 Store horizontal and vertical split offsets separately in FileSystem dock 2023-12-25 18:11:18 +03:00
Haoyu Qiu
a42ead59da Improve EditorDirDialog
* Automatically selects the newly created directory
* Automatically selects "res://" when nothing is selected
* Fixes an error when overwrite/replace dialog appears
* Changes "copy checkbox + action button" to "copy button + move button"
* Double clicking a directory (un)collapses it instead of copy/move
* Uses DirectoryCreateDialog for "Create Folder"
2023-12-25 19:14:04 +08:00
Lyuma
fea4165ca8 gltf: fix three bugs which prevented extracted textures from being refreshed.
1. Extracted texture paths in `GLTFDocument::_parse_image_save_image` at the project root started with res:/// which broke cache invalidation
2. md5 hashes were not being written to generator_parameters for new imports, which led Godot to think the file was manually created.
3. `EditorFileSystem::reimport_append` must emit the `resources_reimported` signal in order for the resource cache to be updated.
2023-12-25 01:03:40 -08:00
Paul Joannon
0818d015db
Inspector ⚠️ when C# props might be out of date 2023-12-22 23:27:13 +01:00
Yuri Sizov
13a0d6e9b2 Merge pull request #86431 from timothyqiu/ungroup-action
Improve action name for ungroup button in Scene dock
2023-12-22 17:20:22 +01:00
Yuri Sizov
d7564dbc6d Merge pull request #86388 from timothyqiu/unique-reset
Clear sub-resources list when no sub-resource exists
2023-12-22 17:20:12 +01:00
Yuri Sizov
980d55198c Merge pull request #86387 from jsjtxietian/fix-tile-set
Fix `UndoRedo history mismatch` when creating a new tile atlas
2023-12-22 17:20:08 +01:00
Yuri Sizov
13d34d6a2b Merge pull request #85923 from Calinou/editor-filesystem-dock-add-open-in-terminal
Add a editor FileSystem dock action to open a terminal in selected folder
2023-12-22 17:19:53 +01:00
Sofox
ed648799ae Fixed duplicating nodes at different depths in SceneTreeDock 2023-12-22 15:20:08 +00:00
Haoyu Qiu
c62c0fb2d2 Improve action name for ungroup button in Scene dock 2023-12-22 19:54:14 +08:00
Mateus Reis
105723b725 Fix internal profiling button being visible when disabled 2023-12-21 18:25:33 +02:00
Haoyu Qiu
6e49ff91c0 Clear sub-resources list when no sub-resource exists 2023-12-21 18:14:10 +08:00
jsjtxietian
1217d7d678 Fix UndoRedo history mismatch when creating a new tile atlas 2023-12-21 17:25:21 +08:00
ajreckof
b4d96bc710 Rework update_property for array.
Apply suggestions from code review

Co-Authored-By: Tomek <kobewi4e@gmail.com>
2023-12-21 10:00:04 +01:00
Yuri Sizov
5f641541ea Merge pull request #86271 from YuriSizov/pm-optimize-multiple-ways-of-scanning
Optimize scanning routines in the project manager
2023-12-20 15:08:06 +01:00
Yuri Sizov
f77da033f2 Merge pull request #86169 from Repiteo/gdvirtual-call-refactoring
Replace `GDVIRTUAL_CALL` with `GDVIRTUAL_REQUIRED_CALL` where applicable
2023-12-20 15:07:55 +01:00
Yuri Sizov
aae58cd688 Merge pull request #85887 from YuriSizov/editor-enforce-min-window
Correctly enforce minimum window size in editor
2023-12-20 15:07:48 +01:00
Yuri Sizov
bc6be82f5a Merge pull request #81260 from KoBeWi/min_maxing_particle_editing
Improve editing of min/max particle properties
2023-12-20 15:07:25 +01:00
Yuri Sizov
6296333bad Merge pull request #60965 from DarkMessiah/global-groups-implementation
Implement project-wide node groups
2023-12-20 15:07:20 +01:00
Yuri Sizov
416e594eb3 Correctly enforce minimum window size in editor
Also set the maximum size for the language
picked in the project manager.
2023-12-20 13:19:21 +01:00
Yuri Sizov
3d4b33df33 Optimize scanning routines in the project manager 2023-12-20 13:16:46 +01:00
kobewi
ce9fec9b4d Improve editing of min/max particle properties 2023-12-20 06:31:08 +01:00
Yuri Sizov
4d695985c1 Merge pull request #85470 from KoBeWi/don't_get_child_but_stash_child
Improve Control hiding in PluginConfigDialog
2023-12-19 20:32:55 +01:00
Yuri Sizov
e18659c69d Merge pull request #82872 from jsjtxietian/require-editor-restart-when-csg-gizmo-color-changed
Prompt require editor restart to user when gizmo color changed
2023-12-19 20:32:20 +01:00
msreis
f1cc14d525 Fix missing time for some script functions in profiler
Fixes the issue by adding a mechanism by which the functions that were
previously disappearing can be profiled too. This is optional with
an editor setting, since collecting more information naturally slows the engine
further while profiling.

Fixes #23715, #40251, #29049
2023-12-19 19:42:21 +01:00
Stanislav Labzyuk
958699a0c4 Implement project-wide node groups 2023-12-19 18:07:19 +01:00
Hugo Locurcio
0e97acff84
Add a editor FileSystem dock action to open a terminal in selected folder
This is useful to enter some commands without having to open a separate
terminal and `cd` to the project folder.
2023-12-19 15:04:02 +01:00
Yuri Sizov
1f5d4a62e9 Merge pull request #86290 from bruvzg/mac_tab_menu
[macOS] Fix updating editor tab titles in the dock menu.
2023-12-19 13:02:31 +01:00
Yuri Sizov
508ad59370 Merge pull request #86266 from aaronfranke/editor-prop-no-setting
Use `set_value_no_signal` in editor property code
2023-12-19 13:02:27 +01:00
Yuri Sizov
ead01d0ca4 Merge pull request #85527 from fdstevex/master
Fix for Cmd-B shortcut conflict on macOS
2023-12-19 13:02:14 +01:00
Yuri Sizov
1c0be67952 Merge pull request #85452 from BleedingXiko/tilemap-typo
Fix typo in TileMap editor tooltip
2023-12-19 13:01:54 +01:00
Yuri Sizov
13dd72ce78 Merge pull request #85219 from dsnopek/light-bake-mode-no-gi-method
Remove GI methods in parentheses from light baking options
2023-12-19 13:01:40 +01:00
Yuri Sizov
02d4579fa2 Merge pull request #85000 from bruvzg/ed_ui_direction
[Editor] Add option to override editor UI layout direction.
2023-12-19 13:01:35 +01:00
Yuri Sizov
7aae85edfd Merge pull request #84845 from DarkMessiah/tree-disabled-checkbox
Implement disabled state for Checkbox in Tree
2023-12-19 13:01:25 +01:00
Yuri Sizov
92e024aac5 Merge pull request #79785 from KoBeWi/ioioioio
Load project metadata file only when needed
2023-12-19 13:00:54 +01:00
bruvzg
d8bb4c7163
[macOS] Fix updating editor tab titles in the dock menu. 2023-12-19 13:09:20 +02:00
Aaron Franke
8a407ff82e
Use set_value_no_signal in editor property code 2023-12-18 11:47:03 -06:00
Yuri Sizov
bf8dd73e9d Merge pull request #86280 from Calinou/editor-input-map-editor-action-edit-title
Add input action name to window title in input map editor
2023-12-18 18:18:24 +01:00
Yuri Sizov
8d9c11b72b Merge pull request #86278 from YeldhamDev/filter_scene_tooltip
Fix scene dock search losing its default tooltip after typing an invalid filter
2023-12-18 18:18:20 +01:00
Yuri Sizov
2552821f06 Merge pull request #86044 from KoBeWi/can't_add_if_can't_add
Disable Add button when theme item name is empty
2023-12-18 18:18:09 +01:00
Yuri Sizov
c3ee2b9c52 Merge pull request #86008 from Delsin-Yu/4.2
Correctly free relevant scripts when closing scene tabs
2023-12-18 18:18:05 +01:00
Yuri Sizov
5c848174a3 Merge pull request #84898 from rsubtil/fix_dap_breakpoints_closed_scripts
Fix DAP breakpoints being cleared on closed scripts
2023-12-18 18:17:46 +01:00
Yuri Sizov
644e236e5c Merge pull request #83987 from bruvzg/macos_window_and_help
[macOS] Add default Window and Help menus, allow special menu customization.
2023-12-18 18:17:41 +01:00
DE-YU
b37b40ff76 Correctly free relevant scripts when closing scene tabs 2023-12-18 21:41:07 +08:00
Hugo Locurcio
8e2f3191e7
Add input action name to window title in input map editor 2023-12-18 01:42:59 +01:00