Commit graph

6837 commits

Author SHA1 Message Date
Hugo Locurcio
da757c25e1
Improve the animation bezier editor
- Allow snapping bezier handles to the timeline.
- Allow precise snapping when holding Shift for keyframes and handles.
  - Previously, it was only allowed for seeking the timeline.
  - This change also impacts the animation track editor,
    not just the bezier editor.
- Invert the Ctrl + mouse wheel behavior to match the zoom direction
  in the animation track editor.
- Increase the line spacing between the "Time:" and "Value:" texts
  to improve readability.
- Tweak box selection styling to match the animation track editor.
- Adjust line widths for hiDPI displays.

(cherry picked from commit 4a4d977bea)
2021-08-18 23:11:46 +02:00
kobewi
6611d24e74 Include locked nodes on selection list 2021-08-18 13:27:33 +02:00
Rémi Verschelde
19301d4ad2
Merge pull request #51828 from yjh0502/ext-reload
Auto-reload scripts with external editor
2021-08-18 10:37:09 +02:00
Rémi Verschelde
216f5f8006
Merge pull request #51824 from timothyqiu/text-editor-ttr 2021-08-18 10:06:25 +02:00
Jihyun Yu
5c66891048 Auto-reload scripts with external editor 2021-08-18 16:52:14 +09:00
Rémi Verschelde
2875cd1651
Merge pull request #51826 from Calinou/port-visual-shader-icons-3.x
Port visual shader node icons from Godot 2.1.x (3.x)
2021-08-18 08:58:29 +02:00
Hugo Locurcio
d782353afc
Port visual shader node icons from Godot 2.1.x
This also adds an icon for VisualScriptComment.
2021-08-18 05:27:19 +02:00
Haoyu Qiu
a66339a549 Fix TextEditor not checking Standard highlighter in non-English UI
When using non-English UI, there were `Index p_idx = -1 is out of bounds (items.size() = 2).`
errors on on startup if any text file is open in the script editor. And clicking the Standard
highlighter option does not check that menu item.

This is caused by `TextEditor` searching for that menu item with unlocalized text. As already
did in `ScriptTextEditor`, this PR stores and searches for menu item with `TTR`ed text.
2021-08-18 10:42:12 +08:00
Hugo Locurcio
4ef661c1e8
Add editor icons for VisualScript and VisualShader expression resources 2021-08-18 03:36:04 +02:00
Haoyu Qiu
5f316aa216 Improve Undo/Redo menu items
* Make Undo/Redo menu items disabled when clicking it does nothing.
    * Context menu of `TextEdit`
    * Context menu of `LineEdit`
    * Editor's Scene menu
    * Script editor's Edit menu and context menu  (for Script and Text)
* Make editor undo/redo log messages translatable.
* Mark `UndoRedo`'s `has_{un,re}do()` methods as `const`.
* Expose `TextEdit`'s `has_{un,re}do()` to scripts since `{un,re}do()` are already available.
2021-08-18 00:46:51 +08:00
Rémi Verschelde
c0fc475078
Merge pull request #51521 from lawnjelly/portals_occluders
Sphere occluders (portals and general use)
2021-08-17 13:55:34 +02:00
Rémi Verschelde
53cc7a9be9
Merge pull request #51648 from pycbouh/editor-merge-custom-theme-3.x
[3.x] Add support for partial custom editor themes
2021-08-17 13:12:49 +02:00
Rémi Verschelde
8073b4f86a
Merge pull request #51646 from pycbouh/editor-dont-use-invalid-styleboxes-3.x
[3.x] Make sure stylebox is valid in `EditorSpinSlider` before using it
2021-08-17 13:12:09 +02:00
lawnjelly
115f4dce55 Sphere occluders (portals and general use)
Add framework for supporting geometrical occluders within rooms, and add support for sphere occluders.
Includes gizmos for editing.

They also work outside the portal system.
2021-08-17 09:02:06 +01:00
Haoyu Qiu
1a9604f605 Disable "Edit Resource from Clipboard" menu item when nothing in clipboard
To be consistent with other menu items.
2021-08-16 22:36:49 +08:00
Rémi Verschelde
032559936f
Merge pull request #51031 from kleonc/sprite_frames-preserve-src-atlas_texture-margins-3x
[3.x] SpriteFramesEditor: preserve source texture margins when creating frames from AtlasTexture
2021-08-16 10:37:57 +02:00
Danil Alexeev
1372ba681b
[3.x] Fix "Property not found: editor/node_naming/name_casing" 2021-08-15 16:54:19 +03:00
Haoyu Qiu
afea754e97 Fix i18n of 3D view name
Make the full view name translatable as a whole instead of combining
from sub-strings.
2021-08-14 15:23:59 +08:00
Yuri Sizov
ab25266213 Add support for partial custom editor themes 2021-08-14 02:11:54 +03:00
Yuri Sizov
be491e248a Make sure stylebox is valid in EditorSpinSlider before using it 2021-08-14 00:20:29 +03:00
Rémi Verschelde
632844e464
Merge pull request #51320 from pycbouh/docs-extract-theme-items-3.x
[3.x] Add theme item descriptions to the online documentation
2021-08-13 22:39:09 +02:00
Haoyu Qiu
ad425b7e9f Allow dropping property path into script editor 2021-08-13 23:01:45 +08:00
kobewi
b730ea9ad3
Don't save project on startup in headless or no-window mode
(cherry picked from commit ea2489ce93)
2021-08-13 10:20:01 +02:00
Rémi Verschelde
54d14a912a
Merge pull request #51402 from tinmanjuggernaut/texture_array_anisotropic
[3.x] Add Anisotropic Filter option for TextureArrays
2021-08-13 08:46:22 +02:00
Cory Petkovsek
fb609b22e4 Add Anisotropic Filtering option for TextureArrays 2021-08-12 23:56:03 +08:00
Rémi Verschelde
f0b37b1519
doc: Point URLs to 3.4 version of the online docs 2021-08-12 17:08:10 +02:00
Rémi Verschelde
f3441fcff0
i18n: Sync translations with Weblate
And sync template with current 3.x codebase.
2021-08-12 17:08:10 +02:00
Lightning_A
63581fccc3
Focus the scene tree dock after hitting one of the "Create Root Node:" buttons
(cherry picked from commit 285024e806)
2021-08-12 16:43:23 +02:00
Haoyu Qiu
cdaae2abfb
Fixes crash when AnimationPlayer reset on save
(cherry picked from commit 96f077a18d)
2021-08-12 16:43:23 +02:00
Yuri Roubinsky
9c9559654b
Fix incorrect position of the created VisualShader nodes on zoomed graph
(cherry picked from commit 8249ae8085)
2021-08-12 16:42:17 +02:00
Michael Alexsander
832833e6a3
Make property description in the animation editor actually show it
(cherry picked from commit bea868f750)
2021-08-12 16:42:16 +02:00
Hugo Locurcio
a2a4935166
Allow using the mouse wheel to navigate scene tabs
This works in a way similar to tabs in KDE or some patched
Chromium builds.

