Commit Graph

6947 Commits

Author SHA1 Message Date
Yuri Sizov
b32acc57f3 Make the theme editor correctly stop updating after it was hidden 2021-12-29 23:40:23 +03:00
Yuri Sizov
d9bf3e5e35 Fix return type for the exposed EditorResourcePicker method 2021-12-29 21:57:14 +03:00
Ryan Roden-Corrent
be2203bf9f
Copy/Paste property paths/values in inspector.
Resolves godotengine/godot-proposals#106.

Adds the following property menu options with default bindings:

- Copy Property (ctrl+c)
- Paste Property (ctrl+v)
- Copy Property Path (ctrl+shift+c)

If you hover over a property label in the inspector dock, you can copy
either the property value or the property path to the system clipboard
using the shortcuts above This is especially useful for the
`AnimationTree`, where code might reference properties like
"parameters/state/aim/move/blend_position".

One issue is that if you click a property, then click on the node you
currently have selected in the node tree, then press ctrl+shift+c, it
will still copy the selected property path rather than the node path. If
you click on a different node in the nodetree, however, ctrl+shift+c
will return to copying the nodepath.

The property value copy/paste was implemented by KoBeWi at #39398 and
merged into this PR due to their similarity.

Backport of 0205fffbf3 from master.
2021-12-27 11:14:53 -05:00
Michael Alexsander
d00e183512 Fix undo/redo operations in Input Map 2021-12-24 12:17:34 -03:00
Rémi Verschelde
9d17215dbf
i18n: Sync editor translations with Weblate
(cherry picked from commit 0fe94ee6e5)
2021-12-21 12:33:56 +01:00
kobewi
f874df58f7
Allow to copy foreign nodes
(cherry picked from commit bd6e9e0d6e)
2021-12-21 11:27:44 +01:00
Pedro J. Estébanez
4f38a9e4d6
Stop asuming a default value of NIL means there's no default
(cherry picked from commit 18663aa305)
2021-12-21 11:27:14 +01:00
jabcross
a074b66380
Allow selection in asset description
Many assets include links in the description.
This change enables selection for the links,
and other information such as version numbers,
to be copied/pasted.

(cherry picked from commit 814a4ee434)
2021-12-21 11:25:57 +01:00
kleonc
d0a5580321
EditorAtlasPacker Fix incorrectly deducing zero height in some cases
(cherry picked from commit 46eebf11ca)
2021-12-21 11:21:23 +01:00
bruvzg
59085d5051
[Windows] Improve console handling and execute.
Always build with the GUI subsystem.
Redirect stdout and stderr output to the parent process console.
Use CreateProcessW for blocking `execute` calls with piped stdout and stderr (prevent console windows for popping up when used with the GUI subsystem build, and have more consistent behavior with non-blocking calls).
Add `open_console` argument to the `execute` to open a new console window (for both blocking and non-blocking calls).
Remove `interface/editor/hide_console_window` editor setting.
Remove `Toggle System Console` menu option.
Remove `set_console_visible` and `is_console_visible` functions.
2021-12-18 10:13:27 +02:00
Haoyu Qiu
2bff705e13 Improve axis awareness and visibility for Position2D and Position3D
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2021-12-18 12:53:24 +08:00
Haoyu Qiu
d99a313fd3 Fix font preview text color on light background 2021-12-18 00:34:54 +08:00
Rémi Verschelde
660e8e7bb8
i18n: Sync editor translations with Weblate
(cherry picked from commit 8a30e04fd1)
2021-12-16 15:15:41 +01:00
Rémi Verschelde
a90cac7ba4
Merge pull request #55988 from timothyqiu/http-proxy-3.x 2021-12-16 13:09:07 +01:00
Haoyu Qiu
1cada6bfa9 Add proxy support for HTTPClient and the editor
* Adds proxy related methods for `HTTPClient` and `HTTPRequest`
* Adds `network/http_proxy/{host,port}` editor settings
* Makes AssetLib and Export Template Manager proxy aware
2021-12-16 19:38:53 +08:00
Haoyu Qiu
c11b1850c4 Make --doctool locale aware
* Adds `indent(prefix)` to `String`
* Moves the loading of tool/doc translation into
  `editor/editor_translation.{h,cpp}`
* Makes use of doc translation when generating XML class references, and
  setup the translation locale based on `-l LOCALE` CLI parameter.

