Commit Graph

6928 Commits

Author SHA1 Message Date
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
Hugo Locurcio 5335a0368c
Add a Viewport property to use full floating-point precision in HDR
This is only available on the GLES3 backend.

This can be useful for advanced shaders, but it should generally
not be enabled otherwise as full precision has a performance cost.
For general-purpose rendering, the built-in debanding filter should
be used to reduce banding instead.
2021-08-16 03:16:01 +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
fox a61ec597a1
Make easing properties drawn with anti aliasing
(cherry picked from commit 36236843f6)
2021-06-17 12:47:53 +02:00
Hugo Locurcio f88dc1fd44
Fix editor constantly redrawing when freelook is active with still camera
The editor only needs to redraw when the camera is moving.

This helps preserver battery life on laptops when using freelook,
especially with the toggle mode (Shift + F).

(cherry picked from commit 21807f8d88)
2021-06-17 12:47:53 +02:00
daniel-mcclintock a34d5c31b7
Fix out of sync separate distraction-free mode
(cherry picked from commit 45fc6c4706)
2021-06-17 12:47:52 +02:00
Hugo Locurcio f45a2f4dea
Rename "Singleton" to "Global Variable" in the AutoLoad editor
The name "Singleton" was misleading because Godot does not actually
enforce a singleton pattern for autoloads. They can be instanced
multiple times.

"Global Variable" makes it more obvious that all the checkbox does
is expose the AutoLoad with a global variable for easy access.

(cherry picked from commit 1e53bac8b4)
2021-06-17 12:47:52 +02:00
Hugo Locurcio dd2fc60abc
Handle portrait mode monitors in the automatic editor scale detection
Using the smallest dimension of the width and height makes it possible
to support both landscape and portrait monitors.

(cherry picked from commit 728fa3ff71)

EditorSettings: Factor code to compute auto display scale

Also fixes typo introduced in https://github.com/godotengine/godot/pull/48597/files#r652636544.

(cherry picked from commit f862f9a056)
2021-06-17 12:47:52 +02:00
Haoyu Qiu 770de6f579
Don't use the abbrevation "Sep." in UI text
(cherry picked from commit 5046a7d1b1)
2021-06-17 11:49:31 +02:00
Rémi Verschelde 465ab36ddf
Merge pull request #49653 from madmiraal/remove-err_prints-3.x
[3.x] Remove duplicate ERR_PRINTS macro
2021-06-16 17:33:22 +02:00
Rémi Verschelde 9c92ecae21
i18n: Sync translations with Weblate
(cherry picked from commit a812779cc5)
2021-06-16 13:48:12 +02:00
Marcel Admiraal 5a58516231 Remove duplicate ERR_PRINTS macro 2021-06-16 11:56:25 +01:00
Rémi Verschelde b27179130e
Merge pull request #49644 from Calinou/remove-3d-camera-gizmo-icon-3.x
Remove the 3D camera gizmo icon (3.x)
2021-06-16 12:10:36 +02:00
Rémi Verschelde dd81884e6e
Merge pull request #49643 from Calinou/improve-editor-feature-profiles-3.x 2021-06-16 12:10:06 +02:00
Rémi Verschelde a373f1c0e8
Merge pull request #49642 from Calinou/tweak-changes-may-be-lost-color-3.x
Tweak the "Changes may be lost!" text color to match the icon's color (3.x)
2021-06-16 12:08:49 +02:00
Hugo Locurcio 28512bb389
Improve the editor feature profiles UX
- Add an help message when no profile is selected.
  - This replaces the class/property trees which are now hidden
    when no profile is selected.
- Display `(none)` as the current profile when no profile is
  currently active.
- Make the newly created/imported profile the current if it's the
  first profile to be added to the list.
- Make more strings localizable.
2021-06-16 07:04:13 +02:00
Hugo Locurcio 7c8a8d9bf5
Remove the 3D camera gizmo icon
The gizmo icon obstructed the line-based camera gizmo, which made it
difficult to see the actual camera orientation.

This also removes the unused SpatialStreamPlayer gizmo icon.
2021-06-16 07:03:11 +02:00
Hugo Locurcio fd65104ad5
Tweak the "Changes may be lost!" text color to match the icon's color 2021-06-16 06:35:27 +02:00
Hugo Locurcio f36c90b82f
Add a soft line length guideline to the script editor
The default value is 80. The hard line length guideline's default column
has been moved to 100 to account for the new soft line length guideline.