(cherry picked from commit d2dec8d614)
2021-08-12 16:42:15 +02:00
Rémi Verschelde
7c6bdea33c
Merge pull request #47416 from Calinou/add-contrast-adaptive-sharpening-3.x
Add support for contrast-adaptive sharpening in 3D (GLES3 only)
2021-08-10 10:08:24 +02:00
Haoyu Qiu
9d9043e1a9 Make 3D selection box independent of object size 2021-08-09 22:51:26 +08:00
Rémi Verschelde
a418d09617
Merge pull request #51166 from RandomShaper/fix_can_reset_3.x 2021-08-09 09:19:25 +02:00
Rémi Verschelde
0b461cbb01
Merge pull request #51218 from timothyqiu/more-i18n-3x
[3.x] Fix various i18n failures
2021-08-08 19:24:45 +02:00
Rémi Verschelde
b4a8717260
Merge pull request #51324 from LightningAA/show_view_rotation_dir-3.x
[3.x] Minor visual improvements to the viewport rotation gizmo (again)
2021-08-07 12:41:30 +02:00
Lightning_A
9613725732 Minor visual improvements to the viewport rotation gizmo (again) 2021-08-06 14:38:31 -06:00
kleonc
2eeed26d67 TileMap Fix trying to get data for tile not existing in attached TileSet 2021-08-06 18:52:04 +02:00
Yuri Sizov
fcbe5a3fde Add theme item descriptions to the online documentation 2021-08-06 18:20:51 +03:00
Hugo Locurcio
5497405cf7
Change the editor update spinner color when updating continuously
Updating continuously should only be enabled for troubleshooting
purposes, as it uses a lot of CPU/GPU power.

The update spinner is now displayed in red when the Update Continuously
editor setting is enabled.

(cherry picked from commit a97c5b50db)
2021-08-06 11:10:48 +02:00
lawnjelly
770d9f8220 Portals - add gizmo handles for editing portals and rooms
Gizmo handles are added for much more user friendly editing of portals and room bounds.
2021-08-06 07:53:22 +01:00
Lightning_A
6280c66f04 Minor improvements to the view rotation gizmo 2021-08-04 13:15:44 -06:00
Yuri Sizov
3b6e7d61a5 Improve user communications in the theme editor 2021-08-04 18:36:06 +03:00
Haoyu Qiu
063b7be937 Disable save button when Inspector is not editing anything 2021-08-04 15:03:54 +08:00
Yuri Sizov
3857fd5ceb Fix the editor theme application for the Mono build log 2021-08-03 22:11:33 +03:00
Haoyu Qiu
87e49183bc Fix various i18n failures 2021-08-03 23:36:43 +08:00
Yuri Sizov
cb66cf80f5 Cache EditorResourcePicker's allowed types 2021-08-03 16:21:05 +03:00
Rémi Verschelde
92bafdcafb
i18n: Sync template with current 3.x codebase
Weblate will now track the state of `3.x` to prepare for the 3.4 release.
2021-08-03 11:04:02 +02:00
Rémi Verschelde
cefc806b34
i18n: Sync translations with Weblate
Last POT sync with the `3.3` branch, we'll now switch Weblate to track
`3.x` to prepare for the 3.4 release.

(cherry picked from commit dec840452d)
2021-08-03 11:04:01 +02:00
Rémi Verschelde
f5836b40d4
doc: Use self-closing tags for return and argument
For the time being we don't support writing a description for those, preferring
having all details in the method's description.

Using self-closing tags saves half the lines, and prevents contributors from
thinking that they should write the argument or return documentation there.

(cherry picked from commit 7adf4cc9b5)
2021-08-03 10:20:19 +02:00
Nicholas Huelin
0b94db5f4c
Make the "View" menu in 3D view toolbar stay open when selecting a checkbox
This pull request fixes an issue where the "View" menu in the 3D view toolbar would close when you selected either the "View Origin" or "View Grid" checkboxes. This was inconvenient and wasted time by making you have to reopen the menu in order to get to other settings anytime you changed this.

(cherry picked from commit 3ffd75107d)
2021-08-03 10:20:18 +02:00
foxydevloper
f807c7e569
Name nodes added from drag & drop by name_casing
(cherry picked from commit 07a8f0fe38)
2021-08-03 10:18:04 +02:00
Rémi Verschelde
ea0116b01f
Dependency editor: Edit message about move to trash
Fixes #47106.