The XML class reference won't be translated if `-l LOCALE` parameter is
not given, or when it's `-l en`.
2021-12-16 18:27:32 +08:00
Hugo Locurcio
69f7f7310d
Make EditorSpinSlider grabbers thicker to be more noticeable 2021-12-15 17:18:53 +01:00
Yuri Sizov
9c155a25d0 Improve user communication in the Add Item Type dialog 2021-12-14 17:22:37 +03:00
Zae
1426df66a8 Fix ViewportPreview upside-down in 3.x. 2021-12-12 00:53:49 +08:00
Rémi Verschelde
3e41e8dfa0
Merge pull request #55521 from Calinou/editor-spin-slider-float-draw-filled-slider-3.x 2021-12-10 19:00:31 +01:00
Rémi Verschelde
e82091db51
Merge pull request #55782 from RPicster/3.x-gpu-particle-vis-rect 2021-12-10 13:50:45 +01:00
Rémi Verschelde
eac0d90c39
Merge pull request #55560 from pycbouh/docs-overridden-cross-linked-3.x
[3.x] Make overridden properties link to parent definition
2021-12-10 12:42:09 +01:00
Rémi Verschelde
95f895f087
i18n: Remove deleted translations from PO files
Since we bundle the whole files in the editor binary, they actual impact the
binary size needlessly.

Automate it via `make merge`.

(cherry picked from commit 6fb47a271f)
2021-12-10 11:52:45 +01:00
Rémi Verschelde
6b1fa33c55
i18n: Sync editor translations with Weblate
(cherry picked from commit fd86272ca0)
2021-12-10 11:52:35 +01:00
Raffaele Picca
995408b492 GPU Particles (2D + 3D) visibility rect / gizmo optimization for reduced visual clutter 2021-12-10 11:22:44 +01:00
Hugo Locurcio
d879540456
Improve accent color modulate visibility for the Anchor editor icon
This switches to the default icon color so that the accent color
modulation becomes more easily visible.

(cherry picked from commit f0c7d78ebf)
2021-12-10 11:18:04 +01:00
Maverick Liberty
e6cee71097
ResourceImporterScene: Add error when "default" is not defined to create clips
(cherry picked from commit 4b9e12b8c0)
2021-12-10 11:08:13 +01:00
Cory Petkovsek
3d20218dae Clears RIDs wherever they are freed by VisualServer or PhysicsServer and possibly reused. Fixes #53374 2021-12-10 02:31:30 +08:00
Raul Santos
229489f7b7
Expose ScriptEditor::edit to scripting
Exposes a method in `EditorInterface` to open scripts on a specified
line and column. This method handles if the internal or the external
editor should be used.

(cherry picked from commit 9535831866)
2021-12-09 12:05:14 +01:00
kobewi
6eb1c92cea Fix custom built-in script names 2021-12-08 14:04:10 +01:00
Rémi Verschelde
643a9a3420
Merge pull request #55526 from pycbouh/docs-sort-group-newline-theme-and-enums-3.x 2021-12-07 12:14:48 +01:00
kobewi
4405daa09b
Allow to add RESET values from existing keys
(cherry picked from commits f77a494d22
and b7d83689e4)
2021-12-06 18:26:15 +01:00
Haoyu Qiu
dcb5d7a14f
Fix EditorPlugin.remove_inspector_plugin() instance cleanup
(cherry picked from commit da94b61d09)
2021-12-06 16:52:00 +01:00
kobewi
d0569255f2
Properly reload built-in tool scripts
(cherry picked from commit 75e8eafa72)
2021-12-06 16:51:55 +01:00
lawnjelly
3d981b8265 Add option to use handles to RID
Adds an option to compile an alternative implementation for RIDs, which allows checks for erroneous usage patterns as well as providing leak tests.
2021-12-06 14:43:34 +00:00
kobewi
f899b76747 Improve save handling for built-in scripts 2021-12-04 01:28:52 +01:00
Yuri Sizov
1cf6d21f69 Make overridden properties link to parent definition
Co-authored-by: Josh DeGraw <joshmdegraw@gmail.com>
2021-12-03 17:48:49 +03:00
kobewi
eef08ea3e0
Show mouse position when clicking ruler tool
(cherry picked from commit 0f7d7c9ffb)
2021-12-03 12:19:47 +01:00
Marcel Admiraal
e0729b9c79 Allow any kind of Mesh to be added to an EditorSpatialGizmo 2021-12-03 08:51:38 +00:00
Yuri Sizov
eb98210be4 Allow scrolling theme preview when the control picker is active 2021-12-02 19:03:31 +03:00
Raul Santos
ba3e1d6ced Skip script property in remote object property list 2021-12-02 12:37:17 +01:00
Rémi Verschelde
f36debf8de
Merge pull request #55232 from Calinou/script-editor-add-replace-in-files-3.x 2021-12-02 09:38:01 +01:00
Yuri Sizov
ebd8101546 Sort and group theme properties in docs, improve formatting for theme and enums 2021-12-01 22:48:17 +03:00
Hugo Locurcio
9d3acbfad9
Draw the filled part of the slider on float EditorSpinSliders
This makes it more obvious that the slider has a "filled" part
on the left, which improves visibility especially in wider inspectors
(such as the Project Settings and Editor Settings).
2021-12-01 19:12:31 +01:00
janglee
0b327eb46e VCS: Add push, pull, fetch and improved diff view to VCS UI
This commit was created by merging the commits presented in #39255 for
the GSoC 2020 VCS Improvement project