It can be disabled by setting its value to the same column as the
hard line length guideline.
2021-06-16 06:00:02 +02:00
Rémi Verschelde 990b6e7e95
Revert "[3.x] Fix SceneTreeDock::_selection_changed" 2021-06-16 02:34:33 +02:00
Rémi Verschelde 8028122c83
Merge pull request #49486 from unsignedFoo/49451-fix-selection-changed-multinodeeditor-3.x
[3.x] Fix SceneTreeDock::_selection_changed
2021-06-15 15:08:18 +02:00
Rémi Verschelde c45ce768b1
Merge pull request #47854 from mortarroad/3.x-lossless-webp
[3.x] Implement lossless WebP encoding
2021-06-11 19:35:47 +02:00
Morris Tabor 5de08ef1d6 Implement lossless WebP encoding 2021-06-11 18:48:04 +02:00
Yuri Sizov b622dfa956 Use EditorResourcePicker in the Inspector
Backported from #48854
2021-06-11 13:32:15 +03:00
Yuri Sizov 343ba504d3 Add EditorResourcePicker control based on the Inspector editor for Resources
Backported from #47260
2021-06-11 13:32:15 +03:00
Aitor Cereceto f0df770a56 Fix SceneTreeDock::_selection_changed
Now handles properly selecting one single node after
select multiple nodes (MultiNodeEditor)

Fixes #49451
2021-06-10 15:20:13 +02:00
Rémi Verschelde d84d5a9665
Merge pull request #49332 from megalobyte/doc-prev-search
[3.x] Fix previous search for built-in-docs
2021-06-09 11:11:15 +02:00
megalobyte 7408b33895 Fix previous search for built-in-docs 2021-06-08 23:11:42 -07:00
kobewi 6ce63017d5
Don't remap resources belonging to instance
(cherry picked from commit 8e8398209e)
2021-06-07 22:35:38 +02:00
kobewi 117e037235
Don't save built-in script when adding method
(cherry picked from commit a97546d4ea)
2021-06-07 12:14:47 +02:00
Aaron Franke ea476543ea
Rename tabs in the project manager
(cherry picked from commit 7813167196)
2021-06-07 12:13:27 +02:00
Rémi Verschelde 80e1585a6e
Style: Cleanup uses of double spaces between words
Or after punctuation. Tried to leave third-party stuff alone, unless it has
been heavily modified for Godot.

(cherry picked from commit c1c76850cb)
2021-06-07 12:06:59 +02:00
Rémi Verschelde 6580166f39
Merge pull request #48693 from Calinou/editor-import-invert-green-channel-3.x
Add "Normal Map Invert Y" import option for normal maps
2021-06-05 13:36:26 +02:00
Hugo Locurcio dbf75931d0
Add "Normal Map Invert Y" import option for normal maps
This can be used to invert a normal map's Y direction.

The existing Invert import option that inverts all RGB channels
is kept for compatibility with existing projects.
2021-06-04 18:10:34 +02:00
Marcel Admiraal 18825ad4ff Fix game controllers ignoring the last listed button 2021-06-03 15:45:05 +01:00
gongpha 0b8e079eec
New icons for Gradient and GradientTexture resources
(cherry picked from commit 0ed1915053)
2021-06-03 12:24:57 +02:00
trollodel 802ba1d07a
Preview the color animation in the animation editor
(cherry picked from commit 735c8396b0)
2021-06-03 12:24:57 +02:00
kleonc dfee7e71c7
TextureRegionEditor Fix not updating on editing region with autoslice cached
(cherry picked from commit 019c99e538)
2021-06-03 12:24:57 +02:00
Yuri Sizov c82cb25a93
Improve the layout and texts of the Editor Feature Profiles dialog
(cherry picked from commit 00bcfaed85)
2021-06-03 12:24:53 +02:00
bruvzg 36ca3fea96
[3.x] Fix visibility issue with zoom label 2021-06-03 12:32:11 +03:00
Rémi Verschelde b5c445c0c9
i18n: Sync translations with Weblate
(cherry picked from commit 0446cf487f)
2021-06-02 11:10:11 +02:00
Jonas Bernemann 4659b2ad4a Fix overflow in export template manager
Fixes the possible overflow of buttons after downloading the
current export template with using custom fonts or custom font size.

