Commit Graph

2441 Commits

Author SHA1 Message Date
Hugo Locurcio 8fc99ef680
Improve the 3D editor manipulation gizmo
- Allow some tolerance when clicking the plane move/scale,
  even if the click is actually slightly outside the plane
  (similar to Blender).
- Make the rotate manipulation circles visually thinner to be
  less distracting.
- Make the hovered color less saturated to be more distinguishable
  from the non-hovered state.
  - Don't set brightness above 1.0 to prevent the gizmo from glowing
    when hovered.

(cherry picked from commit 6cfcbbbb93)
2021-07-28 15:35:35 +02:00
Rémi Verschelde fddc370b2b
Merge pull request #50837 from Calinou/3d-editor-camera-preview-add-shortcut-3.x
Add shortcut to toggle the 3D editor's camera preview (3.x)
2021-07-27 13:34:35 +02:00
Rémi Verschelde b358a71a38
Merge pull request #50817 from KoBeWi/gg_ez_rects
[3.x] Allow for easier editing of rect CollisionShape2D
2021-07-27 13:34:29 +02:00
SaracenOne 462231e297
Removing bounding box calculations from 3D scene drag and drop and collide against physics rather than visual geometry.
(cherry picked from commit fbda490d0f)
2021-07-27 11:58:36 +02:00
foxydevloper f2cdacd3a6
Improve select tool's tooltip
- Makes tips clearer and more consistent.
- Removes outdated "shift+v" that doesn't work
- Adds Ctrl+RMB for adding nodes at position
- Removes tip for non-existent Alt+Drag in 3D select tool

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

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

(cherry picked from commit eac8ba6ce8)
2021-07-24 01:01:14 +02:00
foxydevloper c7062f3bb8
Fix hidden seperators when horizontal frames is 1
(cherry picked from commit 429382b7e5)
2021-07-24 00:52:49 +02:00
kobewi 49f323410b
Don't set metadata_label font if it doesn't exist
(cherry picked from commit 2846dbf239)
2021-07-24 00:51:08 +02:00
Lightning_A 8e90c7e829 Fix `TexturePreview` crashing 2021-07-22 13:42:22 -06:00
lawnjelly 83f1377a8f Portals - lift roomlist restrictions and fix link bug
Allows users to have the RoomManager as the roomlist.

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

Adds a PortalEditorPlugin allowing you to flip individual portals.
2021-07-20 19:05:16 +01:00
Atlinx 6026de80e7
Add scaling to the curve editor's handles
This fixes issue #50617

(cherry picked from commit ac5f3a6733)
2021-07-20 13:05:12 +02:00
Rémi Verschelde d12243370d
Merge pull request #50632 from timothyqiu/add-item-type-3.x
[3.x] Improve add item type UI in theme editor
2021-07-20 12:15:11 +02:00
Rémi Verschelde 559d02a216
Merge pull request #50095 from LightningAA/add-viewport-spy-3.x
[3.x] Add the ability to preview viewports from the inspector
2021-07-20 11:19:34 +02:00
Haoyu Qiu 48af497e8c Improve add item type UI in theme editor 2021-07-20 16:55:54 +08:00
Rémi Verschelde f9707e1a28
Merge pull request #50499 from LightningAA/zoom-out-alt-3.x
[3.x] Add shift + [1-5] keyboard shortcuts to zoom out
2021-07-20 09:17:52 +02:00
Aaron Franke 7dc2edc430
[3.x] Allow reading shaders from .gdshader files 2021-07-19 23:34:23 -04:00
Lightning_A cf8de3b316 Add viewport preview plugin and refactor TextureEditorPlugin 2021-07-18 14:49:45 -06:00
Yuri Sizov 9c2ff29c4d Clear the theme type filter/name on each dialog popup 2021-07-18 20:37:30 +03:00
Rémi Verschelde 9636deac55
Merge pull request #50508 from Calinou/add-drag-threshold-select-mode-3.x
Prevent accidental drags by adding drag distance threshold
2021-07-17 19:36:16 +02:00
Andrii Doroshenko (Xrayez) 7bedb68632 VCS: Allow to stage and commit all files with Ctrl + Enter 2021-07-17 13:00:27 +03:00
Yuri Sizov b11178b21e Fix control picker in the Theme editor 2021-07-16 21:36:54 +03:00
Lightning_A c4ff3ef891 Add shift + [1-5] keyboard shortcuts to zoom out 2021-07-16 12:15:44 -06:00
Hugo Locurcio 44b01751e6
Prevent accidental drags by adding drag distance threshold
Co-authored-by: fox <12120644+foxydevloper@users.noreply.github.com>
2021-07-16 06:04:25 +02:00
Rémi Verschelde 08d517243c
Merge pull request #50490 from Calinou/improve-2d-editor-zoom-3.x
Improve 2D editor zoom logic (3.x)
2021-07-15 19:04:38 +02:00
Hugo Locurcio 9cc65e1b9b
Automatically focus the Search field when displaying asset library
- Focus the project search box when switching from the Templates tab
  back to the Projects tab in the project manager.
