Commit Graph

7370 Commits

Author SHA1 Message Date
FireForge d76c9f8d92 Add a GradientTexture2D editor plugin 2022-03-18 13:18:10 -05:00
Rémi Verschelde 0de7cfc60f i18n: Sync editor translation template after #59265 2022-03-18 11:52:03 +01:00
Rémi Verschelde 4228d320bd i18n: Sync editor translations with Weblate 2022-03-18 11:50:55 +01:00
Haoyu Qiu 177c60fc52 Improves editor property name extraction 2022-03-18 17:53:28 +08:00
Rémi Verschelde 93a3d47edc i18n: Sync editor translation POs with template 2022-03-17 19:44:13 +01:00
Rémi Verschelde 972c6687ff i18n: Add property paths to editor translation template 2022-03-17 19:42:24 +01:00
Rémi Verschelde 98b8f4043a i18n: Sync editor translations with Weblate 2022-03-17 19:39:48 +01:00
Rémi Verschelde cdbc819b85
Merge pull request #59164 from timothyqiu/filter-property-3.x 2022-03-17 19:19:16 +01:00
Rémi Verschelde fc93c22b6e
Merge pull request #59238 from akien-mga/3.x-cherrypicks 2022-03-17 19:16:48 +01:00
Haoyu Qiu 7e0d814603 Improve inspector filtering 2022-03-18 01:15:31 +08:00
Haoyu Qiu 8d7ec5075b Remap property path based on path substrings
Also added captialization caching.
2022-03-18 00:32:36 +08:00
Haoyu Qiu 8eb539d5c1 More icon updates on theme change
(cherry picked from commit 0ac6e6acbe)
2022-03-17 14:45:19 +01:00
Haoyu Qiu bb257543d8 Add missing navigation node icons
Co-Authored-by: Michael Alexsander <michaelalexsander@protonmail.com>
2022-03-17 10:55:07 +08:00
Hugo Locurcio b087538119
Add an XML schema for documentation
This makes it easier to spot syntax errors when editing the
class reference. The schema is referenced locally so validation
can still work offline.

Each class XML's schema conformance is also checked on GitHub Actions.
2022-03-16 23:01:02 +01:00
Haoyu Qiu 04eb5c486a Add note about encryption key to export dialog 2022-03-16 19:55:26 +08:00
Haoyu Qiu 878cf8262a Add context support for editor translation 2022-03-16 15:44:30 +08:00
Hugo Locurcio 5f175828f0
Add editor icons for OccluderShapePolygon and OccluderShape
The abstract OccluderShape resource now has an icon, like the abstract
Mesh resource.
2022-03-15 23:02:55 +01:00
Rémi Verschelde a6762a30b5
Merge pull request #59138 from timothyqiu/sprite-frames-editor-3.x 2022-03-15 09:11:04 +01:00
Haoyu Qiu 9031d264e4 Improves SpriteFrames editor 2022-03-15 09:12:46 +08:00
Haoyu Qiu 95c672e1b4 Separate 2D grid visibility and grid snap 2022-03-15 08:52:21 +08:00
Rémi Verschelde fdaf0de3f0
Merge pull request #59100 from RandomShaper/mouse_drop_on_disable_3.x 2022-03-14 11:25:12 +01:00
Pedro J. Estébanez 3d7821bf1f Drop mouse focus and over when gui input is globally disabled
Since some porjects may be relying on the former behavior, this is opt-in via a new project setting, disabled by default, but enabled for new projects, since it's the new standard behavior (and the only one in 4.0).
2022-03-14 11:06:26 +01:00
FireForge c2c0c8067d Add missing property name capitalizations
(cherry picked from commit 543218fc7c)
2022-03-14 10:38:05 +01:00
ConteZero 0ffacff998 [3.x] Add option to make selection unique 2022-03-14 09:48:09 +01:00
Hugo Locurcio 5f9c13b980
Improve display of freelook/zoom speed indicator bars in the 3D editor
- Use a different color for freelook and zoom speed bars.
- Use a shadow for the text to make it readable on any background.
2022-03-13 22:59:21 +01:00
Hugo Locurcio caf2c20655 Don't store and show current file/directory/path FileDialog properties
These properties are only useful at run-time, so they don't need
to be displayed in the editor and stored.

(cherry picked from commit 2ad6e11b78)
2022-03-13 15:46:01 +01:00
Ryan Roden-Corrent 846416afe8 Copy full project setting path from dialog.
The EditorProperty UI elements for project settings are created from
SectionedInspector, which has a prefix added to each property path. Each
EditorProperty needs to be made aware of this path so copy_property_path
copies the full path, and not just the suffix.

Fixes #59020.

(cherry picked from commit d271e2517e)
2022-03-13 15:43:23 +01:00
Haoyu Qiu f280712215 Fix missing grid lines when TileMap has half offset 2022-03-13 17:20:43 +08:00
Rémi Verschelde 7c49b8e70f
Merge pull request #59009 from timothyqiu/tile-map-grid-3.x
[3.x] Improve TileMap editor grid
2022-03-12 22:06:54 +01:00
Haoyu Qiu 36ec71bcef Hide smart snapping line when guideline dragging ends
(cherry picked from commit b255efba7c)
2022-03-12 15:10:28 +01:00
Markus Sauermann 93447eb1ae Use get_cursor_shape for identifying the cursor shape in AnimationNodeStateMachineEditor
get_cursor_shape() is used in cases where a Control displays different cursors in different areas.
There is no need to set the default cursor shape on every mouse move event.

Fix minor issue with selection order.

(cherry picked from commit 0d96dbcb2a)
2022-03-12 15:10:14 +01:00
Markus Sauermann e2bd1ad6da Use get_cursor_shape for identifying the cursor shape in AnimationTrackEditTypeAudio
get_cursor_shape() is used in cases where a Control displays different cursors in different areas.
There is no need to set the default cursor shape on every mouse move event.

(cherry picked from commit 24942214d9)
2022-03-12 15:10:13 +01:00
Markus Sauermann d92406751b Use get_cursor_shape for identifying the cursor shape in AnimationTimelineEdit
get_cursor_shape() is used in cases where a Control displays different cursors in different areas.
There is no need to set the default cursor shape on every mouse move event.