Fix #48826
2021-06-01 22:56:43 +02:00
Rémi Verschelde e0fb05ad30
Merge pull request #49237 from akien-mga/3.x-cherrypicks 2021-06-01 13:35:56 +02:00
Rémi Verschelde fb294606b5
Merge pull request #48771 from LightningAA/scrollcontainer-ensure-item-visible-3.x
[3.x] ScrollContainer: Expose `_ensure_focused_visible` to the scripting API and rename it to `ensure_control_visible`
2021-06-01 12:58:56 +02:00
Haoyu Qiu 0f780084f9
Wrap description TextEdit of plugin config dialog
(cherry picked from commit e83c2cd0c3)
2021-06-01 12:53:31 +02:00
nobuyuki_nyuu 057c9f601b
Bind CanvasItemEditor::_zoom_on_position and CanvasItemEditor::get_state to ClassDB
(cherry picked from commit a715887299)
2021-06-01 12:53:31 +02:00
Emre Aydin a6ff17c0a6
Fixed changing enabled classes resetting folding in manage editor features.
(cherry picked from commit 0f9913ce33)
2021-06-01 12:53:30 +02:00
Hugo Locurcio d71077f463
Improve the audio bus editor appearance
- Use the editor font color for notch lines and text instead of a more
  contrasted color.
- Reuse the editor theme's tooltip styling and apply it on theme change.
- Make the preview label display an explicit `+` sign for positive values.
- Prevent a zero value from displaying as `-0.0 dB` instead of `0.0 dB`.
- Scale notch lines on hiDPI displays.

(cherry picked from commit 534c990e41)
2021-06-01 12:53:30 +02:00
kobewi f7cfdfb1cc
Add preload() to resource path when holding Ctrl
(cherry picked from commit 4bee21bcc4)
2021-06-01 12:53:30 +02:00
Lightning_A 6f58e6ce2c ScrollContainer: Expose `_ensure_focused_visible` to the API
Was renamed to `ensure_control_visible`
2021-05-31 19:05:30 -10:00
K. S. Ernest (iFire) Lee 6ec9468e75 Backport gltf2 module from master. 2021-05-31 13:18:06 -07:00
Lyuma a330b6829f gltf: Fix mesh nodes which are also bones for 3.x
Fix issue when two skeletons end up directly parented.
Prevent animating TRS for skinned Mesh node.
Fix animating weights on meshes with targets but no weights.
2021-05-28 03:50:54 -07:00
Marcel Admiraal 72446bab1b Update EditorResourcePreview queue_*() documentation 2021-05-26 08:39:52 +01:00
Hugo Locurcio a38b447413
Highlight control flow keywords with a different color
This makes them easier to distinguish from other keywords.
2021-05-25 00:31:39 +02:00
Yuri Roubinsky 8d06dd4371
Fix doc theme not changing when its hidding
(cherry picked from commit 9a5cce35e6)
2021-05-24 12:57:05 +02:00
kobewi f78c276abe
Reset Shader Editor scroll when changing shader
(cherry picked from commit 0ac5be1e67)
2021-05-24 12:56:23 +02:00
kleonc 9f39f8339c Scale zoom values in the SpriteFrames editor for hiDPI displays 2021-05-23 14:25:57 +02:00
Rémi Verschelde 6f31af4c3c
Merge pull request #48977 from kleonc/sprite_frames-editor-zoom-3.x
[3.x] SpriteFramesEditorPlugin Added zooming
2021-05-22 23:52:09 +02:00
kleonc 6481a34478 SpriteFramesEditorPlugin Added zooming 2021-05-22 23:33:27 +02:00
Rémi Verschelde ac3417005d
Merge pull request #48533 from mortarroad/3.x-convex-hull-ported
[3.x] Port Bullet's convex hull computer to replace of QuickHull
2021-05-22 23:23:15 +02:00
Hugo Locurcio c164c07e85
Tweak pressed CheckBox appearance in the editor
This uses the accent color to match pressed CheckButtons after they
were updated. Checked checkboxes are now more prominent in the user's
peripheral vision, which can be useful at times. This also matches
how checkboxes look in most operating systems and web browsers.

