Commit graph

8344 commits

Author SHA1 Message Date
Rémi Verschelde
c00303ff55
Merge pull request #47378 from aaronfranke/use-input-enums
Use key enum instead of plain integers for input code
2021-08-11 11:20:45 +02:00
Rémi Verschelde
e81427e959
Merge pull request #51497 from Chaosus/vs_fix_addnode_zoomed
Fix incorrect position of the created VisualShader nodes on zoomed graph
2021-08-11 10:19:21 +02:00
Yuri Roubinsky
8249ae8085 Fix incorrect position of the created VisualShader nodes on zoomed graph 2021-08-11 10:53:26 +03:00
Rémi Verschelde
7d43da928f
Merge pull request #51490 from nekomatata/clean-character-body
Remove infinite inertia and ray shapes from CharacterBody
2021-08-11 08:04:09 +02:00
Aaron Franke
fa3a32a2d6
Use Key enum instead of plain integers 2021-08-10 16:26:55 -05:00
K. S. Ernest (iFire) Lee
18bd0fee5a
Merge pull request #49343 from theoway/node_auto_arrangement_graph_edit
Node Auto Arrangement in GraphEdit/VisualScript/VisualShader
2021-08-10 15:42:04 -04:00
Umang Kalra
12fc3f1eef Automatic arrangement of nodes in VisualScript/VisualShaders editors
This PR and commit adds the functionality to arrange nodes in VisualScript/VisualShader editor. The layout generated by this 
feature is compact, with minimum crossings between connections
& uniform horizontal & vertical gaps between the nodes. 

This work has been sponsored by GSoC '21.

Full list of additions/changes:
• Added arrange_nodes() method in GraphEdit module.
    • This method computes new positions for all the selected
      nodes by forming blocks and compressing them.
      The nodes are moved to these new positions. 
    • Adding this method to GraphEdit makes it available for 
      use in VisualScript/VisualShaders editors and its other
      subclasses. 
• Button with an icon has been added to call arrange_nodes() in GraphEdit. 
    • This button is inherited by VisualScript/VisualShaders editors
       to invoke the method.
• Undo/redo is functional with this method.
    • By using signals in arrange_nodes(), position changes are registered 
       in undo/redo stack of the subclass that is using the method. 
• Metadata of the method has been updated in ClassDB
• Method description has been added to class reference of GraphEdit
2021-08-11 00:44:28 +05:30
PouleyKetchoupp
4da3a87f7d Remove infinite inertia and ray shapes from CharacterBody
Infinite inertia:
Not needed anymore, since it's now possible to set one-directional
collision layers in order for characters to ignore rigid bodies, while
rigid bodies still collide with characters.