- Add a context-specific placeholder for the asset library search box.
- Rename "Search" project filter box placeholder to the more
  descriptive "Filter projects". When performing a search on an
  existing selection, "Filter" is more accurate than "Search".
2021-07-15 18:47:38 +02:00
Hugo Locurcio 477dfc5174
Improve 2D editor zoom logic
- Add 1-5 shortcuts to zoom between 100% and 1600% quickly
  (similar to GIMP).
- When holding down Alt, go through integer zoom values if above 100%
  or fractional zoom values with integer denominators if below 100%
  (50%, ~33.3%, 25%, …).
2021-07-15 17:15:02 +02:00
Rémi Verschelde a3310c1da2
Merge pull request #46130 from lawnjelly/portals
Portal occlusion culling [3.4]
2021-07-14 13:38:01 +02:00
lawnjelly eb6f98ec55 Portal occlusion culling
Adds support for occlusion culling via rooms and portals.
2021-07-14 11:43:23 +01:00
Rémi Verschelde 6cff43e093
Merge pull request #50150 from Valeryn4/3.x-fix_lightmap_cpu 2021-07-14 12:19:53 +02:00
Hugo Locurcio e8c9877ad8
Fix casing of the "to" stop word in editor strings 2021-07-13 15:28:00 +02:00
Hugo Locurcio 9343ee5c2b
Automatically display the installer after downloading an asset
- To make things easier to follow, display the asset name in
  confirmation dialogs.
- Display the number of conflicting files in the asset extraction dialog.

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

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

(cherry picked from commit 0fce7aea88)
2021-07-13 10:20:03 +02:00
PouleyKetchoupp 240c33708c Options to clean/simplify convex hull generated from mesh
Clean: remove duplicate and interior vertices (uses Bullet algorithm)
Simplify: modify the geometry for further simplification (uses VHACD
algorithm)

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

Specific change for 3.x:
Add support for Vector<Vector3> and PoolVector<Vector3> in the convex hull generator.
2021-07-09 17:45:59 -07:00
kobewi ff7cae4c4c Allow to create a node at specific position 2021-07-07 13:19:59 +02:00
Rémi Verschelde 31143baa57
Merge pull request #50223 from Calinou/editor-information-use-multiply-sign-3.x
Use the Unicode multiplication symbol for the viewport size display (3.x)
2021-07-07 10:03:25 +02:00
Hugo Locurcio 8592620a8e
Use the Unicode multiplication symbol for the viewport size display 2021-07-06 21:59:26 +02:00
Haoyu Qiu f252622d82
Add numpad emulation in 3D viewport
(cherry picked from commit 4a26e61e89)
2021-07-06 11:20:30 +02:00
Hugo Locurcio 59c5c04e38
Allow using the 3D editor's View menu while previewing a camera
This is already allowed when using cinematic preview, but not
when previewing a Camera3D the usual way.

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

(cherry picked from commit fab3d136e0)
2021-07-06 11:19:38 +02:00
kobewi 245b9400ea
Support single quote when dropping files to script
(cherry picked from commit 5e593dda9b)
2021-07-06 11:10:47 +02:00
Hugo Locurcio 65063dbe0a
Tweak the 2D game camera override tooltips to match 3D
(cherry picked from commit bdca0daadc)
2021-07-06 11:10:44 +02:00
Rémi Verschelde b35e61ba85
Script editor: Rename 'Clone Down' to 'Duplicate Selection'
Fixes #36670.

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

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

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

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

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

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