(cherry picked from commit 0d27c4d809)
2021-05-22 18:37:56 +02:00
Morris Tabor ba396caefc Replace QuickHull with Bullet's convex hull computer.
The code is based on the current version of thirdparty/vhacd and modified to use Godot's types and code style.

Additional changes:
- backported and extended PagedAllocator to allow leaked objects
- applied patch from https://github.com/bulletphysics/bullet3/pull/3037
2021-05-22 08:16:43 +02:00
Haoyu Qiu a26bed52c0
Fix editor crash when exporting profiler data
(cherry picked from commit be79bdc8ab)
2021-05-21 13:41:27 +02:00
Hugo Locurcio 8063d69abd
List "Argument" for each extra bind argument in the connect dialog
This makes the dialog more explicit.

(cherry picked from commit 994dd314e0)
2021-05-21 13:41:27 +02:00
Hugo Locurcio 5e735a9c1f
Tweak highlight color in the editor Find in Files dialog
The new color is more visible against dark backgrounds.

(cherry picked from commit 82570dec90)
2021-05-21 13:41:27 +02:00
Lyuma a0b8c24d92
Fix incorrect skin deduplication when using named binds
(cherry picked from commit 60f620411e)
2021-05-21 13:41:27 +02:00
Lyuma ec6a3a0d0c
gltf: Fail gracefully when a mesh instance fails.
(cherry picked from commit 5a9eee6b1a)
2021-05-21 13:41:27 +02:00
K. S. Ernest (iFire) Lee d5b6cb4639
When one invalid image fails, it should only fail that single image.
Move to a more graceful degradation 3d asset import model.

(cherry picked from commit a81f4dd5a7)
2021-05-21 13:41:27 +02:00
jfons 2c400a7aae
Fix swapped front/rear directions in viewport rotation control.
(cherry picked from commit e70e33ddcf)
2021-05-21 12:55:25 +02:00
Hugo Locurcio 20f79287cd
Print a warning when importing a repeating NPOT texture in a GLES2 project
Repeating NPOT textures are not guaranteed to be displayed correctly
in GLES2, since the specification does not mandate support for it.

The warning is also displayed in GLES3 projects that are configured
to allow falling back to GLES2.
2021-05-20 20:38:47 +02:00
Rémi Verschelde d025f6f797
Merge pull request #48824 from aaronfranke/3.x-scd-minsize
Set a minimum size for status panel elements in ScriptCreateDialog
2021-05-20 18:03:45 +02:00
Ev1lbl0w 664f1828e2
Fix zip_root not being defined when importing by drag&drop
(cherry picked from commit 056deefa55)
2021-05-20 14:34:32 +02:00
Rémi Verschelde f479a7972f
Merge pull request #48883 from akien-mga/3.x-codespell-2.0.0
[3.x] Fix typos with codespell
2021-05-20 14:32:14 +02:00
Aaron Franke 573b7247bf
Set a minimum size for status panel elements in ScriptCreateDialog 2021-05-20 08:08:24 -04:00
Rémi Verschelde eb78f80f03
Fix typos with codespell
Using codespell 2.0.0.

Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
dof
doubleclick
fave
findn
GIRD
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF

$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2021-05-20 12:56:56 +02:00
Aaron Franke 1154b6264c
[3.x] Make is_equal_approx have explicit float and double versions 2021-05-20 06:50:09 -04:00
Hugo Locurcio a45db4c208
Fix crash when trying to save with no scenes and scripts open
This could occur when attempting to save project settings when
no scenes or scripts are open (which is common in a brand new project).

(cherry picked from commit 16876bec76)
2021-05-19 15:24:31 +02:00
Hugo Locurcio a9df687db6
Increase the TileSet editor's snap step to 1024
This also tweaks the autotile bitmaks mode property hint string.
2021-05-18 23:38:22 +02:00
Rémi Verschelde 72647cc55c
i18n: Sync translations with Weblate
(cherry picked from commit bcedd09742)
2021-05-18 12:09:38 +02:00
Rémi Verschelde 0a4eb472cf
Revert "Tweak lightmapper warning message to mention Rosetta emulation on macOS"
This reverts commit 47f869b731.