(cherry picked from commit 41ed695ba2)
2021-08-03 09:33:25 +02:00
Yuri Roubinsky
4fef6b9cbc
Prevent warning spam to console when dragging a CanvasItem in container
(cherry picked from commit bb5729fd35)
2021-08-03 09:33:25 +02:00
Yuri Roubinsky
37c985e189
Fix crash on doc dragging in script list panel
(cherry picked from commit c86aa2a705)
2021-08-03 09:33:25 +02:00
Nicholas Huelin
61d153a1fa
Make "Find in Files" searches ignore directories with .gdignore files in them
This pull request fixes an issue where searches using the "Find in Files" function would include folders with `.gdignore` files in them. The editor is supposed to ignore directories with these files in them altogether.

(cherry picked from commit 658b152bd8)
2021-08-03 09:33:25 +02:00
Haoyu Qiu
a0d47033f7
Remove colon from column titles
(cherry picked from commit f9aad98d36)
2021-08-03 09:15:33 +02:00
Haoyu Qiu
1da4e9e608
Hide open doc button when not inspecting anything
(cherry picked from commit 80e4c8626d)
2021-08-03 09:15:33 +02:00
Hugo Locurcio
bcd3c9a285
Improve the 2D editor ruler display
- Use the ° symbol instead of "deg" to reduce clutter.
- Round the displayed lengths to only one decimal instead of two
  to further reduce clutter.
- Don't make the `px` suffix localizable, as it isn't localizable
  anywhere else in the editor.

(cherry picked from commit 026aea681d)
2021-08-03 09:15:33 +02:00
Rémi Verschelde
7b97243521
Merge pull request #51040 from nekomatata/layer-grid-32-3.x
[3.x] Refactor layer property editor grid
2021-08-02 21:14:43 +02:00
Pedro J. Estébanez
c4811747cc Rationalize property reversion 2021-08-02 17:58:04 +02:00
lawnjelly
9e9abe2137 Portals - Fix UI default
I had forgotten to add a call to update_portal_tools() at the end of the SpatialEditor constructors. This ensures that the portal UI is off by default in normal use without portals.
2021-08-02 16:10:34 +01:00
Rémi Verschelde
73c6ab0215
Merge pull request #51152 from lawnjelly/portals_improve_ui 2021-08-02 14:40:18 +02:00
Haoyu Qiu
a4dee07966 Use Command+Drag in EditSpinSlider on macOS 2021-08-02 19:09:04 +08:00
Rémi Verschelde
e8f1cc693a
Merge pull request #50432 from goostengine/ctrl-enter-commit-3.x
[3.x] VCS: Allow to stage and commit all files with Ctrl + Enter
2021-08-02 12:20:35 +02:00
lawnjelly
776623d56b Portals - Improve UI and add shortcuts
This PR makes the 'convert rooms' button permanently on the toolbar and accessible whichever node is selected, so you can convert rooms without having to select the RoomManager first.

It also adds a togglable item 'view portal culling' to the 'View' menu which is a simple way of setting the RoomManager 'active' setting without the RoomManager being the selected node.

Both of these have keyboard shortcuts, which should make it much faster to reconvert rooms and edit.

In addition there the string in the 'Perspective' Listbox is modified to show [portals active] when portal culling is operational, for visual feedback. This is updated when you change modes, and when the rooms are invalidated.
2021-08-01 19:54:16 +01:00
Rémi Verschelde
a17228c788
Merge pull request #51111 from pycbouh/editor-put-the-colon-back-in-3.x
[3.x] Put multiple colons back into translated strings
2021-07-31 22:05:04 +02:00
Rémi Verschelde
2d2e247a7a
Merge pull request #51106 from timothyqiu/i18n-action-names-3x
[3.x] Make action names translatable
2021-07-31 21:13:46 +02:00
Yuri Sizov
ade21ed69c Fix theming in the audio bus editor 2021-07-31 21:43:14 +03:00
Yuri Sizov
9b228f0f5d Put multiple colons back into translated strings 2021-07-31 20:18:24 +03:00
Haoyu Qiu
a3b221e99f Make action names translatable 2021-07-31 22:19:47 +08:00
Hugo Locurcio
1ed24ca548
Highlight context menu items at the top of the 2D/3D viewports
This makes it easier to notice that some menu items only appear when
specific nodes are selected.

This change applies to both 2D and 3D editors, including both plugin-based
menus and the hardcoded 2D layout/animation contextual menus.
2021-07-31 01:50:50 +02:00
Rémi Verschelde
504f47eaec
Merge pull request #47222 from dreamsComeTrue/anim-track-improv
[3.x] Make Animation's SceneTreeDialog filter nodes properly
2021-07-30 23:42:55 +02:00
PouleyKetchoupp
e0e9f575ae Refactor layer property editor grid
- Now able to display up to 32 layers in physics (still 20 for render)
- Adjustable grid size to fit available space in dock
- Expansion icon to display more layers vertically
- Layer numbers in cells to help with selection
2021-07-30 11:43:04 -07:00
Rémi Verschelde
9735f2803c
Merge pull request #46800 from The-O-King/normal_compression
[3.x] Implement Octahedral Map Normal/Tangent Attribute Compression
2021-07-30 17:34:47 +02:00
Omar El Sheikh
d274284069 Octahedral Normal/Tangent Compression
Implement Octahedral Compression for normal/tangent vectors
*Oct32 for uncompressed vectors
*Oct16 for compressed vectors

Reduces vertex size for each attribute by
*Uncompressed: 12 bytes, vec4<float32> -> vec2<unorm16>
*Compressed: 2 bytes, vec4<unorm8> -> vec2<unorm8>

Binormal sign is encoded in the y coordinate of the encoded tangent

Added conversion functions to go from octahedral mapping to cartesian
for normal and tangent vectors

sprite_3d and soft_body meshes write to their vertex buffer memory
directly and need to convert their normals and tangents to the new oct
format before writing

Created a new mesh flag to specify whether a mesh is using octahedral
compression or not
Updated documentation to discuss new flag/defaults

