Commit Graph

2405 Commits

Author SHA1 Message Date
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
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
Yuri Roubinsky ac91e2ca0d [3.2] Prevents default values of VSNodeCustom from overriding by a script 2021-04-12 14:52:19 +03:00
Aaron Franke 9b928cbd9e
Show a message when trying to zoom farther than the limit
(cherry picked from commit b8f66d58b6)
2021-04-12 00:23:43 +02:00
Haoyu Qiu 14cea66f23
Fixes Node3D rotation in select mode on macOS
(cherry picked from commit 879a290ed9)
2021-04-12 00:23:43 +02:00
Haoyu Qiu bfa5adb84f Fix 3D selection box size for Spatial 2021-04-11 19:01:37 +08:00
megalobyte 724a18cf72
Use double when setting the default step size
Casting it as a float was causing issues with the progress bar

(cherry picked from commit d0f3817876)
2021-04-05 12:01:18 +02:00
AndreaCatania bd5663e2cf
Fixes editor crash on closing
Fixes editor crash when the gizmo is destroyed and the `SceneTree` is already freed.

(cherry picked from commit 79f55fcded)
2021-03-31 12:47:54 +02:00
Rémi Verschelde 015973df04
doc: Make all tutorial links point to 3.3 branch of docs 2021-03-26 10:43:43 +01:00
Hugo Locurcio fed17afe7d
Tweak the 3D editor grid default to not go below subdivisions of 1 meter
Small subdivisions aren't useful that often and make it difficult for
people to get a sense of scale in 3D.

(cherry picked from commit 3472c3f6ea)
2021-03-21 01:19:37 +01:00
andybarcia f8a1801fbc
Fixes TileMap editor copy bug.
(cherry picked from commit 558b08e6d9)
2021-03-20 23:08:03 +01:00
kobewi ba70958b29
Fix audio player not resetting after wav finishes
(cherry picked from commit daa62ccaa3)
2021-03-20 22:59:33 +01:00
Haoyu Qiu 966c89657b
Fix AnimationTree editor crash when renaming node
(cherry picked from commit eac806547f)
2021-03-16 11:38:29 +01:00
Dominik 'dreamsComeTrue' Jasiński ac4cedc596
Reset ruler tool when switching tools with shortcuts
Fixes: #37056
(cherry picked from commit a99a671034)
2021-03-16 11:11:27 +01:00
jmb462 b674d934c4
Fix Asset Library URL not updating after been changed in editor settings
The changes made in this commit refresh the URL OptionButton when editor settings are modified.

No need to restart any more for the changes to appear in the Asset Library.

Fix #46977

(cherry picked from commit 6525d74623)
2021-03-14 00:20:54 +01:00
jmb462 b73a97b110
Fix hardcoded Maya style navigation pan key modifier
ALT key modifier was hardcoded is node_3d_editor_plugin.cpp and didn't take editor settings into account.

Fix #46973

(cherry picked from commit 31077d875e)
2021-03-13 22:04:55 +01:00
mujpao f2739b3f52
Update viewport after Polygon2D deselected
(cherry picked from commit 030703dd30)
2021-03-13 21:56:31 +01:00
Rafał Mikrut 1435e2c0f9 Fix crashes when manipulating nodes in editor
(cherry picked from commit f81ecb498b)
2021-03-12 10:12:16 +01:00
gatalskii f60d27fe16 mod: pop-up usability enhancement for support button
Now after choosing support level pop-up doesn't hide after each click

(cherry picked from commit efe05a166e)
2021-03-08 17:37:13 +01:00
Hugo Locurcio 266282813a Make the pagination buttons wider in the asset library browser
This makes the page number buttons easier to click.

(cherry picked from commit 25c6acb702)
2021-03-08 17:37:13 +01:00
kobewi bc56681b0b Don't save unchanged script upon closing
(cherry picked from commit 12f5a5a701)
2021-03-07 22:51:06 +01:00
Yuri Roubinsky 9517b6e4ce Check before connecting `TileMapEditor::settings_changed`
(cherry picked from commit 1e7662f972)
2021-03-02 10:26:14 +01:00
hilfazer 84a9efcebc Prevent crash when clicking Mesh in MeshInstance when is scene root 2021-02-26 18:58:05 +01:00
Rémi Verschelde fb301a0c43
Merge pull request #38351 from avril-gh/remember-scripts-panel-visibility-in-project-metadata
preserve scripts panel visibility state between sessions in project metadata
2021-02-25 21:17:02 +01:00
trollodel 2da6d82f3b Allow CollisionObject to show collision shape meshes
Add an editor gizmo to CollisionObject.
CollisionShape no longer shows collision shapes directly.
2021-02-24 21:33:40 +01:00
hilfazer 28fa0f5d13 Prevent selecting hidden nodes in Canvas Item Editor 2021-02-20 20:30:16 +01:00
Rémi Verschelde 48936dda8a
Merge pull request #38388 from mashumafi/3.2-tileset-use-path
TileSet use texture Path instead of RID to prevent name conflicts.
2021-02-18 22:36:23 +01:00
Hein-Pieter van Braam 220f24c191
Merge pull request #45618 from RandomShaper/modernize_mt_3.2
Backport of all the multi-threading modernization (3.2)
2021-02-18 20:47:24 +01:00
Rémi Verschelde 59f807fb4a
Merge pull request #46141 from hilfazer/fix_select_hidden_nodes
prevent selecting hidden editable children in spatial editor
2021-02-18 14:45:07 +01:00
hilfazer 68438b4abc Prevent selecting hidden editable children in spatial editor 2021-02-18 12:36:52 +01:00
Pedro J. Estébanez 4485b43a57 Modernize atomics
- Based on C++11's `atomic`
- Reworked `SafeRefCount` (based on the rewrite by @hpvb)
- Replaced free atomic functions by the new `SafeNumeric<T>`
- Replaced wrong cases of `volatile` by the new `SafeFlag`
- Platform-specific implementations no longer needed

Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
2021-02-18 12:23:25 +01:00
Hugo Locurcio 972e7bd27c
Only display the assetlib Retry button if the download failed
(cherry picked from commit 508011a57f)
2021-02-18 00:35:57 +01:00
Andrii Doroshenko (Xrayez) 329dcebc83
Fix sprite editor conversion tools to handle compressed textures
(cherry picked from commit 1cd7a16c10)
2021-02-16 14:27:38 +01:00
Aaron Franke 751036ff87
[3.2] Limit max zoom to 1/2 of far plane instead of 1/4 2021-02-14 18:17:35 -05:00
Michael Alexsander d31ee25882 Make margins obey the snap option in the TextureRegion editor
(cherry picked from commit 2d4cda89e1)
2021-02-05 09:27:55 +01:00
Tom Langwaldt 67d80e6f73 Fix swapped front/rear view
(cherry picked from commit f995d6cd17)
2021-02-05 09:26:09 +01:00
Rémi Verschelde 3115ac4b60
Merge pull request #45663 from akien-mga/3.2-cherrypicks
Cherry-picks for the 3.2 branch (future 3.2.4) - 19th batch
2021-02-02 19:19:31 +01:00
Rémi Verschelde 25bc4891d9
Merge pull request #40908 from Chaosus/vs_fix_preview_3.2
[3.2] Fix port previews for uniforms in visual shaders
2021-02-02 16:58:19 +01:00