This is no longer needed after #48455.
2021-05-18 11:58:09 +02:00
Rémi Verschelde a246dceb51
FileSystem dock: Fix search shortcut
Follow-up to 533d3e7800 which used a shortcut
not defined in 3.x.
2021-05-17 13:32:44 +02:00
fox 533d3e7800
Make shortcut for focusing searchbar in filesystem dock
(cherry picked from commit 22e2e4334e)
2021-05-17 13:11:07 +02:00
kleonc 0a91c8e972
Fix crash after disabling plugin using set_force_draw_over_forwarding_enabled()
(cherry picked from commit 5a8314016a)
2021-05-17 13:09:14 +02:00
Hugo Locurcio 2eea00b036
Add "Support Godot Development" option to the editor's Help menu
(cherry picked from commit 3eae2f9c6d)
2021-05-17 13:06:11 +02:00
Pedro J. Estébanez 817ffc01e1
Make all file access 64-bit (`uint64_t`)
This changes the types of a big number of variables.

General rules:
- Using `uint64_t` in general. We also considered `int64_t` but eventually
  settled on keeping it unsigned, which is also closer to what one would expect
  with `size_t`/`off_t`.
- We only keep `int64_t` for `seek_end` (takes a negative offset from the end)
  and for the `Variant` bindings, since `Variant::INT` is `int64_t`. This means
  we only need to guard against passing negative values in `core_bind.cpp`.
- Using `uint32_t` integers for concepts not needing such a huge range, like
  pages, blocks, etc.

In addition:
- Improve usage of integer types in some related places; namely, `DirAccess`,
  core binds.

Note:
- On Windows, `_ftelli64` reports invalid values when using 32-bit MinGW with
  version < 8.0. This was an upstream bug fixed in 8.0. It breaks support for
  big files on 32-bit Windows builds made with that toolchain. We might add a
  workaround.

Fixes #44363.
Fixes godotengine/godot-proposals#400.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-05-16 17:52:31 +02:00
Rémi Verschelde 50f4c90205
i18n: Sync translations with Weblate
(cherry picked from commit f6c29d1cf5)
2021-05-14 13:23:57 +02:00
Yuri Sizov fc67ff3d0a
Keep custom editor theme when changing editor settings
(cherry picked from commit 56aedcee17)
2021-05-14 10:34:48 +02:00
Daniel Lungaro ede0d47ccd
Remove plugin from enabled if there's an error
inform user in warning message

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>

Refactor remove plugin from enabled

(cherry picked from commit 2bae31a4df)
2021-05-14 10:34:05 +02:00
llschuster 2a18909210
text-editor: fix Clicking warning doesn't center around line
(cherry picked from commit 6b55ec2ca9)
2021-05-13 23:22:54 +02:00
Yuri Sizov 01524c0430
Fix EditorPropertyEasing capturing drag events originated outside of it
(cherry picked from commit 31db95b048)
2021-05-13 23:22:06 +02:00
davidh ae2bc66eae Check for valid DynamicFontData before duplicate 2021-05-13 11:32:57 -05:00
Lightning_A 0c55ab1bb4 Add the ability to remove project contents from the remove project dialog 2021-05-11 11:06:37 -06:00
Hugo Locurcio 7027791959
Hide the 3D editor selection box when View Gizmos is disabled 2021-05-10 19:28:32 +02:00
Rémi Verschelde 6e920d0c14
TileSet: Fix signal disconnect error in some situation
Fixes second issue in #45938.

Co-authored-by: kleonc <9283098+kleonc@users.noreply.github.com>
2021-05-10 15:07:27 +02:00
Hugo Locurcio c318cf6ed2
Save the current script when pressing Ctrl + S if no scene is open
- Tweak the dialog messages to be more informative.
  - The "Saved N modified resources" dialog is not a warning per se,
    so make it more explicit.

(cherry picked from commit 39f9b92f54)
2021-05-09 17:47:38 +02:00
Kyle b47cd82f76
Add ctrl+shift+a to instance scene in scenetree dock
Adds another key shortcut to instance a scene in the scentree dock. Complements ctrl+a to add a node.

(cherry picked from commit ea5445655c)
2021-05-09 17:47:38 +02:00
Hugo Locurcio 8b06085249
Implement the `%command%` placeholder in the Main Run Args setting
This can be used to tell Godot to run an executable that will run Godot
rather than running Godot directly. This is useful to make Godot start
on the dedicated GPU when using a NVIDIA Optimus setup on Linux:
`prime-run %command%`