Created shader flags to specify whether octahedral or cartesian vectors
are being used

Updated importers to use octahedral representation as the default format
for importing meshes

Updated ShaderGLES2 to support 64 bit version codes as we hit the limit
of the 32-bit integer that was previously used as a bitset to store
enabled/disabled flags
2021-07-30 10:29:09 -04:00
kleonc
3bb950b8e8 SpriteFramesEditor: preserve source texture margins when creating frames from AtlasTexture 2021-07-29 20:23:06 +02:00
Hugo Locurcio
10ef55ce23
Use bullet points in the editor instead of dashes where relevant 2021-07-28 19:47:11 +02:00
Hugo Locurcio
8f891535d0
Improve MeshInstance3D UV preview in the editor
- Use background and line colors that match better with the
  rest of the editor.
- Use translucent lines to make overlapping lines visible.
- Tweak the error message to mention the UV layer in question
  when there is no UV for a defined layer.

(cherry picked from commit 8cdfd2e706)
2021-07-28 15:37:40 +02:00
Hugo Locurcio
8fc99ef680
Improve the 3D editor manipulation gizmo
- Allow some tolerance when clicking the plane move/scale,
  even if the click is actually slightly outside the plane
  (similar to Blender).
- Make the rotate manipulation circles visually thinner to be
  less distracting.
- Make the hovered color less saturated to be more distinguishable
  from the non-hovered state.
  - Don't set brightness above 1.0 to prevent the gizmo from glowing
    when hovered.

(cherry picked from commit 6cfcbbbb93)
2021-07-28 15:35:35 +02:00
Rémi Verschelde
fddc370b2b
Merge pull request #50837 from Calinou/3d-editor-camera-preview-add-shortcut-3.x
Add shortcut to toggle the 3D editor's camera preview (3.x)
2021-07-27 13:34:35 +02:00
Rémi Verschelde
b358a71a38
Merge pull request #50817 from KoBeWi/gg_ez_rects
[3.x] Allow for easier editing of rect CollisionShape2D
2021-07-27 13:34:29 +02:00
Rémi Verschelde
7d425d2c77
Merge pull request #50911 from lawnjelly/portals_editor_colors
Portals - Gizmo colors added to editor settings
2021-07-27 13:08:03 +02:00
SaracenOne
462231e297
Removing bounding box calculations from 3D scene drag and drop and collide against physics rather than visual geometry.
(cherry picked from commit fbda490d0f)
2021-07-27 11:58:36 +02:00
lawnjelly
cb39b3d77c Portals - Gizmo colors added to editor settings
Make the portal and room gizmo colors user definable.
2021-07-26 20:09:22 +01:00
Rémi Verschelde
52df2940bc
i18n: Sync translations with Weblate
(cherry picked from commit c406c8512f)
2021-07-26 16:23:20 +02:00
Rémi Verschelde
2ae4748816
Revert "Fix Illegible text in audio bus editor 3.x"
This reverts commit d2cbf331ce.

Fixes #50890.
2021-07-26 16:14:17 +02:00
foxydevloper
f2cdacd3a6
Improve select tool's tooltip
- Makes tips clearer and more consistent.
- Removes outdated "shift+v" that doesn't work
- Adds Ctrl+RMB for adding nodes at position
- Removes tip for non-existent Alt+Drag in 3D select tool

(cherry picked from commit 6b90e2df6c)
2021-07-26 13:30:56 +02:00
Hugo Locurcio
3462aa4aba
Add a tooltip for Inclusive and Self in the editor profiler
This also changes the display mode tooltips to reflect the fact that
times are now displayed in milliseconds instead of seconds.

(cherry picked from commit e837e04ef8)
2021-07-26 13:29:11 +02:00
Hugo Locurcio
af3f83407f
Expose an ImportOrder enum in ResourceImporter
This avoids using magic numbers in code.

(cherry picked from commit 7f83977f37)
2021-07-26 13:26:58 +02:00
Rémi Verschelde
8ecb5d2047
Merge pull request #48621 from Calinou/editor-3d-hide-selection-box-no-gizmos-3.x
Hide the 3D editor selection box when View Gizmos is disabled (3.x)
2021-07-26 12:45:00 +02:00
Hugo Locurcio
ba91c37efe
Add shortcut to toggle the 3D editor's camera preview
A Camera node still has to be selected to initially enable camera
preview, but another node can then be selected and the preview can
be disabled by pressing the shortcut key again.
2021-07-25 12:50:51 +02:00
Hugo Locurcio
db04860653
Only print message about lightmap baking if it took at least 1 second 2021-07-24 22:06:46 +02:00
kobewi
10652cd342 Allow for easier editing of rect CollisionShape2D 2021-07-24 21:31:32 +02:00
Hugo Locurcio
ce78e605b1
Clarify the purpose of the default asset library URLs in the editor
`localhost` was removed as it won't work out of the box. It can be added
by the user if they're working on the asset library itself.

This won't affect existing installations due to how the editor settings
are stored, but existing installations will keep working fine.