Ray shapes:
They were introduced as a work around to allow constant speed on slopes,
which is now possible with the new property in CharacterBody instead.
2021-08-10 12:10:26 -07:00
foxydevloper
e62ad6ad80 Improve drag and drop by supporting more file types & node types
Adds support for dragging in all files of type Texture2D for 2D.
Adds support for dragging in all files of type Mesh for 3D.
Replaces adding texture as Light2D with PointLight2D.
Add more node types that textures can be added as
- TextureButton
- CPUParticles2D
2021-08-10 13:05:17 -04:00
fox
20201b56c2 Improve naming of a couple shortcuts 2021-08-10 13:01:07 -04:00
Rémi Verschelde
dce488d8f7
Merge pull request #49417 from Bhu1-V/gsoc-cmd-plt
Command Palette For Godot
2021-08-10 18:55:22 +02:00
Aaron Franke
339687e04f
Organize methods in Viewport and explicitly name 3D methods with 3D 2021-08-10 09:10:34 -05:00
Rémi Verschelde
16d73fefdb
Merge pull request #50682 from aaronfranke/basis-looking-at
Move code for looking_at to Basis
2021-08-10 11:28:12 +02:00
Aaron Franke
430ad75963
Some work on double support 2021-08-09 17:43:48 -05:00
Aaron Franke
84f720966c
Use doubles for time in many other places 2021-08-09 14:05:42 -05:00
John Wigg
6acc63c13a Change PrismMesh editor icon to look like a prism. 2021-08-09 17:24:11 +01:00
Rémi Verschelde
0a38d5c8f7
Merge pull request #43158 from nathanfranke/fix-gradient-and-draw-tile
Fix Gradient and Color Picker checkerboard, Fix tile parameter for CanvasItem.draw_texture_rect
2021-08-09 16:47:58 +02:00
Yuri Roubinsky
90870fd48f
Merge pull request #51431 from Chaosus/vs_cosmetic
Added small offset to the content of nodes in VisualShader
2021-08-09 16:03:24 +03:00
Yuri Roubinsky
72a9ca1505 Added small offset to the content of nodes in VisualShader 2021-08-09 15:19:27 +03:00
Bhuvan Vemula
a0a019a998 Added EditorCommandPalette 2021-08-09 17:41:50 +05:30
Yuri Roubinsky
a1dd51f5e6 Fix some bugs in shader creation dialog (continue) 2021-08-09 11:49:57 +03:00
Yuri Roubinsky
617a9429de Fix some bugs in shader creation dialog 2021-08-09 10:03:54 +03:00
Michael Alexsander
bea868f750 Make property description in the animation editor actually show it 2021-08-08 22:56:34 -03:00
Rémi Verschelde
e010e05b3d
Merge pull request #51217 from timothyqiu/more-i18n
Fix various i18n failures
2021-08-08 19:25:00 +02:00
Rémi Verschelde
73cd3f0b38
Merge pull request #51395 from angad-k/pseudolocalization-squashed
Add pseudolocalization to Godot. (GSoC'21)
2021-08-08 17:55:30 +02:00
Angad Kambli
e79dde1cbb add pseudolocalization to Godot 2021-08-08 20:37:57 +05:30
Nathan Franke
051234e84e
Fix Gradient, Color Picker BG, Fix CanvasItem::draw_texture_rect p_tile 2021-08-07 16:40:50 -05:00
Yuri Roubinsky
5e5cd2495d Added editor dialog for easily creating shaders. 2021-08-07 21:02:13 +03:00
Rémi Verschelde
a7f96e07d0
Merge pull request #51326 from LightningAA/minor_view_rotation_gizmo_improvements-4.0
Minor visual improvements to the viewport rotation gizmo (again)
2021-08-07 12:41:25 +02:00
AndreaCatania
e4e4a02d3d Removes const from set functions on the Gizmos 2021-08-07 09:15:57 +02:00
Rémi Verschelde
9cb4fbe9d5
Merge pull request #47700 from Calinou/editor-mouse-wheel-change-scene-tabs
Allow using the mouse wheel to navigate scene tabs
2021-08-07 08:21:43 +02:00
Lightning_A
e1ad11f453 Minor visual improvements to the viewport rotation gizmo (again) 2021-08-06 14:39:13 -06:00
Yuri Sizov
45af2af214 Fix theme property descriptions in the Inspector 2021-08-06 17:12:43 +03:00
Rémi Verschelde
18fb2afcac
Merge pull request #51214 from Calinou/update-spinner-highlight-when-continuous
Change the editor update spinner color when updating continuously
2021-08-06 10:17:29 +02:00
K. S. Ernest (iFire) Lee
9d1979ba62 Make animation reset do less spam. 2021-08-05 11:33:01 -07:00
K. S. Ernest (iFire) Lee
d393708e75
Merge pull request #51285 from V-Sekai/reset-anim-spam
Reset baking should not spam on lack of animation players.
2021-08-05 13:17:18 -04:00
K. S. Ernest (iFire) Lee
48001d9cb9
Merge pull request #50797 from AndreaCatania/AndreaCatania-patch-4
Fix Static & Rigid body generation on mesh import.
2021-08-05 13:00:14 -04:00
K. S. Ernest (iFire) Lee
6fa7cf1380 Reset baking should not spam on lack of animation players. 2021-08-05 09:14:27 -07:00
Rémi Verschelde
dcf2a62b05
Merge pull request #51164 from TokageItLab/fix-gizmo-transform-scaling
Fixed gizmo forced implicit normalization and inconsistent rotation
2021-08-05 16:42:33 +02:00
Rémi Verschelde
4cf12d7895
Merge pull request #51215 from akien-mga/shortcut-rename-property-to-event
Shortcut: Rename `shortcut` property to `event`
2021-08-05 15:52:20 +02:00
Rémi Verschelde
342a0d45cf
Merge pull request #51250 from LightningAA/minor_view_rotation_gizmo_improvements-4.0
Minor visual improvements to the view rotation gizmo
2021-08-05 14:59:37 +02:00
Rémi Verschelde
9e5ebce1d9
Merge pull request #50707 from SirQuartz/patch-26 2021-08-05 13:50:42 +02:00
Rémi Verschelde
de2c2be19b
Shortcut: Rename shortcut property to event
Having a property which has the same name as its class leads to confusing
situations (e.g. `BaseButton` has a `shortcut` property of type `Shortcut`
which has a `shortcut` property of type `InputEvent`).

Also renames `is_event` to `matches_event`, and `is_valid` to `has_valid_event`
to better reflect what the methods check.
2021-08-05 13:48:43 +02:00
Yuri Sizov
bf2839ea3e Add theme item descriptions to the online documentation 2021-08-04 22:27:10 +03:00
Lightning_A
37b943be42 Minor improvements to the view rotation gizmo 2021-08-04 13:19:17 -06:00
Yuri Sizov
b27989ff67 Improve user communications in the theme editor 2021-08-04 18:26:36 +03:00
Haoyu Qiu
b38f528082 Disable save button when Inspector is not editing anything 2021-08-04 15:03:10 +08:00
Yuri Sizov
d3e413c659 Fix the editor theme application for the Mono build log 2021-08-03 22:13:32 +03:00
Haoyu Qiu
04ad838e2c Fix various i18n failures 2021-08-03 23:53:36 +08:00
Hugo Locurcio
a97c5b50db
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.
2021-08-03 17:29:40 +02:00
Fabio Alessandrelli
80fc90e82a
Merge pull request #50454 from Ev1lbl0w/gsoc21-dap
Implemented initial DAP support
2021-08-03 17:12:37 +02:00
Yuri Sizov
decd548223 Cache EditorResourcePicker's allowed types 2021-08-03 16:52:12 +03:00
Rémi Verschelde
74f5513d21
i18n: Sync template with current 3.x codebase
Weblate will now track the state of `3.x` to prepare for the 3.4 release.

(cherry picked from commit 92bafdcafb)
2021-08-03 11:07:47 +02:00
Rémi Verschelde
f618e7cf06
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:07:40 +02:00
Rémi Verschelde
57a5186b08
Merge pull request #51006 from foxydevloper/drag-drop-naming
Name nodes added when drag & dropping an image by `name_casing`
2021-08-03 09:38:03 +02:00
Rémi Verschelde
a7f24080a2
Merge pull request #51118 from SirQuartz/patch-39
Make the "View" menu in the 3D viewport stay open when selecting a checkbox
2021-08-03 09:35:17 +02:00
Yuri Roubinsky
a34a91a30b Added more input/output built-ins to visual shaders 2021-08-03 09:32:40 +03:00
Rémi Verschelde
a6374c6675
Merge pull request #50703 from Chaosus/vs_remove_subparticles_from_start
Removes EmitParticle node from the start functions in visual shader
2021-08-03 08:14:15 +02:00
Silc 'Tokage' Renew
4822499d70 Fixed gizmo forced uniform scale and inconsistent rotation 2021-08-03 14:17:22 +09:00
Rémi Verschelde
c17a541650
Merge pull request #51039 from nekomatata/layer-grid-32
Refactor layer property editor grid
2021-08-02 21:14:16 +02:00
Yuri Roubinsky
bd6b7c4b0f
Merge pull request #51144 from Chaosus/vs_version
Makes dictionary instead of string for visual shader version
2021-08-02 21:55:50 +03:00
Rémi Verschelde
610fbc556a
Merge pull request #51168 from akien-mga/dependency-move-to-trash
Dependency editor: Edit message about move to trash
2021-08-02 20:45:55 +02:00
Rémi Verschelde
c620ede327
Merge pull request #50122 from Paulb23/code_edit_auto_brace_completion 2021-08-02 20:44:39 +02:00
Yuri Roubinsky
94c6817b51 Makes dictionary instead of string for visual shader version
Update doc/classes/VisualShader.xml

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2021-08-02 21:34:19 +03:00
Rémi Verschelde
5360c2012c
Merge pull request #51004 from groud/tilemap_layers
Implements TileMap layers and move TileSetPlugins's functions to the TileMap node instead
2021-08-02 17:20:32 +02:00
Rémi Verschelde
b9d544b404
Merge pull request #51173 from RandomShaper/tidy_property_reversion
Fix up property reversion
2021-08-02 15:47:57 +02:00
Rémi Verschelde
f20c00a935
Merge pull request #51170 from timothyqiu/spin-slider-osx
Use Command+Drag in EditSpinSlider on macOS
2021-08-02 14:40:26 +02:00
Pedro J. Estébanez
24f2aaecc3 Fix up property reversion 2021-08-02 13:58:02 +02:00
Gilles Roudière
ad8b5cd5a4 Implements TileMap layers and move TileSetPlugins's functions to the TileMap node instead 2021-08-02 13:54:39 +02:00
Rémi Verschelde
33fd41472c
Merge pull request #49783 from aaronfranke/real-editor-plugins
Use real_t in editor plugins
2021-08-02 12:50:54 +02:00
Haoyu Qiu
4404c71ca1 Use Command+Drag in EditSpinSlider on macOS 2021-08-02 18:43:43 +08:00
Rémi Verschelde
face3203be
Merge pull request #50430 from goostengine/ctrl-enter-commit
VCS: Allow to stage and commit all files with Ctrl + Enter
2021-08-02 12:20:10 +02:00
Rémi Verschelde
41ed695ba2
Dependency editor: Edit message about move to trash
Fixes #47106.
2021-08-02 12:03:18 +02:00
Ev1lbl0w
7bccd5487e
Implemented initial DAP support
Implemented "output" event

Refactored "seq" field generation

Prevent debugging when editor and client are in different projects

Removed unneeded references to peer on the parser

Refactored way to detect project path

Implemented "setBreakpoints" request

Fix double events when terminating from client

Refactored "stopped" event

Implemented "stopped" with breakpoint event

Implemented "stackTrace", "scopes" and "variables" request

Report incoming number of stack dump variables

Implemented proper reporting of scopes and variables from stack frames

Prevent editor from grabbing focus when a DAP session is active

Implemented "next" and "stepIn" requests

Implemented "Source" checksum computing

Switched expected errors from macros to silent guards

Refactored message_id

Respect client settings regarding lines/columns behavior

Refactored nested DAP fields

Implement reporting of "Members" and "Globals" scopes as well

Fix error messages not being shown, and improved wrong path message
2021-08-02 10:43:35 +01:00
Aaron Franke
dbad475fc7
Use real_t in editor plugins
Also use const more often and delete dead code in CanvasItemEditor
2021-08-01 21:48:34 -05:00
Aaron Franke
9f3ae0adcd
Move code for looking_at to Basis 2021-08-01 12:49:02 -05:00
Paulb23
809a32c045 Clean up and complete CodeEdit inspector and docs 2021-08-01 12:24:19 +01:00
Rémi Verschelde
f06d201bb7
Merge pull request #51139 from Chaosus/fix_canvasitem_drag_warning
Prevent warning spam to console when dragging a CanvasItem in container
2021-08-01 13:15:02 +02:00
Paulb23
dd5a37f556 Move symbol lookup into CodeEdit 2021-08-01 12:06:33 +01:00
Paulb23
8f900ac178 Move line length guidelines into CodeEdit 2021-08-01 12:06:33 +01:00
Paulb23
d1a1ad127e Move brace matching into CodeEdit 2021-08-01 12:06:33 +01:00
Paulb23
12f0053555 Move auto brace completion to CodeEdit 2021-08-01 12:06:33 +01:00
Yuri Roubinsky
bb5729fd35 Prevent warning spam to console when dragging a CanvasItem in container 2021-08-01 13:01:46 +03:00
Yuri Roubinsky
c86aa2a705 Fix crash on doc dragging in script list panel 2021-08-01 12:20:11 +03:00
Rémi Verschelde
536f6a1472
Merge pull request #51124 from YeldhamDev/local_editor_dup_fix
Fix being able to add duplicate files in the Localization editor
2021-08-01 10:14:11 +02:00
Michael Alexsander
fb07cc8832 Fix being able to add duplicate files in the Localization editor 2021-07-31 19:35:46 -03:00
Nicholas Huelin
3ffd75107d
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.
2021-07-31 16:33:38 -04:00
Rémi Verschelde
007b877cb7
Merge pull request #51114 from pycbouh/editor-fix-audio-bus-colors
Fix theming in the audio bus editor
2021-07-31 22:13:21 +02:00
Rémi Verschelde
20fa3ec093
Merge pull request #51110 from pycbouh/editor-put-the-colon-back-in
Put multiple colons back into translated strings
2021-07-31 22:05:43 +02:00
Yuri Sizov
4013d03c45 Fix theming in the audio bus editor 2021-07-31 22:14:14 +03:00
Yuri Sizov
969ba687ef Put multiple colons back into translated strings 2021-07-31 20:08:07 +03:00
Haoyu Qiu
284c6c81eb Make action names translatable 2021-07-31 22:19:51 +08:00
Rémi Verschelde
20d46c5b9e
Merge pull request #46270 from RandomShaper/fix_can_reset
Rationalize property reversion
2021-07-31 14:13:24 +02:00
Rémi Verschelde
a35b4bf3ea
Merge pull request #51057 from V-Sekai/bake-reset-anim
Bake RESET animation.
2021-07-30 23:35:27 +02:00
Pedro J. Estébanez
db9e3f257f Rationalize property reversion 2021-07-30 22:36:55 +02:00
Nicholas Huelin
658b152bd8
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.
2021-07-30 15:10:05 -04:00
Rémi Verschelde
fd0775398b
Merge pull request #51078 from nekomatata/code-editor-theme-change-optimization
Optimize theme change in code editor
2021-07-30 20:47:31 +02:00
Rémi Verschelde
bc8a85b3e0
Merge pull request #50984 from Calinou/project-manager-vulkan-clustered-mobile
Expose Vulkan's clustered and mobile backends in the project manager
2021-07-30 20:32:22 +02:00
PouleyKetchoupp
7a0c210f9b 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:19:50 -07:00
PouleyKetchoupp
edc858ad82 Optimize theme change in code editor
Postpone applying the whole theme when a setting changes, to avoid
updating everything many times when the whole editor theme is changed.
2021-07-30 10:40:59 -07:00
Hugo Locurcio
d2b65c69e9
Expose Vulkan's clustered and mobile backends in the project manager
Since OpenGL will not be available in Godot 4.0, this exposes a
choice between Vulkan clustered and Vulkan mobile in the project manager.

Despite the name, Vulkan mobile has many benefits on desktop platforms.
It provides better performance on simple scenes, and ensures that you
won't accidentally use unsupported features while testing your project
on desktop platforms.

The Vulkan backend setting was made into a "basic" setting so that
it can be changed without having to enable the Advanced Settings toggle.

This also improves list formatting to use bullet points and tweaks
the property hint to be more descriptive.
2021-07-30 19:36:17 +02:00
Rémi Verschelde
83ccf39adc
Merge pull request #51067 from akien-mga/doc-return-argument-self-closing-tags
doc: Use self-closing tags for `return` and `argument`
2021-07-30 16:42:52 +02:00
Rémi Verschelde
92c5c46da7
Merge pull request #51041 from foxydevloper/new-resources-snake-case
Name new resource files with `snake_case`
2021-07-30 15:44:29 +02:00
Rémi Verschelde
7adf4cc9b5
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.
2021-07-30 15:29:52 +02:00
Rémi Verschelde
e95e33f251
Merge pull request #35891 from Calinou/editor-viewport-highlight-context-menus
Highlight context menu items at the top of the 2D/3D viewports
2021-07-30 15:18:48 +02:00
Hugo Locurcio
e92297cc3d
Make the focus outline translucent for editor viewports
This makes the focus outline less distracting on the
2D and 3D editor viewports.
2021-07-30 14:20:54 +02:00
Rémi Verschelde
6d5c1086c3
Merge pull request #50982 from Calinou/editor-use-bullet-points
Use bullet points in the editor instead of dashes where relevant
2021-07-30 13:42:20 +02:00
K. S. Ernest (iFire) Lee
b742076e17 Bake RESET animation.
Co-authored-by: MMMaellon <mmmaellon@gmail.com>
Co-authored-by: Eron <rufsketch1@gmail.com>
2021-07-30 02:00:21 -07:00
Rémi Verschelde
74aa7e26e9
Merge pull request #51011 from foxydevloper/drag-drop-root-default 2021-07-30 09:02:09 +02:00
foxydevloper
ae7a74625d Name new resource files with snake_case 2021-07-29 20:53:33 -04:00
foxydevloper
f641327dcf Make drag and drop into viewport add to root node by default
When dragging and dropping a texture, mesh, or scene from the FileSystem into the
2D or 3D viewport, it will be added as a child of the current scene's root node.
2021-07-29 15:47:42 -04:00
kleonc
8a48cb466e SpriteFramesEditor: preserve source texture margins when creating frames from AtlasTexture 2021-07-29 20:18:39 +02:00
Rémi Verschelde
140905df8d
Merge pull request #51024 from Chaosus/clear_processes_ids
Clear debug process identifiers array at `stop()` to prevent invalid checking of them
2021-07-29 18:39:49 +02:00
Yuri Roubinsky
a03af773e8 Clear debug process id at stop() to prevent invalid checking of them 2021-07-29 19:08:15 +03:00
Haoyu Qiu
f9aad98d36 Remove colon from column titles 2021-07-29 22:01:07 +08:00
Rémi Verschelde
4cfa9bc0f1
Merge pull request #50989 from SirQuartz/patch-35
Fix duplicate shortcut for paint and erase in TileMap editor
2021-07-29 10:04:54 +02:00
Haoyu Qiu
80e4c8626d Hide open doc button when not inspecting anything 2021-07-29 15:07:55 +08:00
foxydevloper
07a8f0fe38 Name nodes added from drag & drop by name_casing 2021-07-29 00:29:24 -04:00
Nicholas Huelin
28f45e923c
Fix duplicate shortcut in TileMap Editor
This pull request fixes an issue where the paint and erase tools in the TileMap editor had the same shortcut (E). The erase tool having "E" be its shortcut makes more sense than the paint tool having that be its shortcut. So I changed the paint tool's shortcut to be "D" since nothing else uses it and it's short for "draw", it's also right next to "S" on the keyboard which happens to be the selection tool.
2021-07-28 17:33:17 -04:00
Hugo Locurcio
07dbe2045a
Use bullet points in the editor instead of dashes where relevant 2021-07-28 19:40:45 +02:00
Rémi Verschelde
60eb508fbb
Merge pull request #50961 from YeldhamDev/embed_windows_fixes
Multiple cosmetic fixes for embedded windows
2021-07-28 18:24:07 +02:00
Hugo Locurcio
026aea681d
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.
2021-07-28 16:04:48 +02:00
Rémi Verschelde
7f0a83c129
Merge pull request #50597 from Calinou/3d-editor-improve-manipulation-gizmo
Improve the 3D editor manipulation gizmo
2021-07-28 15:33:24 +02:00
Rémi Verschelde
9f5436c799
Merge pull request #50826 from Calinou/editor-improve-mesh-uv-preview
Improve MeshInstance3D UV preview in the editor
2021-07-28 15:30:29 +02:00
Michael Alexsander
79fc188fc4 Multiple cosmetic fixes for embedded windows 2021-07-27 23:55:06 -03:00
Hugo Locurcio
81d2d2b41a
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-27 16:45:02 +02:00
Rémi Verschelde
0f7b7bcbce
Merge pull request #50836 from Calinou/3d-editor-camera-preview-add-shortcut
Add shortcut to toggle the 3D editor's camera preview
2021-07-27 13:34:10 +02:00
Rémi Verschelde
41013e4f9a
Merge pull request #50933 from JFonS/gizmo_rework_improvements 2021-07-27 13:19:46 +02:00
Rémi Verschelde
d3d24d3821
Merge pull request #50912 from Chaosus/fix_editor_3d_icon_theme_changing
Fix icon colors in 3d editor on theme changing
2021-07-27 13:06:15 +02:00
jfons
d7b58ebc9c Fixes to editor subgizmos
* Fixed subgizmo editing on scaled nodes.
* Added more clarifications on the coordinate space of subgizmos.
* Given input priority to the transform gizmo over subgizmo selection.
2021-07-27 12:55:57 +02:00
K. S. Ernest (iFire) Lee
2fa4b59f99
Merge pull request #50355 from Calinou/immediategeometry3d-remove-remains
Remove the remains of ImmediateGeometry3D
2021-07-27 00:54:23 -07:00
Yuri Roubinsky
88e3d13416 Fix icon colors in 3d editor on theme changing 2021-07-26 22:50:09 +03:00
Rémi Verschelde
fab3412139
Merge pull request #50899 from akien-mga/refref
Use Ref<T> references as iterators where relevant
2021-07-26 19:45:04 +02:00
Rémi Verschelde
92299989bd
Use Ref<T> references as iterators where relevant
And const when possible.
2021-07-26 19:27:11 +02:00
SaracenOne
fbda490d0f Removing bounding box calculations from 3D scene drag and drop and collide against physics rather than visual geometry. 2021-07-26 17:38:48 +01:00
Rémi Verschelde
8f6c16e4a4
Merge pull request #50847 from reduz/implement-binary-shader-compilation
Implement Binary Shader Compilation
2021-07-26 17:09:48 +02:00
Rémi Verschelde
bf4dba5ff4
i18n: Sync translations with Weblate
(cherry picked from commit c406c8512f)
2021-07-26 16:23:31 +02:00
reduz
cf3f404d31 Implement Binary Shader Compilation
* Added an extra stage before compiling shader, which is generating a binary blob.
* On Vulkan, this allows caching the SPIRV reflection information, which is expensive to parse.
* On other (future) RenderingDevices, it allows caching converted binary data, such as DXIL or MSL.

This PR makes the shader cache include the reflection information, hence editor startup times are significantly improved.
I tested this well and it appears to work, and I added a lot of consistency checks, but because it includes writing and reading binary information, rare bugs may pop up, so be aware.
There was not much of a choice for storing the reflection information, given shaders can be a lot, take a lot of space and take time to parse.
2021-07-26 08:40:39 -03:00
Rémi Verschelde
5707c5d0ff
Merge pull request #48620 from Calinou/editor-3d-hide-selection-box-no-gizmos
Hide the 3D editor selection box when View Gizmos is disabled
2021-07-26 12:44:50 +02:00
kobewi
bba76e45ff Fix undo for bucket tool in tile map 2021-07-26 11:24:34 +02:00
luz paz
5cf3bed0c8 Fix various typos
Follow-up typos found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,fave,findn,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint`
2021-07-25 07:18:25 -04:00
Hugo Locurcio
75dc0d1869
Add shortcut to toggle the 3D editor's camera preview
A Camera3D 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:53:38 +02:00
Rémi Verschelde
ff0b5f8fa1
Merge pull request #50809 from akien-mga/iterators-const-references 2021-07-25 12:52:58 +02:00
Rémi Verschelde
ac3322b0af
Use const references where possible for List range iterators 2021-07-25 12:22:25 +02:00
luz paz
3564c16cb8
Fix various typos with codespell
Found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,fave,findn,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint`
2021-07-25 11:21:51 +02:00
Hugo Locurcio
8cdfd2e706
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.
2021-07-25 01:11:24 +02:00
Rémi Verschelde
2bf903e98d
Merge pull request #50791 from foxydevloper/select-mode-tooltip-improvation
Improve select tool's tooltip for 2D and 3D
2021-07-24 23:45:44 +02:00
Rémi Verschelde
f6599e05a7
Merge pull request #50816 from aaronfranke/iterators-fix-scene-import
Fix scene import following List iterator changes
2021-07-24 21:22:47 +02:00
Aaron Franke
c0ce2b3397
Fix scene import following List iterator changes 2021-07-24 14:56:53 -04:00
Rémi Verschelde
2b1e6e303e
Merge pull request #50786 from reduz/implement-resource-uids
Implement Resource UIDs
2021-07-24 17:18:12 +02:00
Rémi Verschelde
96d7bc62af
Merge pull request #50511 from aaronfranke/iterators
Use C++ range iterators for Lists in many situations
2021-07-24 14:21:06 +02:00
reduz
32b43cfeb3 Implement Resource UIDs
* Most resource types now have unique identifiers.
* Applies to text, binary and imported resources.
* File formats reference both by text and UID (when available). UID always has priority.
* Resource UIDs are 64 bits for better compatibility with the engine.
* Can be represented and used textually, example `uuid://dapwmgsmnl28u`.
* A special binary cache file is used and exported, containing the mappings.

Example of how it looks:

```GDScript
[gd_scene load_steps=2 format=3 uid="uid://dw86wq31afig2"]

[ext_resource type="PackedScene" uid="uid://bt36ojelx8q6c" path="res://subscene.scn" id="1_t56hs"]
```

GDScript, shaders and other special resource files can't currently provide UIDs, but this should be doable with special keywords on the files.
This will be reserved for future PRs.
2021-07-24 09:16:52 -03:00
Rémi Verschelde
9ac27b58c5
Merge pull request #50795 from Calinou/editor-profiler-display-time-add-tooltips
Add a tooltip for Inclusive and Self in the editor profiler
2021-07-24 10:20:08 +02:00
Andrea Catania
21a13649be
Fix Static & Rigid body generation on mesh import.
The function `_gen_shape_list` is using the resource `Res<Mesh>`, but during the import phase the resource used is instead `Ref<EditorSceneImporterMesh>`.

Note: the `Ref<EditorSceneImporterMesh>` is an intermediate resource, that will be used to create a `Res<Mesh>` at the end of the import process. `Ref<EditorSceneImporterMesh>` and `Ref<Mesh>` are not inheriting each other, so the internal cast done by `Ref<>` during the assignment, is always null:

```c++
Ref<EditorSceneImporterMesh> import_mesh(/* Assume it's initialized */);
CRASH_NOW(import_mesh.is_null());

Ref<Mesh> mesh = import_mesh;
CRASH_NOW(mesh.is_null()); // <--- Here we have a crash, since it's impossible perform the above cast, and the `mesh` is always null.
```

Here the full list of call to `_gen_shape_list`, where we can notice that a `Ref<EditorSceneImporterMesh>` is passed:
- https://github.com/AndreaCatania/godot/blob/master/editor/import/resource_importer_scene.cpp#L428
- https://github.com/AndreaCatania/godot/blob/master/editor/import/resource_importer_scene.cpp#L454-L458
- https://github.com/AndreaCatania/godot/blob/master/editor/import/resource_importer_scene.cpp#L512-L516

As you can notice, we always pass the following mesh: `Ref<EditorSceneImporterMesh> mesh = mi->get_mesh();`.

We already have the function `_pre_gen_shape_list` that executes the exact same job but using the correct type; Since there is no further usage of the function `_gen_shape_list` in the code base, I think it's just some leftover code, so I removed it entirely to use the proper function.
2021-07-24 08:39:18 +02:00
Hugo Locurcio
e837e04ef8
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.
2021-07-24 06:24:24 +02:00
Aaron Franke
4e6efd1b07
Use C++ iterators for Lists in many situations 2021-07-23 17:38:28 -04:00
foxydevloper
6b90e2df6c 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
2021-07-23 17:30:45 -04:00
Rémi Verschelde
aa4babdc06
Merge pull request #50762 from TokageItLab/fix-node-selection-signal 2021-07-23 22:14:55 +02:00
Rémi Verschelde
4c3d5850de
Merge pull request #50748 from JFonS/gizmo_rework
Node3D gizmo improvements
2021-07-23 21:55:16 +02:00
jfons
cfb555a081 Node3D gizmo improvements
* Clean-up of node_3d_editor_plugin.{h,cpp}: removed unused code, fixed some bugs.
* Moved node_3d_editor_gizmos.{h,cpp} to editor/plugins.
* Added support for multiple gizmos per node. This means custom gizmos will no longer override the built-in ones and that multiple gizmos can be used in more complex nodes.
* Added support for handle IDs. When adding handles to a gizmo, an ID can be specified for each one, making it easier to work with gizmos that have a variable number of handles.
* Added support for subgizmos, selectable elements that can be transformed without needing a node of their own. By overriding _subgizmo_intersect_frustum() and/or _subgizmo_intersect_ray() gizmos can define which subgizmos should be selected on a region or click selection. Subgizmo transformations are applied using get/set/commit virtual methods, similar to how handles work.
2021-07-23 21:01:10 +02:00
Rémi Verschelde
c25fa02c1c
Merge pull request #50765 from Calinou/resource-importer-expose-order-enum
Expose an ImportOrder enum in ResourceImporter
2021-07-23 19:32:44 +02:00
kobewi
2846dbf239 Don't set metadata_label font if it doesn't exist 2021-07-23 16:29:49 +02:00
Rémi Verschelde
8cddd3b2c0
Merge pull request #50768 from Calinou/editor-asset-library-urls-clarify
Clarify the purpose of the default asset library URLs in the editor
2021-07-23 15:40:01 +02:00
Nick Huelin
580cb62986 Fix less relevant quick open scene results
This pull request improves the accuracy of the quick open scene results.
2021-07-23 09:10:42 -04:00
Rémi Verschelde
995093f59d
Merge pull request #37760 from KoBeWi/rect_edit_level_up
Allow for easier editing of rect CollisionShape2D
2021-07-23 14:38:04 +02:00
Hugo Locurcio
eac8ba6ce8
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.
2021-07-23 13:02:04 +02:00
Hugo Locurcio
7f83977f37
Expose an ImportOrder enum in ResourceImporter
This avoids using magic numbers in code.
2021-07-23 12:12:25 +02:00
Silc 'Tokage' Renew
b7bc609782 Remove extra signal firing in SELECT_MULTI mode 2021-07-23 17:53:16 +09:00
Silc 'Tokage' Renew
32640edac7 Revert "Fix duplicate selection in SceneTree"
This reverts commit 7d20d78847.

# Conflicts:
#	editor/scene_tree_editor.cpp
2021-07-23 17:34:21 +09:00
Rémi Verschelde
90aab0402b
Merge pull request #50746 from LightningAA/fix-texture-preview-crash-4.0
Fix `TexturePreview` crashing
2021-07-22 23:33:11 +02:00
Lightning_A
8ad00087ce Fix TexturePreview crashing 2021-07-22 13:43:34 -06:00
reduz
75755beeee
Implement textual ext/subresource IDs.
* Friendlier with version control.
* Generates pseudo unique IDs, to minimize conflicts when merging, but still
  user readable (so, not UUID).
* Eventually will also allow to have more precisely named sub-resources in
  imported files.
* This will allow better reloading on changes (including resources already
  loaded) as well as better keeping track of changes on the DCC.
* Keeps backward compatibility with the old formats.
* Binary and text format version incremented to mark breakage in forward
  compatibility.
2021-07-22 19:37:47 +02:00
Rémi Verschelde
6b1886f998
Merge pull request #50319 from nekomatata/optimize-node-path-check
Optimize NodePath update when renaming or deleting nodes in the editor
2021-07-22 12:13:10 +02:00
Yuri Roubinsky
80bd8171d0 Removes EmitParticle node from the start functions in visual shader 2021-07-21 17:56:01 +03:00
Gilles Roudière
5d34a81e52 Implement atlas merging and tile proxies 2021-07-21 12:36:37 +02:00
Rémi Verschelde
a42e892fde
Merge pull request #50684 from Chaosus/fix_output_theme_colors
Fix Output panel colors on theme changing
2021-07-21 11:16:52 +02:00
Rémi Verschelde
d4bbdb8367
Merge pull request #50521 from aaronfranke/iseqapprox
Use `is_equal_approx` in more places
2021-07-21 11:16:19 +02:00
Yuri Roubinsky
9ceeb5f9dd Fix Output panel colors on theme changing 2021-07-21 11:22:33 +03:00
Aaron Franke
78b0a7da03
Use is_equal_approx in more places 2021-07-21 00:32:37 -04:00
foxydevloper
429382b7e5 Fix hidden seperators when horizontal frames is 1 2021-07-20 19:01:08 -04:00
Rémi Verschelde
e248d2629a
Merge pull request #50662 from SirQuartz/patch-25
Fix visual script icons
2021-07-21 00:23:52 +02:00
Nick Huelin
e50ab50169 Fix visual script icons
This pull request fixes an issue where the visual script icons weren't representative of their data.
2021-07-20 17:23:42 -04:00
Rémi Verschelde
c82daaed48
Merge pull request #38317 from verdog/get-cam-2d-4.0
add viewport.get_camera_2d()
2021-07-20 22:19:06 +02:00
foxydevloper
1d0a437b2d Make "remove action" translatable in Input Map 2021-07-20 14:07:42 -04:00
Rémi Verschelde
bb037de95c
Merge pull request #50649 from KoBeWi/🐛
Fix Change Node Type after Add Node Here
2021-07-20 17:24:27 +02:00
Rémi Verschelde
67d3195c60
Merge pull request #50648 from foxydevloper/remove-weird-prints
Remove leftover prints when using shader global variables
2021-07-20 17:23:39 +02:00
kobewi
31a81562a8 Fix Change Node Type after Add Node Here 2021-07-20 16:47:57 +02:00
Michael Alexsander
be1d5b0e73 Minor enhancements for the TileMap editor 2021-07-20 11:20:14 -03:00
Rémi Verschelde
a0d13995c8
Merge pull request #50621 from KoBeWi/feel_good_scroll
Add scrolling to tile atlas view
2021-07-20 13:04:32 +02:00
kobewi
1bb2340652 Add scrolling to tile atlas view 2021-07-20 12:36:01 +02:00
Rémi Verschelde
313c88ef39
Merge pull request #50631 from timothyqiu/add-item-type
Improve add item type UI in theme editor
2021-07-20 12:05:49 +02:00
Rémi Verschelde
1af58e046e
Merge pull request #50500 from LightningAA/simplify-subviewport-preview-editor-theme
Remove unnecessary `get_editor_theme()` in `SubViewportPreview`
2021-07-20 11:19:07 +02:00
Rémi Verschelde
8b1c60c1a3
Merge pull request #50505 from Calinou/editor-create-dialog-display-class-name
Display the class name in the description
2021-07-20 11:15:38 +02:00
Haoyu Qiu
4501df3727 Improve add item type UI in theme editor 2021-07-20 16:56:52 +08:00
Rémi Verschelde
d7811c72ed
Merge pull request #50593 from SirQuartz/patch-24
Fix Illegible text in audio bus editor
2021-07-20 10:48:11 +02:00
Rémi Verschelde
394191c02f
Merge pull request #50605 from Calinou/tweak-shader-code-style
Use C++11 raw literals for shader code to improve readability
2021-07-20 10:05:13 +02:00
Rémi Verschelde
87d8927ab0
Merge pull request #50624 from foxydevloper/translate-more-strings
Make various strings translatable
2021-07-20 09:45:17 +02:00
Rémi Verschelde
2f060df059
Merge pull request #50498 from LightningAA/zoom-out-alt-4.0
Add shift + [1-5] keyboard shortcuts to zoom out
2021-07-20 09:01:30 +02:00
Rémi Verschelde
14c2f5d2a5
Merge pull request #50627 from Atlinx/fix_50617
Add scaling to the curve editor's handles
2021-07-20 08:56:58 +02:00
Rémi Verschelde
1ba87f0c82
Merge pull request #50618 from reduz/implement-more-specialization-constants
Implement more rendering options as specialization constants
2021-07-20 08:54:21 +02:00