VCS: Make EditorVCSInterface store less amount of internal state

VCS: Add force push checkbox + more frequent VCS updates

Add force push checkbox in the Commit dock. Also add some missing
opportunities for checking the VCS state again on from UI inputs

VCS: Fix script contents not being updated on merge conflict

VCS: Add branch creation VCS interface calls

VCS: Add VCS remote creation and remote selection menus

VCS: Show more commit information + Fix truncated commit offsets

VCS: Make VCS less noisy + Fix diff view refreshes

VCS: Fix mismatched argument names in VCS helpers

VCS: Add SSH transport support for remote operations

Also, moves the editor's VCS settings registrations to
project_settings.cpp and editor_settings.cpp

VCS: Change TTR() to vformat() for branch and remote removal text

VCS: Add VCS branch icon instead of using Tree node icon

Co-authored-by: @ChronicallySerious
2021-12-01 22:52:07 +05:30
Rémi Verschelde
c2470f5298
EditorInspector: Add missing arg names for GDNative 2021-12-01 17:34:38 +01:00
kobewi
009e4a3d18
Mention that Ctrl+Alt with select tool will scale
(cherry picked from commit dc472622cc)
2021-12-01 14:25:55 +01:00
kobewi
24c52f8d67
Improve language lists in localization editor
(cherry picked from commit 30df260810)
2021-12-01 14:23:08 +01:00
Yuri Sizov
62c34a6be7 Fix a crash in editor's script parent class check 2021-11-30 17:12:23 +03:00
kobewi
fd8eb47ee5
Show scene when showing built-in script file
(cherry picked from commit 512e260af4)
2021-11-29 16:10:29 +01:00
Wilson E. Alvarez
1a2153eb0a
Fix 'Add Node...' menu entries in AnimationNodeBlendTreeEditor 2021-11-28 09:08:02 -05:00
Haoyu Qiu
420ec1f84a
Fix Theme Editor crash when clicking the element picker
(cherry picked from commit abd41dedb0)
2021-11-25 22:06:15 +01:00
kobewi
b8af671a95
Improved some editor checkboxes
(cherry picked from commit 5dc7346ab4)
2021-11-25 22:03:59 +01:00
Rémi Verschelde
00342b7d36
Merge pull request #55235 from Giwayume/bugfix/atlas_cutoff_edge_3.x
[3.x] Atlas import 1px missing from right side of non-cropped image.
2021-11-24 08:03:05 +01:00
Giwayume
88c1411051 Fix edge case where 1px cut off from right of image
Backward loop should remain -1
2021-11-23 11:03:00 -05:00
kleonc
97e9165de4 TileSetEditor Fix selecting next/previous subtile 2021-11-23 14:49:37 +01:00
Dominik 'dreamsComeTrue' Jasiński
7bd0eae635
Add "Replace in Files" functionality to text editors
The Soft Reload Script shortcut was changed from Ctrl + Shift + R
to Ctrl + Alt + R to avoid conflicts.
2021-11-23 01:10:38 +01:00
kobewi
43fbd3adc7
Allow to name built-in scripts upon creation
(cherry picked from commit 64a2681cf0)
2021-11-20 11:46:33 +01:00
Rémi Verschelde
292164d2a5
i18n: Sync editor translations with Weblate
(cherry picked from commit 7ca1be5f37)
2021-11-19 09:54:40 +01:00
Giwayume
0093bda767 Fix texture atlas generation when source sprite is larger than generated atlas 2021-11-18 10:02:24 -05:00
Marcel Admiraal
4d3690eba5 Remove unimplemented methods 2021-11-18 12:47:36 +00:00
Ibrahn Sahir
9a181edd87
Turn off physics servers in the Project Manager.
Copying the editor behaviour of deactivating these servers we're not
using, to reduce CPU load.