(cherry picked from commit eac8ba6ce8)
2021-07-24 01:01:14 +02:00
foxydevloper
c7062f3bb8
Fix hidden seperators when horizontal frames is 1
(cherry picked from commit 429382b7e5)
2021-07-24 00:52:49 +02:00
kobewi
d2034fc269
Fix Change Node Type after Add Node Here
(cherry picked from commit 31a81562a8)
2021-07-24 00:52:32 +02:00
kobewi
49f323410b
Don't set metadata_label font if it doesn't exist
(cherry picked from commit 2846dbf239)
2021-07-24 00:51:08 +02:00
Rémi Verschelde
7968208b0a
Merge pull request #47201 from LightningAA/delete-from-project-manager-3.x
[3.x] Add the ability to remove project contents from the remove project dialog
2021-07-23 22:17:55 +02:00
Rémi Verschelde
4ecd9af616
Revert "Fix duplicate selection in SceneTree (3.x)" 2021-07-23 10:56:03 +02:00
Rémi Verschelde
b856841b99
Merge pull request #50745 from LightningAA/fix-texture-preview-crash-3.x
[3.x] Fix `TexturePreview` crashing
2021-07-22 23:33:18 +02:00
Lightning_A
8e90c7e829 Fix TexturePreview crashing 2021-07-22 13:42:22 -06:00
Rémi Verschelde
883bb2f4f6
Merge pull request #50561 from Calinou/fix-scene-tree-duplicate-selection-3.x
Fix duplicate selection in SceneTree (3.x)
2021-07-22 16:41:59 +02:00
Rémi Verschelde
2ac292a5ad
Merge pull request #50646 from SirQuartz/3.x
Fix Illegible text in audio bus editor 3.x
2021-07-22 13:20:35 +02:00
Rémi Verschelde
b4282c8435
Merge pull request #50700 from KoBeWi/3.drop
[3.x] Assign value to property by dropping to scene tree
2021-07-22 12:42:13 +02:00
Rémi Verschelde
54ad72d08d
Merge pull request #50320 from nekomatata/optimize-node-path-check-3.x
[3.x] Optimize NodePath update when renaming or deleting nodes in the editor
2021-07-22 12:13:26 +02:00
Hugo Locurcio
a528931c5e
Backport RootMotionView icon from the master branch
This makes RootMotionView display with a proper icon in the editor.
2021-07-22 07:36:08 +02:00
kobewi
559b3a59bb Assign value to property by dropping to scene tree 2021-07-21 15:40:19 +02:00
Hugo Locurcio
130a467839
Display the class name in the description
- Display a placeholder if no description is available.
- Display a message if the search didn't return any results.
2021-07-20 23:28:23 +02:00
Rémi Verschelde
843ab4e375
Merge pull request #50482 from lawnjelly/portals_autoplace 2021-07-20 21:26:36 +02:00
Lightning_A
04fbe18c06 Fix array reorder methods not being bound 2021-07-20 12:22:47 -06:00
lawnjelly
83f1377a8f Portals - lift roomlist restrictions and fix link bug
Allows users to have the RoomManager as the roomlist.

Fixes a couple of bugs dealing with situations where users attempt to link Portals to Rooms outside the roomlist.

Adds a PortalEditorPlugin allowing you to flip individual portals.
2021-07-20 19:05:16 +01:00
Lightning_A
5ca145ba5d Add the ability to reorder arrays from the inspector 2021-07-20 11:30:21 -06:00
Nick Huelin
d2cbf331ce
Fix Illegible text in audio bus editor 3.x
This pull request fixes an issue where the text within the audio bus editor would be illegible. This version is tailored for 3.x.
2021-07-20 08:43:30 -04:00
Atlinx
6026de80e7
Add scaling to the curve editor's handles
This fixes issue #50617

(cherry picked from commit ac5f3a6733)
2021-07-20 13:05:12 +02:00
Haoyu Qiu
890dda4cb4
Minor enhancements for the resource options button
(cherry picked from commit 8c4cb53d21)
2021-07-20 13:05:12 +02:00
Hugo Locurcio
79d3a6c8df
Improve tooltips in the editor profiler to mention the script name
Co-authored-by: CrispyPin <crispin@tasa.se>
(cherry picked from commit 0098e9243c)
2021-07-20 13:05:11 +02:00
reduz
ca223d71d8
Addes ability to load build sources from file.
* If not present, the dialog asks to load build sources from a file.
* The export templates check now also verifies that build sources are installed and skips the template check.

This makes Android development easier.

(cherry picked from commit 6639cc9853)
2021-07-20 13:05:10 +02:00
Nathan Franke
970a66a0fd
Do not update scene tree dock when node edited outside of it
(cherry picked from commit 022a061571)
2021-07-20 13:05:09 +02:00
Rémi Verschelde
d12243370d
Merge pull request #50632 from timothyqiu/add-item-type-3.x
[3.x] Improve add item type UI in theme editor
2021-07-20 12:15:11 +02:00
Rémi Verschelde
559d02a216
Merge pull request #50095 from LightningAA/add-viewport-spy-3.x
[3.x] Add the ability to preview viewports from the inspector
2021-07-20 11:19:34 +02:00
Rémi Verschelde
78d6dc4d24
Merge pull request #50502 from Calinou/animation-track-editor-improve-scrolling-3.x
Improve scrolling actions in the animation track editor
2021-07-20 11:16:25 +02:00
Rémi Verschelde
7fe45cb25b
Merge pull request #50531 from pycbouh/editor-improve-template-downloader-3.x
[3.x] Improve the UI/UX of the Export Template Manager dialog
2021-07-20 11:00:45 +02:00
Haoyu Qiu
48af497e8c Improve add item type UI in theme editor 2021-07-20 16:55:54 +08:00
Rémi Verschelde
7d5c7e02c4
Merge pull request #50565 from foxydevloper/3.x-add-sort-button
Backport filesystem dock sorting to 3.x
2021-07-20 10:46:17 +02:00
Rémi Verschelde
f9707e1a28
Merge pull request #50499 from LightningAA/zoom-out-alt-3.x
[3.x] Add shift + [1-5] keyboard shortcuts to zoom out
2021-07-20 09:17:52 +02:00
Aaron Franke
7dc2edc430
[3.x] Allow reading shaders from .gdshader files 2021-07-19 23:34:23 -04:00
Rémi Verschelde
a5c62edc14
Merge pull request #50586 from pycbouh/editor-theme-type-clear
Clear the theme type filter/name on each dialog popup
2021-07-19 22:55:44 +02:00
Stanislav Labzyuk
10252d81a3 Implemented the ability to add shortcut for Project -> Reload Current Project. 2021-07-20 00:12:50 +07:00
foxydevloper
6926363efb Backport filesystem dock sorting to 3.x
Co-authored-by: Gilles Roudiere <gilles.roudiere@gmail.com>
2021-07-19 12:31:28 -04:00
Lightning_A
cf8de3b316 Add viewport preview plugin and refactor TextureEditorPlugin 2021-07-18 14:49:45 -06:00
Yuri Sizov
9c2ff29c4d Clear the theme type filter/name on each dialog popup 2021-07-18 20:37:30 +03:00
Hugo Locurcio
8f448b5830
Fix duplicate selection in SceneTree
* It seems both cell_selected and multi_selected were being triggered,
* This caused inspector updating twice.
* cell_selected connection and callback were removed.