`ArrayMesh.clear_surfaces()` was also backported from the `master`
branch and exposed because the new debug drawing code requires it.
2021-06-19 06:01:25 +02:00
Marcel Admiraal 7e03bd1671 Remove duplicate WARN_PRINTS macro 2021-06-18 12:57:59 +01:00
Hugo Locurcio dd70aea77c
Fix game camera override tooltips being swapped
Previously, the wrong tooltip was shown.

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

(cherry picked from commit d1c5dd5b68)
2021-06-17 12:47:54 +02:00
Hugo Locurcio f88dc1fd44
Fix editor constantly redrawing when freelook is active with still camera
The editor only needs to redraw when the camera is moving.

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

(cherry picked from commit 21807f8d88)
2021-06-17 12:47:53 +02:00
Haoyu Qiu 770de6f579
Don't use the abbrevation "Sep." in UI text
(cherry picked from commit 5046a7d1b1)
2021-06-17 11:49:31 +02:00
Hugo Locurcio f36c90b82f
Add a soft line length guideline to the script editor
The default value is 80. The hard line length guideline's default column
has been moved to 100 to account for the new soft line length guideline.

It can be disabled by setting its value to the same column as the
hard line length guideline.
2021-06-16 06:00:02 +02:00
kobewi 117e037235
Don't save built-in script when adding method
(cherry picked from commit a97546d4ea)
2021-06-07 12:14:47 +02:00
kleonc dfee7e71c7
TextureRegionEditor Fix not updating on editing region with autoslice cached
(cherry picked from commit 019c99e538)
2021-06-03 12:24:57 +02:00
bruvzg 36ca3fea96
[3.x] Fix visibility issue with zoom label 2021-06-03 12:32:11 +03:00
nobuyuki_nyuu 057c9f601b
Bind CanvasItemEditor::_zoom_on_position and CanvasItemEditor::get_state to ClassDB
(cherry picked from commit a715887299)
2021-06-01 12:53:31 +02:00
kobewi f7cfdfb1cc
Add preload() to resource path when holding Ctrl
(cherry picked from commit 4bee21bcc4)
2021-06-01 12:53:30 +02:00
Hugo Locurcio a38b447413
Highlight control flow keywords with a different color
This makes them easier to distinguish from other keywords.
2021-05-25 00:31:39 +02:00
kobewi f78c276abe
Reset Shader Editor scroll when changing shader
(cherry picked from commit 0ac5be1e67)
2021-05-24 12:56:23 +02:00
kleonc 9f39f8339c Scale zoom values in the SpriteFrames editor for hiDPI displays 2021-05-23 14:25:57 +02:00
kleonc 6481a34478 SpriteFramesEditorPlugin Added zooming 2021-05-22 23:33:27 +02:00
jfons 2c400a7aae
Fix swapped front/rear directions in viewport rotation control.
(cherry picked from commit e70e33ddcf)
2021-05-21 12:55:25 +02:00
Aaron Franke 1154b6264c
[3.x] Make is_equal_approx have explicit float and double versions 2021-05-20 06:50:09 -04:00
Hugo Locurcio a45db4c208
Fix crash when trying to save with no scenes and scripts open
This could occur when attempting to save project settings when
no scenes or scripts are open (which is common in a brand new project).

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

This is no longer needed after #48455.
2021-05-18 11:58:09 +02:00
llschuster 2a18909210
text-editor: fix Clicking warning doesn't center around line
(cherry picked from commit 6b55ec2ca9)
2021-05-13 23:22:54 +02:00
davidh ae2bc66eae Check for valid DynamicFontData before duplicate 2021-05-13 11:32:57 -05:00
Hugo Locurcio 7027791959
Hide the 3D editor selection box when View Gizmos is disabled 2021-05-10 19:28:32 +02:00
Rémi Verschelde 6e920d0c14
TileSet: Fix signal disconnect error in some situation
Fixes second issue in #45938.

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

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