(cherry picked from commit 27a6ab457b)
2021-11-18 12:18:02 +01:00
kobewi
f3d5ef6f7b Fix TileSet editor workspace breaking 2021-11-17 18:00:33 +01:00
Rémi Verschelde
b60875420f
Merge pull request #55001 from Jummit/highlight_categories_3x 2021-11-16 14:08:18 +01:00
Hugo Locurcio
a0699bb6ec
Tweak the built-ins color highlighting in the shader editor (take 2)
The new color is more distinguishable from other variables and
symbols.
2021-11-16 01:01:43 +01:00
Jummit
8ec2d86e5e Highlight hovered inspector categories 2021-11-15 19:08:46 +01:00
Rémi Verschelde
0cdcf1154f
Allow dehardcoding documentation branch and URL in docs links
This makes it possible to change the branch of the documentation that
URLs are pointing to without having to modify all class reference
files.

In the XML class reference, the `$DOCS_URL` placeholder should be used,
and will be replaced automatically in the editor and when generating
the RST class reference.

The documentation branch string is set in `version.py`.

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
(cherry picked from commit 5341e6010e)
2021-11-15 17:22:47 +01:00
kobewi
5f081de854
Properly handle scenes in Find in Files
(cherry picked from commit 31644fe280)
2021-11-15 17:22:47 +01:00
kobewi
969136e675
Ignore external editor for built-in scripts
(cherry picked from commit 9abb07efb4)
2021-11-15 17:22:47 +01:00
Francois Belair
cf89cf6643
Make EditorSpinSlider wait for text on key_up/down
(cherry picked from commit 3f3cd15e07)
2021-11-15 16:29:15 +01:00
jmb462
147a826e6b
Display an error message in settings when autoload name is invalid
(cherry picked from commit 645cc71be4)
2021-11-15 16:17:23 +01:00
Hugo Locurcio
cbf870aa59
Swap rest pose actions in the Skeleton2D editor
The texts were changed before, but the actions weren't swapped around.
This led to unexpected behavior.

(cherry picked from commit 4ff1431993)
2021-11-15 16:10:00 +01:00
Ryan Roden-Corrent
d1df89a695
Clamp rotation for up/down orbiting shortcuts.
This prevents the viewport from going upside-down.

This was suggested at:
https://github.com/godotengine/godot/pull/51984#issuecomment-948614191:

> For 3.4, I think we can just clamp the angle value when using the
> camera orbiting shortcuts. We can investigate what to do with panning
> and freelook in 3.5 and 4.0.

(cherry picked from commit 3bd7c4f2a9)
2021-11-15 16:10:00 +01:00
kobewi
e2fb8739df
Fix editor saving blank scenes (for real)
(cherry picked from commit 8144ac79cf)
2021-11-15 16:10:00 +01:00
Brian Semrau
930d28e6cb
Prevent obj importer from printing misleading error
(cherry picked from commit bd0d15c5be)
2021-11-15 16:10:00 +01:00
Hugo Locurcio
9381b236ab
Use a different icon for eased keyframes in the animation editor
This makes easing tracks easier to recognize, in a way similar
to curved lines in the Path2D editor.
2021-11-15 13:16:09 +01:00
Hugo Locurcio
0f4b0cb3dd
Use Enter instead of F2 as an editor renaming shortcut on macOS 2021-11-12 20:50:38 +01:00
Rémi Verschelde
6f4858f184
Modules: Make sure to include modules_enabled.gen.h where needed
Fixes #51677.

Co-authored-by: Arkadiusz Marcin Kołek <aksoftware91@gmail.com>
2021-11-12 13:45:33 +01:00
Hendrik Brucker
97074dcf95 Add GradientTexture2D
Co-authored-by: Mariano Javier Suligoy <marianognu.easyrpg@gmail.com>
Co-authored-by: Andrii Doroshenko <xrayez@gmail.com>
2021-11-10 19:00:40 -07:00
Hugo Locurcio
b31f6f78a3
Display 2 decimals instead of 1 in editor frametime labels
When comparing different graphics settings or optimizations,
this makes precise measurements and frametime comparisons easier.

This also makes the editor FPS display use `pad_decimals()`
for consistency with the implementation in `master`.
2021-11-09 17:20:59 +01:00
Rémi Verschelde
1f8497d281
Merge pull request #53411 from RandomShaper/ubershaders_3.x 2021-11-09 13:12:44 +01:00
Pedro J. Estébanez
4c710780d4 Implement async shader compilation plus caching for GL ES 3
Async. compilation via ubershader is currently available in the scene and particles shaders only.