Co-authored-by: Juan Linietsky <reduzio@gmail.com>
2021-07-17 21:26:24 +02:00
Rémi Verschelde
9636deac55
Merge pull request #50508 from Calinou/add-drag-threshold-select-mode-3.x
Prevent accidental drags by adding drag distance threshold
2021-07-17 19:36:16 +02:00
Andrii Doroshenko (Xrayez)
7bedb68632 VCS: Allow to stage and commit all files with Ctrl + Enter 2021-07-17 13:00:27 +03:00
Rémi Verschelde
d7f49c7709
Merge pull request #50519 from pycbouh/editor-theme-fixup-3.x
[3.x] Fix control picker in the Theme editor
2021-07-17 09:30:35 +02:00
Yuri Sizov
266c726dad Improve the UI/UX of the Export Template Manager dialog 2021-07-17 00:46:30 +03:00
Yuri Sizov
47592f96bc Make several actions in the Inspector dock more obvious 2021-07-16 23:27:00 +03:00
Yuri Sizov
b11178b21e Fix control picker in the Theme editor 2021-07-16 21:36:54 +03:00
Lightning_A
c4ff3ef891 Add shift + [1-5] keyboard shortcuts to zoom out 2021-07-16 12:15:44 -06:00
Hugo Locurcio
44b01751e6
Prevent accidental drags by adding drag distance threshold
Co-authored-by: fox <12120644+foxydevloper@users.noreply.github.com>
2021-07-16 06:04:25 +02:00
Hugo Locurcio
a623eb5083
Improve scrolling actions in the animation track editor
- Implement timeline scrobbling using Alt + Mouse wheel anywhere in the
  animation track editor.
  - Snap settings are followed, and precise snapping can be obtained by also
    holding down Shift.
  - This modifier wasn't used by anything in the animation editor.
- Allow zooming by using Ctrl + Mouse wheel on the timeline itself.
  - Previously, this was only possible on the track area, not the timeline.
2021-07-15 22:29:36 +02:00
Rémi Verschelde
08d517243c
Merge pull request #50490 from Calinou/improve-2d-editor-zoom-3.x
Improve 2D editor zoom logic (3.x)
2021-07-15 19:04:38 +02:00
Hugo Locurcio
9cc65e1b9b
Automatically focus the Search field when displaying asset library
- Focus the project search box when switching from the Templates tab
  back to the Projects tab in the project manager.
- Add a context-specific placeholder for the asset library search box.
- Rename "Search" project filter box placeholder to the more
  descriptive "Filter projects". When performing a search on an
  existing selection, "Filter" is more accurate than "Search".
2021-07-15 18:47:38 +02:00
Hugo Locurcio
477dfc5174
Improve 2D editor zoom logic
- Add 1-5 shortcuts to zoom between 100% and 1600% quickly
  (similar to GIMP).
- When holding down Alt, go through integer zoom values if above 100%
  or fractional zoom values with integer denominators if below 100%
  (50%, ~33.3%, 25%, …).
2021-07-15 17:15:02 +02:00
lawnjelly
44f9a0f961 Portals - fix autolink sprawling, refine logs
It turned out the new autolinking feature was linking portals AFTER the static meshes had been added to rooms in the PortalRenderer. This meant that large meshes weren't being sprawled across these portals. The fix involves doing the autolinking BEFORE adding the static meshes.

Fixes a bug in the warning for portals being in the wrong direction, they should have only been checkout for outgoing portals. This was resulting in erroneous warnings.

Also the room conversion logs are refined to be more compact and informative.

A warning icon is also added in the gizmo for portals where autolink fails.
2021-07-15 13:04:05 +01:00
Rémi Verschelde
875045adde
Use modules_enabled.gen.h to improve inter dependency checks
- Fix build with gdscript module disabled. Fixes #31011.
- Remove unused `gdscript` compile option.
- Fix build with regex module disabled.
- Fix ImageLoaderSVG to forward declare thirdparty structs.

(cherry picked from commit f3726ee994)
2021-07-14 23:36:38 +02:00
Rémi Verschelde
a3310c1da2
Merge pull request #46130 from lawnjelly/portals
Portal occlusion culling [3.4]
2021-07-14 13:38:01 +02:00
lawnjelly
eb6f98ec55 Portal occlusion culling
Adds support for occlusion culling via rooms and portals.
2021-07-14 11:43:23 +01:00
Rémi Verschelde
6cff43e093
Merge pull request #50150 from Valeryn4/3.x-fix_lightmap_cpu 2021-07-14 12:19:53 +02:00
Hugo Locurcio
e8c9877ad8
Fix casing of the "to" stop word in editor strings 2021-07-13 15:28:00 +02:00
Rémi Verschelde
7af4a94b72
i18n: Sync translations with Weblate
(cherry picked from commit 1c840a31a5)
2021-07-13 12:33:17 +02:00
Hugo Locurcio
9343ee5c2b
Automatically display the installer after downloading an asset
- To make things easier to follow, display the asset name in
  confirmation dialogs.
- Display the number of conflicting files in the asset extraction dialog.