This closes #41283.

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

(cherry picked from commit a50a81b703)
2021-05-09 17:41:09 +02:00
Pedro J. Estébanez 4da9a501f6 Add animation reset track feature
As a bonus, to have consistency between use Beziers and create insert tracks, use Beziers also gets a default via editor settings that is used when the confirmation dialog is disabled, instead of just falling back to creating non-Bezier tracks.
2021-05-09 09:40:16 +02:00
Hugo Locurcio 42a4bd1ca2
Tweak the built-ins color highlighting in the shader editor
This makes built-ins easier to distinguish from keywords at a
quick glance.
2021-05-06 17:51:36 +02:00
Rémi Verschelde 140350d767
Style: Enforce braces around if blocks and loops
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2021-05-05 15:02:01 +02:00
Rémi Verschelde b4af1eba0a
Style: Enforce use of bool literals instead of integers
Using clang-tidy's `modernize-use-bool-literals`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-bool-literals.html
2021-05-04 16:39:13 +02:00
Rémi Verschelde a828398655
Style: Replaces uses of 0/NULL by nullptr (C++11)
Using clang-tidy's `modernize-use-nullptr`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-nullptr.html
2021-05-04 16:30:23 +02:00
Rémi Verschelde b5e1e05ef2
Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
Rémi Verschelde 64a63e0861
Style: clang-format: Disable AllowShortCaseLabelsOnASingleLine 2021-05-04 14:45:15 +02:00
Rémi Verschelde 3d15f04668
Style: clang-format: Disable AllowShortIfStatementsOnASingleLine 2021-05-04 14:45:15 +02:00
Rémi Verschelde 6e600cb3f0
Style: Set clang-format Standard to c++14 2021-05-04 14:45:15 +02:00
Michael Alexsander ae99339e9f
Add comment highlighting to script thumbnails
(cherry picked from commit 46e0161737)
2021-05-03 21:39:44 +02:00
kleonc 93cb416423
TileMapEditor Modulate autotile previews
(cherry picked from commit 3f1b95cfb1)
2021-05-03 21:39:44 +02:00
kleonc bf63878141
TileMapEditor::_bucket_fill Check autotile coordinates only if autotile is selected
(cherry picked from commit a1b903066e)
2021-05-03 21:39:44 +02:00
bruvzg 301bedd5d4
Duplicate DynamicFontData resources in the editor preview generation thread to avoid race condition. 2021-04-29 23:27:52 +03:00
Rémi Verschelde 70ae90e0e8
Core: Drop custom `copymem`/`zeromem` defines
We've been using standard C library functions `memcpy`/`memset` for these since
2016 with 67f65f6639.

There was still the possibility for third-party platform ports to override the
definitions with a custom header, but this doesn't seem useful anymore.

Backport of #48239.
2021-04-29 12:34:11 +02:00
Rafał Mikrut 06976c3e84 [3.x] Fix crashes when using _input functions 2021-04-27 16:51:29 +02:00
ray90514 bf645099a1
Fix multi-selection doesn't correctly show in the inspector
(cherry picked from commit 16decbc0ee)
2021-04-26 13:15:29 +02:00
Hugo Locurcio e2934a04e2
Allow Center Selection to work without any selection in 2D/3D editors
When there is no selection, the camera will center around the
world origin.

This helps people get back to the world center if they haven't added
any nodes yet.

(cherry picked from commit fc055e1993)
2021-04-26 13:15:28 +02:00
Kyle cc419fcf8f
Fixes ctrl-click function line centering
When ctrl-clicking in the code editor, the view will now be centered on the function result.

Also replaces a circumstance where goto_line_centered should be used.

(cherry picked from commit 2b775bd698)
2021-04-26 13:07:59 +02:00
Rémi Verschelde 32c1bada99
Merge pull request #47827 from Chaosus/vs_fix_default_input_overriding_3.2
[3.x] Prevents default values of VSNodeCustom from overriding by a script
2021-04-23 22:06:08 +02:00
Hugo Locurcio 47f869b731
Tweak lightmapper warning message to mention Rosetta emulation on macOS 2021-04-22 15:57:52 +02:00