Bonus:
- Use `#if defined()` syntax for not true conditionals, so they don't unnecessarily take a bit in the version flagset.
- Remove unused `ENABLE_CLIP_ALPHA` from scene shader.
- Remove unused `PARTICLES_COPY` from the particles shader.
- Remove unused uniform related code.
- Shader language/compiler: use ordered hash maps for deterministic code generation (needed for caching).
2021-11-09 12:19:12 +01:00
Hugo Locurcio
4d35049dc7
Add keyboard shortcuts for grouping and locking nodes, change grid toggle
- Locking nodes can now be done by pressing Ctrl + L, and unlocking with
  Ctrl + Shift + L.
- Grouping nodes is now done by pressing Ctrl + G, and ungrouping with
  Ctrl + Shift + G (similar to Inkscape).
- Toggling the grid is now done by pressing the `#` key
  (also similar to Inkscape). This change was needed as Ctrl + G
  now groups selected nodes.

Different shortcuts are used for the lock/unlock and group/ungroup
actions, so that the shortcuts are idempotent.
2021-11-08 23:38:54 +01:00
Hugo Locurcio
b8de40c065
Tweak animation editor icon colors for easier visual grepping
This makes the Linear and Cubic icons in particular easier to
distinguish from each other.

The Cubic interpolation icon's curve was also changed to be
more distinguishable from the Linear icon's curve.
2021-11-08 21:58:11 +01:00
Rémi Verschelde
4b4e92b3d4
Merge pull request #52944 from RandomShaper/property_pin_control_natural_3.x 2021-11-08 18:53:25 +01:00
Pedro J. Estébanez
4dba25b3ff Add property value pinning 2021-11-08 17:42:27 +01:00
Rémi Verschelde
70b521af79
Merge pull request #53013 from Calinou/editor-debugger-bottom-panel-error-warning-highlight-3.x 2021-11-08 13:15:46 +01:00
Rémi Verschelde
5f87d5ebea
Merge pull request #54385 from Calinou/colorpicker-overbright-indicator-tweak-icon-3.x 2021-11-08 13:15:35 +01:00
Pedro J. Estébanez
76b7d23a10 Unify determination of default property values 2021-11-08 11:17:49 +01:00
Rémi Verschelde
0b694eb8e7
i18n: Sync classref translations with Weblate
German (de) is now above the threshold for inclusion.
2021-11-03 15:00:52 +01:00
Rémi Verschelde
74bcf37f90
i18n: Sync editor translations with Weblate
Latvian (lv) is now above the threshold for inclusion.
2021-11-03 14:56:44 +01:00
Yuri Sizov
5ff11a2c5c Add a flag to EditorResourcePicker to differentiate selection contexts 2021-11-02 14:15:14 +03:00
Chained Lupine
44a532e99e
Fix crash in ResourceImporterTexture::_save_stex if webp disabled
Fixes #51535.

(cherry picked from commit 79d4edfca7)
2021-11-02 09:28:46 +01:00
Rémi Verschelde
e4996887ca
Merge pull request #48625 from The-O-King/compression_options 2021-11-02 08:58:22 +01:00
Omar El Sheikh
203295f17d Added Mesh Compression Import Options
Fleshed out the "Optimize Mesh" options found in the mesh import UI
Gave a checkbox to every vertex attribute that can be compressed

Surfaced option to enable/disable Octahedral compression for
normal/tangent vectors

Also surfaces the vertex position compression option which previously
inaccessible because the defaults did not compress vertex positions

Supports all current importers (obj, fbx, collada, gltf)
2021-11-01 12:54:28 -04:00
Rémi Verschelde
8580cfb122
EditorSpinSlider: Add arg name for _value_input_gui_input binding 2021-11-01 15:02:44 +01:00
Hugo Locurcio
cb441dd9eb
Tweak overbright indicator icon to be more visible on white background
An outline is now present on all sides to ensure it's more visible
when the "new" color (on the right of a ColorPicker) is overbright.
2021-10-29 16:20:40 +02:00
Rémi Verschelde
87c80f529f
clang-format: Enable BreakBeforeTernaryOperators
clang-format keeps breaking the way it handles break *after* ternary operators,
so I give up and go with the only style they seem to actually test.
2021-10-28 14:50:33 +02:00
Rémi Verschelde
1b65550ec7
clang-format: Various fixes to comments alignment from clang-format 13
All reviewed manually and occasionally rewritten to avoid bad auto formatting.
2021-10-28 14:50:32 +02:00
Rémi Verschelde
42d385b312
clang-format: Disable alignment of operands, too unreliable
Sets `AlignOperands` to `DontAlign`.

`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
2021-10-28 13:23:38 +02:00