This reduces the number of clicks required to install an asset.

(cherry picked from commit 2708fcf13d)
2021-07-13 11:19:46 +02:00
Haoyu Qiu
6179f76547
Merge similar editor strings
(cherry picked from commit 4383f8a790)
2021-07-13 10:20:03 +02:00
Andrii Doroshenko (Xrayez)
1747569019
Set minimum size for "Version Control" diff bottom panel
Allows to see version diffs without having to expand the bottom panel
manually when clicking on a changed file in the "Commit" dock.

(cherry picked from commit 0fce7aea88)
2021-07-13 10:20:03 +02:00
Andrii Doroshenko (Xrayez)
4fec6d4697
Make EditorVCSInterface proxy functions virtual in C++
Allows to implement VCS plugins via C++ modules without affecting
the existing script instance mechanism.

(cherry picked from commit 23c1b39570)
2021-07-13 09:46:49 +02:00
Eric M
c696847f3d
Added 'Select Current' option when user is prompted to select main scene after clicking play
(cherry picked from commit 2296b57739)
2021-07-13 09:46:31 +02:00
PouleyKetchoupp
240c33708c Options to clean/simplify convex hull generated from mesh
Clean: remove duplicate and interior vertices (uses Bullet algorithm)
Simplify: modify the geometry for further simplification (uses VHACD
algorithm)

In the editor, single convex hull now uses the clean option.
Added a new editor entry to create a simplified convex hull, can be
useful for creating convex hull from highly tessellated triangle meshes.

Specific change for 3.x:
Add support for Vector<Vector3> and PoolVector<Vector3> in the convex hull generator.
2021-07-09 17:45:59 -07:00
PouleyKetchoupp
8185c5fe8a 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:43:05 -07:00
Rémi Verschelde
7f971089fb
FileDialog: Fix capitalization for overwrite prompt
Sorry I can't take it anymore, I wince every time I see it.
Already fixed in master :)
2021-07-08 01:05:45 +02:00
kobewi
ff7cae4c4c Allow to create a node at specific position 2021-07-07 13:19:59 +02:00
Rémi Verschelde
31143baa57
Merge pull request #50223 from Calinou/editor-information-use-multiply-sign-3.x
Use the Unicode multiplication symbol for the viewport size display (3.x)
2021-07-07 10:03:25 +02:00
Hugo Locurcio
8592620a8e
Use the Unicode multiplication symbol for the viewport size display 2021-07-06 21:59:26 +02:00
Bartłomiej T. Listwon
6f3b03824a
Change search results limit in FileSystem dock from 128 to 10000
(cherry picked from commit 5aa88afa5d)
2021-07-06 13:38:11 +02:00
Haoyu Qiu
f252622d82
Add numpad emulation in 3D viewport
(cherry picked from commit 4a26e61e89)
2021-07-06 11:20:30 +02:00
Hugo Locurcio
59c5c04e38
Allow using the 3D editor's View menu while previewing a camera
This is already allowed when using cinematic preview, but not
when previewing a Camera3D the usual way.

Many operations from the View menu still work while previewing
a camera, such as switching between debug draw modes and toggling
information panes.

(cherry picked from commit fab3d136e0)
2021-07-06 11:19:38 +02:00
PouleyKetchoupp
5a66ab1ef4
Coding style fix in editor NodePath update
Added r_ prefix for reference arguments that can be modified.

(cherry picked from commit 62ce81ec15)
2021-07-06 11:10:47 +02:00
PouleyKetchoupp
daa0977c68
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>
(cherry picked from commit 3e4e530523)
2021-07-06 11:10:47 +02:00
Hugo Locurcio
8c08b52871
Add icons for more file types in the editor asset installer
(cherry picked from commit 9698486605)
2021-07-06 11:10:47 +02:00
kobewi
245b9400ea
Support single quote when dropping files to script
(cherry picked from commit 5e593dda9b)
2021-07-06 11:10:47 +02:00
Hugo Locurcio
65063dbe0a
Tweak the 2D game camera override tooltips to match 3D
(cherry picked from commit bdca0daadc)
2021-07-06 11:10:44 +02:00
Rémi Verschelde
b35e61ba85
Script editor: Rename 'Clone Down' to 'Duplicate Selection'
Fixes #36670.

(cherry picked from commit d41f4aca77)
2021-07-06 11:10:44 +02:00
Питанов Валера
47b9afa3e9 fix lightmap cpu crashes 2021-07-06 01:45:04 +10:00
Rémi Verschelde
5601d86a27
Merge pull request #49915 from Calinou/bakedlightmap-print-time-request-attention-3.x
Print time taken and request attention when lightmaps are done baking
2021-07-01 09:49:21 +02:00
Rémi Verschelde
0e5d249a39
i18n: Sync translations with Weblate
(cherry picked from commit 30bb133e01)
2021-06-29 14:56:54 +02:00
Hugo Locurcio
b268fdc980
Use Ctrl + G to toggle the 3D editor grid visibility by default
The 2D editor grid toggle shortcut has been changed to use
`KEY_MASK_CMD` for consistency. This means it will now use Cmd
on macOS instead of Ctrl.

(cherry picked from commit 2cc053c64b)
2021-06-29 14:02:23 +02:00
AndreaCatania
eb3ddbc050
Remove early return from gizmo intersect_ray
Remove early returns from `EditorNode3DGizmo::intersect_ray` that is preventing to have gizmos that use Mesh collision + Segment collision + Icon.

(cherry picked from commit 2c12297ee1)
2021-06-29 14:02:22 +02:00
Pedro J. Estébanez
cd96e30fee
Remove side effects of scene save
(cherry picked from commit 598fd51277)
2021-06-29 13:13:06 +02:00
kleonc
4ae0310cec
AnimationMultiTrackKeyEdit Allow editing easing if it's possible for all edited tracks
(cherry picked from commit 1d890e16f7)
2021-06-29 13:12:34 +02:00
Lightning_A
898d404f66
Add "Suggest a Feature" to the help dialog.
Links to Godot Proposals's readme.