The `editor/run/main_run_args` setting declaration was moved to make it
visible in the ProjectSettings documentation.

(cherry picked from commit ce4aa07276)
2021-05-09 17:47:38 +02:00
Hugo Locurcio dc42ef2df9
Save the current script when adding a new method via signal connection
This makes it possible for external editors to pick up the changes.
Most modern editors should reload the file automatically,
but some older/lightweight editors may ask the user instead
(or only warn after trying to save in the external editor).

This closes #41283.

(cherry picked from commit 0ade686601)
2021-05-09 17:41:10 +02:00
Hugo Locurcio f4e653d88f
Improve the editor audio preview inspector appearance and functionality
- Make the timeline indicator thicker and with an indicator triangle,
  similar to the animation editor timeline.
- Add Space bar shortcut to play/pause the audio preview.
- Only seek when clicking or dragging with the left mouse button,
  not other mouse buttons.

(cherry picked from commit a50a81b703)
2021-05-09 17:41:09 +02:00
Hugo Locurcio 9f31877e15
Fix EditorPropertyResource focus outline being drawn behind the preview
(cherry picked from commit 0b47f1be8c)
2021-05-09 17:14:36 +02:00
Hugo Locurcio 30ec3870c9
Tweak the setting hint for the custom editor theme setting
The custom editor theme is only visible after restarting the editor.

(cherry picked from commit 027301fec7)
2021-05-09 17:14:36 +02:00
Kyle 629c3e2a0a
Remove extra separator
Removes an extra separator when Scene Tree Editing is disabled. Discussed in #48518

(cherry picked from commit e168baf433)
2021-05-09 17:14:36 +02:00
Kyle f711464030
Fixed cut/copy/paste visibility
Fixes #48514 by moving the visibility of these buttons into their own if statement that depends on if scene tree editing is allowed. Previously it was under the script editing setting which is unexpected as it works with nodes and the scene tree.

(cherry picked from commit 10d5d4d3cd)
2021-05-09 17:14:36 +02:00
Rémi Verschelde c8c8bcee50
Merge pull request #48540 from Calinou/editor-theme-allow-negative-contrast-3.x
Allow negative contrast values in the editor theme settings (3.x)
2021-05-09 16:38:02 +02:00
Pedro J. Estébanez 4da9a501f6 Add animation reset track feature
As a bonus, to have consistency between use Beziers and create insert tracks, use Beziers also gets a default via editor settings that is used when the confirmation dialog is disabled, instead of just falling back to creating non-Bezier tracks.
2021-05-09 09:40:16 +02:00
Hugo Locurcio e7e2ef0767
Allow negative contrast values in the editor theme settings
When using a negative contrast value, the base color will be lightened
to create the derivative colors instead of being darkened.

This can lead to better-looking themes, especially for light themes.
2021-05-07 18:14:52 +02:00
bruvzg dab4cf3ed6
Add `physical_scancode` (keyboard layout independent keycodes) to InputEventKey and InputMap.
Fix non-latin keyboard layout keycodes on Linux/X11 (fallback to physical keycodes).
2021-05-06 23:19:45 +03:00
Hugo Locurcio 42a4bd1ca2
Tweak the built-ins color highlighting in the shader editor
This makes built-ins easier to distinguish from keywords at a
quick glance.
2021-05-06 17:51:36 +02:00
Rémi Verschelde f34a8c7f0e
Merge pull request #47527 from Calinou/editor-translations-allow-multiple-selection-3.x
Allow selecting multiple files in the editor translation/remap dialogs (3.x)
2021-05-06 08:49:24 +02:00
Hugo Locurcio 35887a2afe
Allow selecting multiple files in the editor translation/remap dialogs
This makes it faster to add several translations.

The undo/redo messages were also tweaked to give better context.
2021-05-06 03:02:15 +02:00
Aaron Franke e82f56e3a9
Update size when updating ScriptCreateDialog 2021-05-05 18:10:17 -04:00
CaptainProton42 76f3f6949e
Fix 3D scene preview generation.
File system dock previews will now be generated for 3D scenes when no
editor feature profile is set.

(cherry picked from commit 16304aaa3b)
2021-05-05 15:28:12 +02:00