(cherry picked from commit 4a8a6f892f)
2022-03-12 15:09:57 +01:00
Haoyu Qiu 15aab4cde0 Remove unused code in `AnimationPlayerEditor::_update_animation_list_icons()`
(cherry picked from commit 6a1e3380f8)
2022-03-12 14:45:35 +01:00
Haoyu Qiu 86ec09faf5 Improve TileMap editor grid 2022-03-11 10:41:30 +08:00
Rémi Verschelde ae036e823b
Merge pull request #58694 from Calinou/editor-frame-time-color-3.x 2022-03-10 21:11:17 +01:00
Rémi Verschelde 153a068958
Merge pull request #58634 from timothyqiu/property-i18n-3.x 2022-03-10 21:08:38 +01:00
Rémi Verschelde b0376ff494
Merge pull request #58851 from timothyqiu/tileset-zoom 2022-03-10 21:06:02 +01:00
Ryan Roden-Corrent 5d7b3e10ee Create parent directories on export.
Fixes #42231.

This works for both the UI and the --export CLI flag.

(cherry picked from commit 66a278f585)
2022-03-10 19:02:01 +01:00
Haoyu Qiu 3b04f59354 Fix some Animation panel icons not updating after theme change
(cherry picked from commit 83828c7d1b)
2022-03-10 19:02:01 +01:00
Haoyu Qiu c2297215e3 Fix TextureRegion editor grid color for light themes
(cherry picked from commit af16e099ea)
2022-03-10 19:01:53 +01:00
Haoyu Qiu 2c3646b37b Add missing i18n to various strings
(cherry picked from commit 25d93200c8)
2022-03-10 19:01:52 +01:00
Haoyu Qiu 5514126234 Don't show Lock & Group buttons for nodes hidden by CanvasLayer
(cherry picked from commit fb999ebe22)
2022-03-10 17:18:41 +01:00
Haoyu Qiu 2ccd4fd030 Fix animation resource name after duplication
(cherry picked from commit 8dc12135cd)
2022-03-10 17:18:41 +01:00
Haoyu Qiu a26afe807f Update audio effect icon when theme changes
(cherry picked from commit 20ed798e59)
2022-03-10 17:18:41 +01:00
miremrie 8a6b066ab7 Allow absolute file paths in file dialogs
(cherry picked from commit a5e30c0228)
2022-03-10 17:18:41 +01:00
Haoyu Qiu 86bcac5a5e Fix text color of TileMap editor info overlay 2022-03-10 19:12:40 +08:00
Rémi Verschelde 751769ed45 i18n: Sync editor translations with Weblate 2022-03-09 10:33:03 +01:00
Rémi Verschelde e489f889c2
Merge pull request #58918 from timothyqiu/tilemap-select-icon 2022-03-09 08:29:34 +01:00
Haoyu Qiu 84a27308c1 Use ToolSelect icon for TileMap editor select button 2022-03-09 14:33:09 +08:00
Haoyu Qiu bee9a6cc0d Fix add child error when opening the Editor 2022-03-09 14:27:24 +08:00
Rémi Verschelde 85b4848ca8
Merge pull request #54188 from Rubonnek/increase_var_arg_max_3x 2022-03-08 13:10:48 +01:00
Wilson E. Alvarez 424dbf70af
Increase VARIANT_ARG_MAX to 8 2022-03-07 10:03:49 -05:00
Yuri Roubinsky de79e10951 [3.x] Add option to filter the stack variables of GDScript debugger 2022-03-07 14:49:57 +03:00
Igor Kordiukiewicz b28eea610c Fixed issue where Extend Script option would show up even without script attached to the node
(cherry picked from commit dc361d3201)
2022-03-07 08:33:29 +01:00
Haoyu Qiu cc65147250 Update scroll position when zooming TileSet editor 2022-03-07 13:01:39 +08:00
Hugo Locurcio 2e6a305b8f
Improve display for unsupported debug draw modes in GLES2
- Don't disable the Normal option as it technically can be chosen
  (it's the default).
- Use a text suffix in addition to the tooltip.
2022-03-05 22:03:39 +01:00
Haoyu Qiu 61e35b4f6e Make name of editor file dialog filters translatable 2022-03-05 12:44:17 +08:00
Rémi Verschelde 5b3dfe1ffa
Merge pull request #58760 from raulsntos/icon_color-editor-theme-3.x
[3.x] Add `icon_color_normal` to Button in editor theme
2022-03-04 21:35:02 +01:00
Raul Santos 0e8a76dbb2
Add icon_color_normal to Button in editor theme 2022-03-04 19:21:05 +01:00
Haoyu Qiu aaff2e3982 i18n: Make property paths and sections translatable
Co-Authored-By: Hugo Locurcio <hugo.locurcio@hugo.pro>
2022-03-03 15:33:46 +08:00
Hugo Locurcio 2893090a50
Color 3D editor FPS label depending on the performance level
This provides easier visual grepping.

Incindentally, this change will force constant editor redrawing whenever
the View FPS option is enabled in the 3D viewport settings. This is
required to get an accurate FPS display in 3.x.
Otherwise, the FPS counter shot all the way up to 145 FPS
whenever nothing was changing on screen (even if actual
performance was much lower).
2022-03-02 22:16:13 +01:00
Haoyu Qiu e5102872c0 Translate class brief description in Editor Feature Profile dialog 2022-03-02 16:23:48 +08:00
Rémi Verschelde 74b698b817
Merge pull request #58135 from timothyqiu/shortcut-zoom-mouse-pos-3.x 2022-02-23 13:26:21 +01:00
lawnjelly e3f84916de Fix GIProbe gizmo out of bounds crash
The GIProbe gizmo was writing values in 3 dimensions to Vector2s. This error was previously being masked by the Vector2 accessor, but now results in a crash or ERR_FAIL message.

This PR removes the Vector2s as they were unused.
2022-02-22 17:37:31 +00:00
Rémi Verschelde 4e44a15176
Merge pull request #58386 from KoBeWi/fix3bility 2022-02-21 12:33:28 +01:00
kobewi fdded6b44d Fix 2D instance drop position
(cherry picked from commit 3a9fb3aff0)
2022-02-21 11:14:54 +01:00
kobewi 642591b6a9 Fix CanvasItem visibility propagation 2022-02-21 11:11:03 +01:00
Rémi Verschelde 6071d78ba1
Merge pull request #57165 from winterpixelgames/3.x-allow-disable-alpha-trim-texture-atlas 2022-02-20 12:43:58 +01:00
Jason Knight 177041b968 Allow disabling the alpha trim on texture atlas creation.
Default to true
2022-02-19 14:01:30 -06:00
Ricardo Subtil 60f9c0fb42 Fix decompression functions not returning errcodes
(cherry picked from commit 61790a03f5)
2022-02-19 15:50:38 +01:00
Hugo Locurcio 92e6c2a33d Use versioned URL for "Online Documentation" buttons in the editor
This also avoids a redirect, making the page appear to load faster.

(cherry picked from commit 958912a33f)
2022-02-19 15:49:26 +01:00
Rémi Verschelde e2287a201a
Merge pull request #58253 from mbrlabs/deselect-3x 2022-02-17 20:32:38 +01:00
Rémi Verschelde 453dc482e2
Merge pull request #58252 from mbrlabs/region-select-3x 2022-02-17 20:32:25 +01:00
Hugo Locurcio 3b25190494
Only store `_edit_use_anchors_` metadata if value is not the default
The default value is assumed to be `false`, so this metadata
only needs to be stored if the value is `true`.
2022-02-17 20:13:28 +01:00
Marcus Brummer d9c99f64c1 Improved region-select in the 3D editor viewport
Enable region-select when dragging the mouse. Previously this was only possible when the mouse was not over a mesh.
2022-02-17 19:49:39 +01:00
Marcus Brummer 67b879edbd Deselect nodes in the 3D editor when pressing ESC 2022-02-17 19:43:35 +01:00
Yuri Sizov df13466139 Add type variations to Theme 2022-02-17 15:24:10 +03:00
Haoyu Qiu d09a023339
Translate link titles in classref XML
(cherry picked from commit 7d05a066e3)
2022-02-17 09:59:28 +01:00
Rémi Verschelde cb7c2db4e4
Merge pull request #58188 from timothyqiu/type-icons
[3.x] Backport editor type icons
2022-02-17 09:17:30 +01:00
Yuri Sizov a91a24f822 Don't translate numbers in VersionControlEditorPlugin 2022-02-16 19:53:27 +03:00
Haoyu Qiu 5688ca688c Backport editor type icons
Co-authored-by: FireForge <isaacr.7.2005@gmail.com>
2022-02-16 23:36:51 +08:00
Rémi Verschelde 9f09251027
i18n: Sync editor translations with Weblate
Minor proofreading of new OSX export strings.
2022-02-16 09:55:45 +01:00
Rémi Verschelde 6235bd2a78
Merge pull request #58005 from akien-mga/3.x-cherrypicks 2022-02-15 14:53:49 +01:00
jmb462 8b49a62745 [3.x] Fix AnimationTrack mouse wheel zooming at low zoom level 2022-02-15 13:48:57 +01:00
Jean-Michel Bernard 9b7147157d
Hide Polygon2D lines and handles when node is not visible in tree.
(cherry picked from commit b0ebbd8ece)
2022-02-15 12:23:46 +01:00
Jean-Michel Bernard cb885e97c5
Hide CollisionShape2D handles when node is not visible in tree.
(cherry picked from commit ef995b222e)
2022-02-15 12:23:45 +01:00
Haoyu Qiu a25137c48e Utilize mouse position when zooming with shortcuts in 2D editor 2022-02-15 16:49:00 +08:00
Hugo Locurcio 53b96095eb
Improve completion scroll bar visibility in the script editor (3.x)
This makes the scroll bar bar thicker and more opaque (roughly
matching the editor theme's scroll bar by default).
2022-02-14 14:54:35 +01:00
Haoyu Qiu aaf29c2d58 Make duplicate animation prompt for new name 2022-02-14 14:48:34 +08:00
Rémi Verschelde 7a16bb2ee4
Fix typos with codespell
Using codespell 2.2-dev from current git.

Added `misc/scripts/codespell.sh` to make it easier to run it once in a
while and update the skip and ignore lists.

(cherry picked from commit 1bdb82c64e)
2022-02-11 09:50:59 +01:00
Haoyu Qiu e5fd6a5086
Don't display empty Class Properties in feature profile
(cherry picked from commit d9d12cd352)
2022-02-11 09:50:59 +01:00
Haoyu Qiu 8231303dec Backport FlowContainer 2022-02-11 14:48:40 +08:00
Rémi Verschelde c7f09c1318
Merge pull request #57900 from timothyqiu/canvas-layer-visible 2022-02-10 22:48:05 +01:00
Rémi Verschelde 77196d4c43
Merge pull request #57903 from aaronfranke/3.x-canvas-editor-scale 2022-02-10 22:24:38 +01:00
Haoyu Qiu f49ffe4bb0 Backport CanvasLayer visibility 2022-02-11 01:00:35 +08:00
Rémi Verschelde f50c7f7415
Core: Move generated `VERSION_HASH` to a `.cpp` file
This lets us have its definition in `core/version.h` and avoid
rebuilding a handful of files every time the commit hash changes.

(cherry picked from commit 90162851a7)
2022-02-10 13:06:56 +01:00
Aaron Franke a672f0db17
[3.x] Fix CanvasItemEditor scale editor not using the editor methods 2022-02-10 04:04:53 -06:00
lawnjelly f0af29346b ProjectSettings add dirty flag and project_settings_changed signal
Most frames there will be no change in project settings, and it makes no sense to read settings every frame in case of changes, as a large number of string compares are involved.

This PR adds a signal to ProjectSettings that can be subscribed to in order to keep local settings up to date with ProjectSettings.

In addition a function `ProjectSettings::has_changes()` is provided for objects outside the signal system (e.g. Rasterizers).
2022-02-09 11:20:25 +00:00
Rémi Verschelde a47a71b87e
Merge pull request #57093 from Calinou/editor-help-references-use-code-font-3.x 2022-02-08 18:44:55 +01:00
Rémi Verschelde 7dc00ddae8
Merge pull request #57041 from fire-forge/fix-create-root-node-scrolling-3.x 2022-02-08 13:17:55 +01:00
Rémi Verschelde 8acdd0502d
Merge pull request #57737 from winterpixelgames/faster-script-class-get-parent 2022-02-07 18:28:36 +01:00
Jason Knight 6f7cef601a Use ScriptServer::get_global_class_base instead of script_class_get_base in script_class_is_parent. 2022-02-07 07:36:59 -06:00
kleonc 87b4db9e63 SpriteFramesEditor Fix crash when selecting non-Texture file for splitting 2022-02-06 23:39:26 +01:00
Rémi Verschelde 689f59dca0
Merge pull request #53463 from lawnjelly/vital_redraws
Add editor vital redraws only option
2022-02-04 21:42:49 +01:00
Haoyu Qiu aeb9925615 Revert "Fix ViewportPreview upside-down in 3.x."
This reverts commit 1426df66a8.
2022-02-04 13:54:47 +08:00
Rémi Verschelde 80306cc88a
EditorProperty: Fix range hint parsing with optional step
This could lead to have a step of 0 when parsing e.g. "1,10,is_greater".
2022-02-03 12:33:37 +01:00
lawnjelly a0c6d16c90 Add editor vital redraws only option
When editor continuous redraws is switched off, the editor only redraws when a redraw_request was issued by an element in the scene. This works well in most situations, but when scenes have dynamic content they will continuously issue redraw_requests.

This can be fine on high power desktops but can be an annoyance on lower power machines.

This PR splits redraw requests into high and low priority requests, defaulting to high priority. Requests due to e.g. shaders using TIME are assigned low priority.

An extra editor setting is used to record the user preference and an extra option is added to the editor spinner menu, to allow the user to select between 3 modes:

* Continuous
* Update all changes
* Update vital changes
2022-02-02 11:26:45 +00:00
Rémi Verschelde b6dbff7621
Merge pull request #57361 from lawnjelly/occ_poly_only 2022-02-01 14:04:24 +01:00
lawnjelly 8ea20f5fdd Add OccluderShapePolygon
Add OccluderShapePolygon, glue to Occluder and gizmos etc.
2022-02-01 11:31:06 +00:00
Ryan Roden-Corrent 0a77d2d850
Merge create_physical_skeleton undo entries.
Pressing `ctrl+z` after clicking "Create Physical Skeleton" will now
undo the creation of all physical bones by that operation.

Previously undo would remove one bone at a time.

Fixes https://github.com/godotengine/godot/issues/55351.

(cherry picked from commit c9cce53983)
2022-01-31 22:54:23 +01:00
Rémi Verschelde b18a7f5220
Merge pull request #57030 from timothyqiu/disable-script-editor-menu-3.x
[3.x] Disable ScriptEditor's menu items when they do nothing
2022-01-26 08:06:05 +01:00
Haoyu Qiu 7a7eab06f8
Fix crash after renaming an animation node
(cherry picked from commit 5ea4a8b421)
2022-01-25 18:55:51 +01:00
kleonc 5b240d833a
SpriteFramesEditor Show AtlasTexture's source texture path in the frame's tooltip
(cherry picked from commit c635ab914d)
2022-01-25 18:17:23 +01:00
Haoyu Qiu 164ef0763a
Update AssetLib network settings when Editor Settings change
(cherry picked from commit 575cd3645c)
2022-01-25 18:14:58 +01:00
Navdeep Singh Rathore b531a49265
Added the smart word wrap property to preview label
(cherry picked from commit 0b55eedc52)
2022-01-25 18:14:42 +01:00
Hugo Locurcio 357e7e8f9f
Use a fixed-width font for internal references in the editor help
Since internal references are often written in scripts, it makes sense
to use a fixed-width font for them.
2022-01-23 18:47:50 +01:00
fire540 a5b9f9f1ed [3.x] Fix Create Root Node dialog expanding in favorites tab 2022-01-21 11:45:43 -06:00
Rémi Verschelde d775499f43
Merge pull request #57037 from timothyqiu/groups-editor-3.x 2022-01-21 13:06:11 +01:00
Haoyu Qiu 7dcfe6b878 Improve Groups dock panel and the Group Editor 2022-01-21 18:32:27 +08:00
Rémi Verschelde 3e7e701385
Merge pull request #56909 from Calinou/editor-add-scene-casing-setting-3.x 2022-01-21 10:27:57 +01:00
Rémi Verschelde 45b8cc4854
Merge pull request #56956 from rburing/fix_import_hints_breaking_animations_3.x 2022-01-21 10:20:19 +01:00
Haoyu Qiu 061ee6cdb3 Disable ScriptEditor's menu items when they do nothing 2022-01-21 12:05:32 +08:00
Hugo Locurcio 8948b36f0d
Add project setting to change scene file casing
The default behavior is unchanged (the root node name is used as-is).
2022-01-21 02:00:43 +01:00
Hugo Locurcio 856f2d0f8f
Add shortcuts for New Scene and New Inherited Scene actions
These default to Ctrl + N and Ctrl + Shift + N respectively.
2022-01-20 20:34:05 +01:00
bruvzg 30ee208bd9
[macOS export, 3.x] Implements ad-hoc signing on Linux/Windows, adds extra privacy settings, entitlements warnings and error checking. 2022-01-20 10:46:29 +02:00
Ricardo Buring 742c54d0a7 Fix import hints breaking node paths in animations 2022-01-19 16:42:38 +01:00
Ricardo Buring 684b7fdf47
Fix "Convert to MeshLibrary" not respecting collision transforms
(cherry picked from commit 025d7b9332)
2022-01-19 16:04:17 +01:00
SaracenOne 37910dd10f
Allow selection of option 'Open in File Manager' even when a file/folder is not explicitly selected.
(cherry picked from commit b7348419a3)
2022-01-19 16:04:16 +01:00
jmb462 3641ec61bb
Prevent renaming to an unkown extension from FileSystem dock.
(cherry picked from commit c24433f500)
2022-01-19 16:04:16 +01:00
Haoyu Qiu 28ae995a1a
Fix crash when undoing node creation of BlendTree editor
(cherry picked from commit 19634bd1a1)
2022-01-19 16:02:54 +01:00
kobewi 7bd13a4325
Automatically go up if current dir was deleted
(cherry picked from commit 18633b975b)
2022-01-19 16:01:04 +01:00
Haoyu Qiu a36ca80493
Improve the SnapGrid editor icon
(cherry picked from commit e9f660c066)
2022-01-19 14:04:37 +01:00
Rémi Verschelde ede7e68ab6
Merge pull request #56620 from timothyqiu/left-right-palette-3.x 2022-01-18 16:38:26 +01:00
Rémi Verschelde c938104a88
Merge pull request #56630 from Pineapple/replace-find-last 2022-01-18 16:36:52 +01:00
Hendrik Brucker 365486543d Improve Colorpicker presets 2022-01-17 15:21:47 +01:00
Rémi Verschelde 1ee44b2366
ImageLoader: Remove references to unsupported svgz extension
I don't see any reference to gzip/svgz supported in the nanosvg library,
and the handful of test gzip compressed svgz files I tried failed loading.

Also cleaning a couple missing includes in platform export code.
2022-01-17 10:52:32 +01:00
kleonc 63fd172fce Fix AtlasTexture nesting 2022-01-15 00:11:02 +01:00
Rémi Verschelde a627cdafc5
Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-13 15:54:13 +01:00
Rémi Verschelde d13e0a368b
Merge pull request #56222 from godotengine/inputmap_undo 2022-01-13 12:27:34 +01:00
Rémi Verschelde da5a11fe45
i18n: Sync editor translations with Weblate 2022-01-12 18:45:00 +01:00
zacryol 6fc587a6e5
Reword "Open Project Data Folder" as "Open User Data Folder"
Clarifies that the button opens the user:// dir
and for better consistency with certain ProjectSettings values:

"Use Hidden Project Data Directory" is named similarly, but refers to data within res://
and two values refer to user:// as "User Dir"
(Translations were not updated)

and rename enum value accordingly

(cherry picked from commit 54018e4021)
2022-01-12 17:39:31 +01:00
Rémi Verschelde 7249e170f7
Merge pull request #56044 from timothyqiu/position-nodes
[3.x] Improve axis awareness and visibility for Position2D and Position3D
2022-01-11 08:54:52 +01:00
Rémi Verschelde 8a192cd0ab
Merge pull request #55987 from bruvzg/wt🤎3 2022-01-10 16:43:56 +01:00
Rémi Verschelde edd9534f97
Merge pull request #53900 from ChronicallySerious/update-vcs-1 2022-01-10 12:18:57 +01:00
Bartłomiej T. Listwon 22750b1c03 Replace String::find_last with rfind where possible (backward compatible with old API) 2022-01-08 22:40:44 +01:00
Haoyu Qiu 37a38ece59 Allow showing both left and right side panels 2022-01-08 20:20:36 +08:00
Rémi Verschelde 67db681871
Merge pull request #56562 from mortarroad/3.x-fix-import-dock-multiple 2022-01-07 16:15:35 +01:00
Rémi Verschelde 01fef99749
Merge pull request #56325 from pycbouh/editor-resource-picker-needs-type-3.x 2022-01-07 16:13:46 +01:00
Morris Tabor 756d5531b6 Fix the importer dock being blank when selecting multiple files.
Broken in 0adc1ebf41
2022-01-07 15:49:34 +01:00
Rémi Verschelde aad12a2df5
Merge pull request #54824 from LightningAA/backport-gradient-texture-2d 2022-01-07 14:47:44 +01:00
Rémi Verschelde 02d9ac1071
i18n: Sync template with current 3.x codebase
Weblate will now track the state of `3.x` to prepare for the 3.5 release.
2022-01-07 13:30:21 +01:00
Rémi Verschelde 321d5f0861
i18n: Sync editor translations with Weblate (last 3.4 sync)
Next sync will be with the `3.x` branch to prepare the 3.5 translations.

(cherry picked from commit dd002197db)
2022-01-07 13:30:21 +01:00
Pierre-Thomas Meisels 7dd8e364b1
OSX: Add signing of directory structure in Library when exporting for OSX.
Add exporting of folder structure in PlugIns when exporting for OSX.
2022-01-07 01:15:37 +01:00
Rémi Verschelde b197de6f5f
Fix typos with codespell
Using codespell 2.1.0.

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

$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2022-01-07 00:14:54 +01:00
Rémi Verschelde 94184d8039
Merge pull request #56426 from V-Sekai/foreign_scene_child_node_fix_3_x 2022-01-06 12:51:50 +01:00
SaracenOne 2056e8b028 Prevent saving branches in foreign scenes 2022-01-06 10:16:18 +00:00
Rémi Verschelde 8f17a4037b
Merge pull request #56466 from Chaosus/vs_uniform_hints_3.x 2022-01-06 09:39:27 +01:00
LlamaLad7 a0cc90a908
Editor: Resolve being able to move control nodes in containers using arrow keys
Fixes #55260

(cherry picked from commit b5407f802f)
2022-01-06 00:35:44 +01:00
kobewi 0adc1ebf41
Make Import Dock more obvious to use
Co-authored-by: Jairo Honorio <registrofx@gmail.com>
(cherry picked from commit cff0a1a896)
2022-01-06 00:33:04 +01:00
kobewi ad767b2ec4
Don't edit foreign resources when restoring scene
(cherry picked from commit 363a9c674a)
2022-01-06 00:27:35 +01:00
kobewi 664f36308a
Add drag and drop for NodePaths
(cherry picked from commit acf563e59f)
2022-01-06 00:23:08 +01:00
bruvzg d2558bdc8c
Fix decoding UTF-8 filenames on unzipping.
(cherry picked from commit d2573c1636)
2022-01-06 00:21:37 +01:00
Jake Young 09bc9eb101
Backport NavigationServer with RVO2 to `3.x`
Change the entire navigation system.
Remove editor prefix from nav mesh generator class. It is now used for baking
at runtime as well.
Navigation supports obstacle avoidance now with the RVO2 library.
Nav system will also automatically link all nav meshes together to form one
overall complete nav map.
2022-01-05 16:00:56 +01:00
Rémi Verschelde 791f454b17
Merge pull request #56364 from V-Sekai/preview_node_sanitize_3_x
Clean preview node of all nodes which are not derived from VisualInstances [3.x]
2022-01-04 17:20:49 +01:00
Rémi Verschelde fde61a044b
Merge pull request #54913 from rcorre/copy-backport 2022-01-04 15:29:39 +01:00
Rémi Verschelde 25369acff9
Merge pull request #51708 from Calinou/viewport-add-32bpc-color-depth 2022-01-04 14:30:24 +01:00
Hugo Locurcio d6e7308b3f
Split 3D editor sensitivity freelook sensitivity into its own setting
This allows configuring orbit sensitivity and freelook sensitivity
independently from each other. Often, it's needed to use a lower
freelook sensitivity compared to the orbit sensitivity.

Also, when using a FOV scale lower than the default
(using Alt + mouse wheel), the mouse sensitivity is now scaled
to make it easier to use freelook to look at distant objects.
This does not affect orbiting and panning.
2022-01-03 22:36:42 +01:00
Yuri Roubinsky 5b0fe7880e [3.x] Add hints and default values to the uniform nodes in visual shader 2022-01-03 22:59:10 +03:00
Rémi Verschelde 0aa7768b1e
Merge pull request #54207 from Calinou/3d-editor-add-quick-fov-adjust-3.x 2022-01-03 20:44:00 +01:00
SaracenOne 5935cee298 Clean preview_node of all none VisualInstances 2021-12-31 01:19:15 +00:00
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
Hugo Locurcio d831836b09
Improve appearance of the editor Debugger bottom panel menu
- Make the Debugger bottom panel menu more prominent when
  there are errors or warnings by adjusting the text color.
- Add some spacing to the right of the error/warning icon
  for better visual appearance.
2021-10-27 17:01:10 +02:00
Max Hilbrunner e29126914d
Save all 64 bits of get_ticks_msec() in more cases
(cherry picked from commit 5dc02eb8b0)
2021-10-26 18:23:31 +02:00
Yuri Sizov 7fe0dab69b Add focus font color to Button and derivatives 2021-10-26 17:40:51 +03:00
Hugo Locurcio a094e5dcdf
Implement Alt + Mouse wheel to adjust FOV in the 3D editor viewport
This allows for quicker FOV adjustments compared to using the View menu.
2021-10-25 00:39:50 +02:00
Rémi Verschelde c3bdcb4516
Merge pull request #53706 from Calinou/action-editor-list-physical-key-first 2021-10-24 23:33:44 +02:00
Julien Nguyen 480543f681 Fix create skeleton bone position 2021-10-23 20:02:05 +02:00
Rémi Verschelde 4010bb9af0
i18n: Sync editor translations with Weblate 2021-10-23 12:28:40 +02:00
Robin Arys 0bbdfd420a
Fix newly created files not sorted correctly
(cherry picked from commit e69d40cad9)
2021-10-23 12:12:36 +02:00
Robin Arys 5bc44b53f6
Fix support for multiple base types in the quick load dialog
(cherry picked from commit bb7888debb)
2021-10-23 12:09:23 +02:00
Haoyu Qiu bd39b8649e
Update view name after processing orbit view shortcuts
(cherry picked from commit 392d529247)
2021-10-23 11:52:20 +02:00
Rémi Verschelde 7648dd2da9
Merge pull request #53162 from Duroxxigar/3.x-copy-group-name 2021-10-21 11:22:38 +02:00
Duroxxigar bf2449ca92 Backport ability to copy group name 2021-10-21 03:54:44 -04:00
Rémi Verschelde 8425c58991
i18n: Only include editor translations above a threshold
This reduces the size of the editor binaries significantly, as we otherwise
embed all WIP translations, including ones with very low completion ratios,
and end up paying for the size of all `msgid`s for each locale.

Cf. https://github.com/godotengine/godot-proposals/issues/3421 for details.

The thresholds used are:
- 30% for the editor interface (should already include most common strings
  while more obscure ones like UndoRedo action names might be untranslated).
- 10% for the class reference: this is a HUGE resource and 10% is already
  a lot of useful content, especially if focused on the most used APIs.

For 3.x, we also exclude languages that require complex text layout support
to be displayed properly.

This currently reduces the size of the editor binary by 17% on Linux.

The list will be synced manually every now and then.
2021-10-20 14:39:21 +02:00
Rémi Verschelde 0fb135d598
Merge pull request #53779 from m4gr3d/restrict_project_data_dir_config_3x 2021-10-18 22:58:51 +02:00
Rémi Verschelde 2a7e1d0aac
i18n: Sync editor translations with Weblate 2021-10-18 11:58:51 +02:00
Ryan Roden-Corrent 76255d89af
Implement camera orbiting shortcuts.
Fixes godotengine/godot-proposals#2051.
Relates to godotengine/godot-proposals#1215.

Implements shortucts for adjusting the camera rotation in 15-degree
increments, similar to Blender.

I did not add corresponding menu entries for these, as I didn't feel
like they would be too useful from a menu, and didn't want to make the
menu too long.

(cherry picked from commit cb15ec20bb)
2021-10-18 11:24:37 +02:00
Rémi Verschelde a5093d64ac
SCons: List `.gen.cpp` sources explicitly to avoid globbing errors
Whenever we change the name (or remove) generated cpp files with the `.gen.cpp`
extension, users run into build issues when switching between branches (i.e.
switching before and after the name change/removal). This is because we glob
`*.cpp` so if a now-obsolete file from a previous build is present, we'll
include it too, potentially leading to bugs or compilation failure (due to
missing headers or invalid code).

So globbing patterns in `add_source_files` will now skip files ending with
`.gen.cpp`, which should instead be passed explicitly where they're used.

(cherry picked from commit c133480531)
2021-10-16 10:59:14 +02:00
Hugo Locurcio 52b16f0984
Increase object snapping distances in the 3D editor
- Increase drag-and-drop snapping to 50 units
  (from 10 units).
- Increase Snap Object to Floor maximum height to 500 units
  (from 20 units).
- Increase Snap Object to Floor negative margin to 1 unit
  (from 0.2 units).

(cherry picked from commit 7a3d0b79b4)
2021-10-15 12:51:42 +02:00
Matthew Newall 3149eabdc0
Fixed editor attempting to save a blank scene with save all scenes
(cherry picked from commit e10d0d76bc)
2021-10-15 12:51:38 +02:00
Zae ee4c533ca6 [3.x] Fix EditorSpinSlider freezes editor when tabbing focus rapidly. 2021-10-15 16:52:45 +08:00
Fredia Huya-Kouadio 2b6678c851 Restrict the project data directory configuration. 2021-10-13 13:56:01 -07:00
Rémi Verschelde 779a5e5621
Change editor FPS limit for unfocused mode back to 20 FPS
This was changed in 7991d0fb22 but seems to cause issues
for some projects when using the profiler.

Fixes #51222.
2021-10-12 16:56:09 +02:00
Hugo Locurcio f769e9a864
List Physical Key before Key in the action map input editor
Physical Key should be used for most game inputs as it allows
keys to work on non-QWERTY layouts out of the box.
This is especially important for WASD movement layouts.

In contrast, remapped (non-physical) keys are mainly useful in
non-game applications, where shortcuts are expected to match a
precise letter rather than a location on the keyboard.
2021-10-12 11:57:08 +02:00
Fredia Huya-Kouadio d1808f0a7f Make the project data directory customizable. 2021-10-11 14:42:40 -07:00
Yuri Sizov b02c61ddb1 Ignore OS specific values (constants, project settings, properties)
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2021-10-10 23:40:32 +03:00
Zae 5e92619a64
Fix `EditorFileSystem` not checking `.gdignore` in existed directory
(cherry picked from commit 70cf3cbd60)
2021-10-10 12:27:51 +02:00
mujpao 64d70d28d4
Fix right clicking sub nodes after renaming parent
(cherry picked from commit f25a698f80)
2021-10-10 12:27:51 +02:00
Haoyu Qiu e7b67fe8ee
Fix make sub-resource crash in AnimationTreeEditor
(cherry picked from commit 274ed82283)
2021-10-10 12:27:51 +02:00
Hugo Locurcio 35d76733b0
Add a "dirty" marker to the editor import dock for unsaved changes 2021-10-10 01:06:05 +02:00
Rémi Verschelde 7843c871d0
Fix missing argument names in FileSystemDock bindings 2021-10-09 00:31:22 +02:00
bruvzg 583c6d303c
Change in-editor documentation style to be closer to online docs.
(cherry picked from commit 1e3c02d590)
2021-10-07 12:48:23 +02:00
Rémi Verschelde 81da3b8ba4
Use translated docs in PropertySelector
And do the dedent and stripping for both translated and
non-translated strings for consistency, and so that we
don't need to do it at the call site.

(cherry picked from commit a16031beb6)
2021-10-07 12:48:23 +02:00
Rémi Verschelde 9729432ec0
i18n: Add support for translating the class reference
- Parse `.po` files from `doc/translations/*.po` like already done
  with `editor/translations/*.po`.
- Add logic to register a doc translation mapping in `TranslationServer`
  and `EditorSettings`.
- Add `DTR()` to lookup the doc translation mapping (similar to `TTR()`).
  Strings are automatically dedented and stripped of whitespace to ensure
  that they would match the translation catalog.
- Use `DTR()` to translate relevant strings in `EditorHelp`,
  `EditorInspector`, `CreateDialog`, `ConnectionsDialog`.
- Small simplification to `TranslationLoaderPO`, the path argument was
  not really meaningful.

(cherry picked from commit 4857648a16)
2021-10-07 12:48:23 +02:00
Rémi Verschelde 01707c28c9
i18n: Add header strings to translation catalog
(cherry picked from commit aca1971a12)
2021-10-07 12:48:21 +02:00
Rémi Verschelde df69945f1f
Merge pull request #52714 from m4gr3d/provide_getter_for_project_data_dir_3x 2021-10-05 21:02:41 +02:00
Rémi Verschelde 5fb9a2a54d
Merge pull request #52652 from boruok/optional-crop-for-texture-atlas-importer 2021-10-05 19:21:49 +02:00
Rémi Verschelde 393166793c
Merge pull request #52952 from Calinou/cpu-lightmapper-num-threads-editor-setting 2021-10-05 19:20:29 +02:00
Hugo Locurcio 0e943939e2
Add an editor setting to configure number of threads for lightmap baking
This can be used to free some CPU cores when baking lightmaps.
When using fewer CPU cores, lightmap baking is slower but background
tasks aren't slowed down as much.
2021-10-05 17:35:20 +02:00
Rémi Verschelde 4e85135c37
Merge pull request #53429 from KoBeWi/listener3.x 2021-10-05 13:57:28 +02:00
Rémi Verschelde d4b2db5c3a
Merge pull request #51438 from timothyqiu/selection-box-sep-3x 2021-10-05 13:55:36 +02:00
kobewi f9720a9bf2 Add Listener2D 2021-10-05 13:29:59 +02:00
lawnjelly 192ec963ae Create 'rendering/misc' project settings section
To prevent the project settings `rendering` section getting out of hand, this PR moves some of the smaller new settings into a `misc` category.
2021-10-05 11:47:03 +01:00
Rémi Verschelde 7f58b6322e
Merge pull request #53067 from Calinou/add-script-nav-extra-mouse-button-3.x 2021-10-05 11:57:51 +02:00
Rémi Verschelde 86ee82c6e2
Merge pull request #53090 from Razoric480/key_up_down_spin_slider_32 2021-10-05 11:30:47 +02:00
Rémi Verschelde 59930dca00
Merge pull request #53263 from Calinou/editor-inspector-warning-yellow-3.x 2021-10-05 11:12:44 +02:00
Rémi Verschelde 74727be0aa
Merge pull request #50718 from LightningAA/drag-multiple-resources-onto-array-export-3.x 2021-10-05 11:11:30 +02:00
Yuri Sizov 8fe6fceb02 Safeguard against BitMap fonts in the CanvasItem editor
Co-authored-by: ArrowInAKnee <gatexxl@gmail.com>
2021-10-04 22:54:04 +03:00
EricEzaM 6628fe0469 Fixed drag and drop not respecting type on exported arrays. 2021-10-01 13:26:15 -06:00
Eric M a4b6ba2c2f Added properties and methods to allow for dragging and dropping multiple files onto exported arrays. 2021-10-01 13:24:41 -06:00
Hugo Locurcio 26671e7407
Use a yellow color for editable children properties instead of red
This matches the usual "Changes may be lost!" warning color.
2021-09-30 18:41:46 +02:00
Francois Belair d43a485e51 Add up/down keys to inc/dec val in spin slider
Back ported to 3.2.
2021-09-29 14:09:27 -04:00
kobewi 0fa8d3431a Fix editor stuck dimmed because of unsaved script 2021-09-29 17:06:12 +02:00
kleonc 047108a4ca
SceneTreeDock Ensure to deactivate multi edit when selection changes to a single node
(cherry picked from commit 5d25115e80)
2021-09-29 11:05:05 +02:00
Matthew Newall 8f66e6148d
Corrected Save Scene and Save All Scenes not working when the scene's dir no longer exists
(cherry picked from commit ed2280528f)
2021-09-29 11:04:49 +02:00
Rémi Verschelde bb60c97d10
Merge pull request #53063 from stebulba/3_x_undo_closecurve 2021-09-29 10:18:37 +02:00
Rémi Verschelde b22d3df89d
Merge pull request #53065 from godotengine/template_manager_mirror_icon_3 2021-09-29 08:12:26 +02:00
naeu 9fb7efdf16 Set dialog folder icon color 2021-09-27 19:10:20 +01:00
Rémi Verschelde abe0535fc0
Revert "Load assets before enabling editor plugins"
This reverts commit 55f9ae3d21.

It caused regressions #52968 and #52995.
2021-09-27 18:28:01 +02:00
David Socha b05f70fe6e
export "Keep" import option when multiple files are selected
Co-Authored-By: Rémi Verschelde <rverschelde@gmail.com>
(cherry picked from commit ec9f9f72e2)
2021-09-27 18:06:55 +02:00
Hugo Locurcio 1ff98bfa1b
Add history navigation in the script editor using extra mouse buttons
This feature is enabled by default, but it can be disabled in the editor
settings in case it interferes with other uses of the extra buttons
(such as push-to-talk in a VoIP program).
2021-09-25 20:33:57 +02:00
Michael Alexsander da265c6ceb Make mirror button in Template Manager use the lighter version of its icon 2021-09-25 15:15:58 -03:00
Stéphane Fortin 6cf54d06be add missing undo on CloseCurve 2021-09-25 13:22:10 -04:00
Rémi Verschelde 94f658a8d2
Merge pull request #52984 from pycbouh/disable-freaky-subinspectors-3.x 2021-09-25 00:08:42 +02:00
Rémi Verschelde 86944daafd
Merge pull request #53026 from kleonc/texture-preview-updating-3x 2021-09-24 23:15:12 +02:00
kleonc 4eb59e8492 TexturePreview Update text when texture is being changed 2021-09-24 18:55:58 +02:00
Hugo Locurcio 1e4967968f
Color error and warning lines in the editor debugger's Errors panel
This improves readability when some errors/warnings are unfolded,
as their stack traces will keep their original colors.
2021-09-24 15:53:41 +02:00
Yuri Sizov d3d7c29b8c Disable sub-inspectors for properties with their own editors 2021-09-24 00:36:28 +03:00
Yuri Roubinsky 5c06685609 [3.x] Draggin in/out from ports to create nodes in Animation Blend Tree 2021-09-23 12:09:19 +03:00
Haoyu Qiu 4b611c4518 Fix 3D view name typo 2021-09-22 10:31:48 +08:00
Rémi Verschelde 882e04ed0d
i18n: Sync translations with Weblate 2021-09-21 20:33:12 +02:00
kobewi 168292fa00
Don't stop closing on unsaved script
(cherry picked from commit 8fe664fb4b)
2021-09-21 20:33:11 +02:00
Ryan Roden-Corrent ae38c672f1
Add QuickLoad option to resource picker.
When clicking on a resource field in the inspector dock, you now have
the "Quick Load" option in addition to "Load". This opens a QuickOpen
dialog allowing the user to type in a phrase to quickly locate the
desired resource (similar to "Quick Open Scene").

In my experience, this is much faster than clicking through the File
Dialog.

Relates to godotengine/godot-proposals#346.

(cherry picked from commit 470b94fe22)
2021-09-21 20:33:11 +02:00
kleonc 891681a5a3
SpriteFramesEditor Fix preview grid in "Select Frames" dialog
(cherry picked from commit ad7a6102ae)
2021-09-21 20:33:07 +02:00
Hugo Locurcio da68feb0ca
Print a warning if a 3D editor gizmo has no name defined
Unnamed gizmos should be avoided, so this should help editor plugin
authors resolve issues with gizmo naming if they forgot to override
the function.

(cherry picked from commit e5406ba952)
2021-09-21 17:15:01 +02:00
Manuel Dun dbf2d7b76c
Conversion now includes "Local to scene" flag and name
(cherry picked from commit 3e8b54bfc3)
2021-09-21 17:15:00 +02:00
Hugo Locurcio b1b936cba8
Tweak the script editor's line/column indicator for readability
- Use a colon instead of parentheses and a comma to reduce visual
  clutter.
- Pad the line number with 4 spaces to account for scripts longer
  than 999 lines.

(cherry picked from commit 1e8976fcb5)
2021-09-21 17:15:00 +02:00
TechnoPorg 55f9ae3d21
Load assets before enabling editor plugins
Moves the code for enabling plugins from NOTIFICATION_READY to after the first scan has been completed.

(cherry picked from commit 1963c63b91)
2021-09-21 17:15:00 +02:00
Yuri Roubinsky 8519c803e4
Prevent error generates if `Delete Line` used on last line in CodeEditor
(cherry picked from commit 7ccbf49bda)
2021-09-21 17:14:59 +02:00
Hugo Locurcio c1d13df0ef
Enable Pixel Snap by default in the 2D editor
Since this avoids accidentally placing 2D nodes at subpixel positions,
this results in more crisp visuals by default, even when pixel snapping
is disabled in the project settings.

(cherry picked from commit c03e7c2dde)
2021-09-21 17:14:59 +02:00