(cherry picked from commit 70fb239a25)
2021-06-29 13:11:47 +02:00
Hugo Locurcio
8beb57476f
Add keyboard shortcuts to the project manager
- Ctrl + N: New Project
- Ctrl + I: Import Project
- Ctrl + S: Scan for Projects
- Ctrl + E: Edit Project
- Ctrl + R: Run Project
- F2: Rename Project
- Delete: Remove Project
  - Already implemented previously, but moved to use `ED_SHORTCUT()`.

Note that depsite using `ED_SHORTCUT()`, these shortcuts won't appear
in the Editor Settings' Shortcuts dialog and won't be remappable since
the project manager code isn't run in the editor.

(cherry picked from commit 9bda49e030)
2021-06-29 13:11:47 +02:00
Hugo Locurcio
bf22de76f7
Allow selecting frames by holding down the mouse in SpriteFrames editor
This complements the existing (Ctrl +) Shift + Left mouse button
multiple frame (de)selection.

(cherry picked from commit 5e8eb20ad6)
2021-06-29 13:11:46 +02:00
Hugo Locurcio
d9a2e34357
Print time taken and request attention when lightmaps are done baking
Since lightmap baking can take a very long time, printing the time
spent can be useful for users tweaking the lightmap settings
to optimize bake times.

Completing lightmap baking will also request attention, which is
useful if you're doing something else while waiting for lightmaps
to bake.
2021-06-25 20:58:05 +02:00
Hugo Locurcio
065972a631
Tweak script export text in the export dialog to be more explicit 2021-06-24 10:01:41 +02:00
Hugo Locurcio
a9c0c5484f
Add support for contrast-adaptive sharpening in 3D (GLES3 only)
This is an older, easier to implement variant of CAS as a pure
fragment shader. It doesn't support upscaling, but we won't make
use of it (at least for now).

The sharpening intensity can be adjusted on a per-Viewport basis.
For the root viewport, it can be adjusted in the Project Settings.

Since `textureLodOffset()` isn't available in GLES2, there is no
way to support contrast-adaptive sharpening in GLES2.
2021-06-21 15:37:31 +02:00
Yuri Sizov
7120be9ff5 Overhaul the theme editor and improve user experience
Backport of #49388, #49772.
2021-06-21 01:37:54 +03:00
Yuri Sizov
014cb0c33a Refactor Theme item management in the theme editor
Backport of #46593, #46808, #49227
2021-06-20 20:34:37 +03:00
Hugo Locurcio
a6a6ad5c08
Add custom debug shape thickness and color options to RayCast
This backports the improved RayCast debug drawing functionality
from the `master` branch.

`ArrayMesh.clear_surfaces()` was also backported from the `master`
branch and exposed because the new debug drawing code requires it.
2021-06-19 06:01:25 +02:00
Marcel Admiraal
7e03bd1671 Remove duplicate WARN_PRINTS macro 2021-06-18 12:57:59 +01:00
Hugo Locurcio
415c1ccaaa
Add a "save on focus loss" editor setting (disabled by default)
This performs a Ctrl + S action every time the editor window loses focus,
saving both scenes and scripts as needed.

(cherry picked from commit f10c30a9ed)
2021-06-17 12:51:21 +02:00
Hugo Locurcio
7991d0fb22
Decrease the editor FPS limit when unfocused from 20 to 10
This provides better power savings compared to the previous value.
This also speeds up project execution slightly while the editor
is running in the background.

The setting hint can now go as low as 1 FPS (1 million microseconds
per frame), for those who really need the best possible power savings.
This will make previewing animated shaders or particles impossible
when the editor window isn't focused though.

(cherry picked from commit 6f6a09cce2)
2021-06-17 12:48:50 +02:00
K. S. Ernest (iFire) Lee
37fdd656c0
ERR_FAIL_NULL check file access
Null in ResourceImporterTexture::_save_stex

(cherry picked from commit b74bc42a43)
2021-06-17 12:47:55 +02:00
Paweł Fertyk
7520e57947
Remove trailing slash from recent dir if needed
(cherry picked from commit 709e71ae9c)
2021-06-17 12:47:55 +02:00
Haoyu Qiu
6c07784dba
Validate parameters when adding plugins
(cherry picked from commit 1a9e3edd30)
2021-06-17 12:47:54 +02:00
Hugo Locurcio
dd70aea77c
Fix game camera override tooltips being swapped
Previously, the wrong tooltip was shown.

This also tweaks the tooltips' texts to be clearer and remove
references to "game" (since Godot is used for more than just games).

(cherry picked from commit d1c5dd5b68)
2021-06-17 12:47:54 +02:00
Andrii Doroshenko (Xrayez)
9a087da5d1
Use "Delete" in FileSystemDock on all platforms
The consensus is that the per-platform strings are not so useful in the
first place, so it's better to revert back to "Delete" for every platform.

(cherry picked from commit 77daadac1d)
2021-06-17 12:47:54 +02:00
Andrii Doroshenko (Xrayez)
6aed7e349f
Separate version hash from version number in editor and project manager
When copy-pasting the version from About dialog to bug reports at GitHub,
this makes the version hash linkable to commits at GitHub.

(cherry picked from commit 293550f56a)
2021-06-17 12:47:53 +02:00
Hugo Locurcio
86c72acf4d
Improve radio checkboxes in the default editor theme
(cherry picked from commit 0f4df474c9)
2021-06-17 12:47:53 +02:00
Lightning_A
4f87bd2bc4
Add the ability to reload the current project
(cherry picked from commit a6984f8d28)
2021-06-17 12:47:53 +02:00