Commit Graph

6775 Commits

Author SHA1 Message Date
Lyuma a0b8c24d92
Fix incorrect skin deduplication when using named binds
(cherry picked from commit 60f620411e)
2021-05-21 13:41:27 +02:00
Lyuma ec6a3a0d0c
gltf: Fail gracefully when a mesh instance fails.
(cherry picked from commit 5a9eee6b1a)
2021-05-21 13:41:27 +02:00
K. S. Ernest (iFire) Lee d5b6cb4639
When one invalid image fails, it should only fail that single image.
Move to a more graceful degradation 3d asset import model.

(cherry picked from commit a81f4dd5a7)
2021-05-21 13:41: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
Hugo Locurcio 20f79287cd
Print a warning when importing a repeating NPOT texture in a GLES2 project
Repeating NPOT textures are not guaranteed to be displayed correctly
in GLES2, since the specification does not mandate support for it.

The warning is also displayed in GLES3 projects that are configured
to allow falling back to GLES2.
2021-05-20 20:38:47 +02:00
Rémi Verschelde d025f6f797
Merge pull request #48824 from aaronfranke/3.x-scd-minsize
Set a minimum size for status panel elements in ScriptCreateDialog
2021-05-20 18:03:45 +02:00
Ev1lbl0w 664f1828e2
Fix zip_root not being defined when importing by drag&drop
(cherry picked from commit 056deefa55)
2021-05-20 14:34:32 +02:00
Rémi Verschelde f479a7972f
Merge pull request #48883 from akien-mga/3.x-codespell-2.0.0
[3.x] Fix typos with codespell
2021-05-20 14:32:14 +02:00
Aaron Franke 573b7247bf
Set a minimum size for status panel elements in ScriptCreateDialog 2021-05-20 08:08:24 -04:00
Rémi Verschelde eb78f80f03
Fix typos with codespell
Using codespell 2.0.0.

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

$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2021-05-20 12:56:56 +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 72647cc55c
i18n: Sync translations with Weblate
(cherry picked from commit bcedd09742)
2021-05-18 12:09:38 +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
Rémi Verschelde a246dceb51
FileSystem dock: Fix search shortcut
Follow-up to 533d3e7800 which used a shortcut
not defined in 3.x.
2021-05-17 13:32:44 +02:00
fox 533d3e7800
Make shortcut for focusing searchbar in filesystem dock
(cherry picked from commit 22e2e4334e)
2021-05-17 13:11:07 +02:00
kleonc 0a91c8e972
Fix crash after disabling plugin using set_force_draw_over_forwarding_enabled()
(cherry picked from commit 5a8314016a)
2021-05-17 13:09:14 +02:00
Hugo Locurcio 2eea00b036
Add "Support Godot Development" option to the editor's Help menu
(cherry picked from commit 3eae2f9c6d)
2021-05-17 13:06:11 +02:00
Pedro J. Estébanez 817ffc01e1
Make all file access 64-bit (`uint64_t`)
This changes the types of a big number of variables.

General rules:
- Using `uint64_t` in general. We also considered `int64_t` but eventually
  settled on keeping it unsigned, which is also closer to what one would expect
  with `size_t`/`off_t`.
- We only keep `int64_t` for `seek_end` (takes a negative offset from the end)
  and for the `Variant` bindings, since `Variant::INT` is `int64_t`. This means
  we only need to guard against passing negative values in `core_bind.cpp`.
- Using `uint32_t` integers for concepts not needing such a huge range, like
  pages, blocks, etc.

In addition:
- Improve usage of integer types in some related places; namely, `DirAccess`,
  core binds.

Note:
- On Windows, `_ftelli64` reports invalid values when using 32-bit MinGW with
  version < 8.0. This was an upstream bug fixed in 8.0. It breaks support for
  big files on 32-bit Windows builds made with that toolchain. We might add a
  workaround.

Fixes #44363.
Fixes godotengine/godot-proposals#400.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-05-16 17:52:31 +02:00
Rémi Verschelde 50f4c90205
i18n: Sync translations with Weblate
(cherry picked from commit f6c29d1cf5)
2021-05-14 13:23:57 +02:00
Yuri Sizov fc67ff3d0a
Keep custom editor theme when changing editor settings
(cherry picked from commit 56aedcee17)
2021-05-14 10:34:48 +02:00
Daniel Lungaro ede0d47ccd
Remove plugin from enabled if there's an error
inform user in warning message

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>

Refactor remove plugin from enabled

(cherry picked from commit 2bae31a4df)
2021-05-14 10:34:05 +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
Yuri Sizov 01524c0430
Fix EditorPropertyEasing capturing drag events originated outside of it
(cherry picked from commit 31db95b048)
2021-05-13 23:22:06 +02:00
davidh ae2bc66eae Check for valid DynamicFontData before duplicate 2021-05-13 11:32:57 -05:00
Lightning_A 0c55ab1bb4 Add the ability to remove project contents from the remove project dialog 2021-05-11 11:06:37 -06: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
Kyle b47cd82f76
Add ctrl+shift+a to instance scene in scenetree dock
Adds another key shortcut to instance a scene in the scentree dock. Complements ctrl+a to add a node.

(cherry picked from commit ea5445655c)
2021-05-09 17:47:38 +02:00
Hugo Locurcio 8b06085249
Implement the `%command%` placeholder in the Main Run Args setting
This can be used to tell Godot to run an executable that will run Godot
rather than running Godot directly. This is useful to make Godot start
on the dedicated GPU when using a NVIDIA Optimus setup on Linux:
`prime-run %command%`

The `editor/run/main_run_args` setting declaration was moved to make it
visible in the ProjectSettings documentation.

(cherry picked from commit ce4aa07276)
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
Hugo Locurcio 9f31877e15
Fix EditorPropertyResource focus outline being drawn behind the preview
(cherry picked from commit 0b47f1be8c)
2021-05-09 17:14:36 +02:00
Hugo Locurcio 30ec3870c9
Tweak the setting hint for the custom editor theme setting
The custom editor theme is only visible after restarting the editor.

(cherry picked from commit 027301fec7)
2021-05-09 17:14:36 +02:00
Kyle 629c3e2a0a
Remove extra separator
Removes an extra separator when Scene Tree Editing is disabled. Discussed in #48518

(cherry picked from commit e168baf433)
2021-05-09 17:14:36 +02:00
Kyle f711464030
Fixed cut/copy/paste visibility
Fixes #48514 by moving the visibility of these buttons into their own if statement that depends on if scene tree editing is allowed. Previously it was under the script editing setting which is unexpected as it works with nodes and the scene tree.

(cherry picked from commit 10d5d4d3cd)
2021-05-09 17:14:36 +02:00
Rémi Verschelde c8c8bcee50
Merge pull request #48540 from Calinou/editor-theme-allow-negative-contrast-3.x
Allow negative contrast values in the editor theme settings (3.x)
2021-05-09 16:38:02 +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 e7e2ef0767
Allow negative contrast values in the editor theme settings
When using a negative contrast value, the base color will be lightened
to create the derivative colors instead of being darkened.

This can lead to better-looking themes, especially for light themes.
2021-05-07 18:14:52 +02:00
bruvzg dab4cf3ed6
Add `physical_scancode` (keyboard layout independent keycodes) to InputEventKey and InputMap.
Fix non-latin keyboard layout keycodes on Linux/X11 (fallback to physical keycodes).
2021-05-06 23:19:45 +03: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 f34a8c7f0e
Merge pull request #47527 from Calinou/editor-translations-allow-multiple-selection-3.x
Allow selecting multiple files in the editor translation/remap dialogs (3.x)
2021-05-06 08:49:24 +02:00
Hugo Locurcio 35887a2afe
Allow selecting multiple files in the editor translation/remap dialogs
This makes it faster to add several translations.

The undo/redo messages were also tweaked to give better context.
2021-05-06 03:02:15 +02:00
Aaron Franke e82f56e3a9
Update size when updating ScriptCreateDialog 2021-05-05 18:10:17 -04:00
CaptainProton42 76f3f6949e
Fix 3D scene preview generation.
File system dock previews will now be generated for 3D scenes when no
editor feature profile is set.

(cherry picked from commit 16304aaa3b)
2021-05-05 15:28:12 +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 0bf06c25a3
Merge pull request #48450 from Calinou/version-click-to-copy-3.x
Make it possible to copy the Godot version identifier by clicking it (3.x)
2021-05-04 17:55:43 +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
Hugo Locurcio 1ceb603de8
Make it possible to copy the Godot version identifier by clicking it
This closes #24317.
2021-05-04 16:38:17 +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
Mateo Kuruk Miccino 71a9932f38
FileSystem: Force update when we delete a folder from the editor and searching changes only if we change the directory successfully in the scan_fs_changes
(cherry picked from commit dc76938679)
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
Hugo Locurcio 81ca8e4e7e
Add the About dialog to the project manager
The About button is located in the bottom-right corner of the
project manager.

This allows removing the copyright notice from the window title
(which looked a bit ugly in comparison to other applications).
2021-05-02 00:01:23 +02:00
Rémi Verschelde 48cc756f88
Merge pull request #37067 from zaksnet/multiple-editor-instances
Automatic remote debugger port assignment.
2021-05-01 12:57:35 +02:00
Zak c3cfb87548 Allow multiple editor instances to use different ports
Previously if more than one Godot editor was running then the debugger of one editor would not work because both editors were trying to connect on the same port.
This commit attempts to fix this by allowing the debugger to change the port at runtime in such cases.
2021-05-01 11:32:10 +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 0c14d10522
Merge pull request #48296 from akien-mga/3.x-cherrypicks 2021-04-29 13:48:49 +02:00
Rémi Verschelde 880b830ca8
Merge pull request #46292 from hilfazer/nested_scene_instances_duplication 2021-04-29 13:31:27 +02: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
Aaron Franke d304187357
Warn when creating a script with the same name as the parent class
(cherry picked from commit 5a9037f828)
2021-04-29 12:23:33 +02:00
Michael Alexsander 917630107c
Select non-perfect matches if necessary in the Search Help dialog
(cherry picked from commit 77597ea47c)
2021-04-29 11:41:51 +02:00
Michael Alexsander b406e904ec
Fix EditorInspector not updating its theme on rare occasions
(cherry picked from commit efa3927b49)
2021-04-29 11:40:13 +02:00
lupoDharkael a5842a8362
Save resource: implement extension priority
give .res less priority and .tres more priority as preferred
extensions.

(cherry picked from commit f2e906496b)
2021-04-29 11:27:56 +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
kobewi b824895065
Allow to drop files on filtered scene tree
(cherry picked from commit 4e64c9fd4d)
2021-04-26 13:15:28 +02:00
Hugo Locurcio 4881d96ef0
Display scene file extensions in the editor only if there's ambiguity
This also simplifies the Editor Settings as the extension is now
automatically shown to avoid ambiguity.

(cherry picked from commit 218d124755)
2021-04-26 13:15:28 +02:00
kobewi 645842e0e8
Save project after opening
(cherry picked from commit 76240515d8)
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
Shatur95 41e7cefaa4
Move duplicated code into a function
(cherry picked from commit a1cfc1032c)
2021-04-26 13:07:59 +02:00
Hugo Locurcio 58393b544b
Tweak error messages for the Save Branch as Scene editor option
See https://github.com/godotengine/godot-proposals/issues/2433.

(cherry picked from commit 4c8f458c90)
2021-04-26 13:07:59 +02:00
Ev1lbl0w c2b85ed865
Allow Godot to import .ZIP files with non-regular structure
(cherry picked from commit 9b1db715fd)
2021-04-26 13:07:58 +02:00
Nathan Franke 1001bea7ac
Collapse Resource Preview Properly
(cherry picked from commit 98c46cbf26)
2021-04-26 13:07:58 +02:00
Lightning_A a853cf25f6
Remove current export template version from "Installed Versions"
**Not tested** (I don't have an easy way to test currently). Resolves https://github.com/godotengine/godot-proposals/issues/2394 .

(cherry picked from commit c562c6943f)
2021-04-26 12:52:15 +02:00
Hugo Locurcio 7cb77a859a
Add a menu action to open C++ source on GitHub in the editor debugger
This helps user find back the source code where the error/warning
was emitted from.

(cherry picked from commit 5bc746e60a)
2021-04-26 12:52:15 +02:00
Sushi 79f48642a8
Fix: Selection Only in Find/Replace now preserves selection
(cherry picked from commit a4d5664858)
2021-04-26 12:52:15 +02:00
Hugo Locurcio a989e08839
Improve error messages for missing export presets when using `--export`
- Display a specific error message if the project doesn't have an
  `export_presets.cfg` file.
- Display a list of detected export presets if an invalid export
  preset name is supplied.

(cherry picked from commit 09f38ea215)
2021-04-26 12:20:28 +02:00
Hugo Locurcio 94e0d02079
Strip leading/trailing whitespace for project name in the project manager
This affects creating projects and renaming them.

(cherry picked from commit 86455d0c58)
2021-04-26 12:20:28 +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
Bhuvan Vemula 1c1ec81455
instance-scene: make parent as edited_scene if no parent selected.
(cherry picked from commit 9eb3546f38)
2021-04-23 21:52:21 +02:00
Hugo Locurcio 47f869b731
Tweak lightmapper warning message to mention Rosetta emulation on macOS 2021-04-22 15:57:52 +02:00
Rémi Verschelde 305c364c13
i18n: Sync translations with Weblate 2021-04-21 09:40:43 +02:00
Rémi Verschelde d91b780cf8
Merge pull request #48058 from lyuma/legacy_names_gltf_3.3
Add an import setting use_legacy_names for 3.3 compatibility.
2021-04-21 08:57:12 +02:00
Lyuma d92a172879 Add an import setting use_legacy_names.
During the development of 3.3, internationalization features were added to allow arbitrary bone and node names.
However, doing so will break all references and existing animation clips for projects upgraded from 3.2
This adds an import setting, enabled by default, but disabled for newly generated .import files which restores the old behavior.
2021-04-20 22:48:52 -07:00
kleonc 7a776d68b6
ProjectSettingsEditor: Make "Type" OptionButton item ids match corresponding Variant::Type enum values.
(cherry picked from commit f8f12d0564)
2021-04-20 20:12:52 +02:00
Rémi Verschelde 2335da5af2
Merge pull request #47742 from mortarroad/3.x-fix-gltf-bone-names-space
[3.3] fix gltf importer regression from b032067e42, causing different BoneAttachment names
2021-04-20 20:12:41 +02:00
Hugo Locurcio 8e54573dfc
Add a tooltip to document performance issues of the Remote scene tree
(cherry picked from commit 6d2f5ee244)
2021-04-14 13:29:59 +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
kobewi f72c91e0b1
Expose edit_node() for editor plugins
(cherry picked from commit 72014a7a2e)
2021-04-12 09:24:37 +02: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
Rémi Verschelde f3476b66c4
Merge pull request #47213 from timothyqiu/project-icon-size-3.x
[3.x] Fix project icon size in Project Manager
2021-04-12 00:08:40 +02:00
Haoyu Qiu bfa5adb84f Fix 3D selection box size for Spatial 2021-04-11 19:01:37 +08:00
Morris Tabor d9e9aec9b9 fix gltf importer regression from b032067e42, causing different BoneAttachment names 2021-04-09 10:25:45 +02:00
Yuri Sizov ea5b3dda93
Expose editor scale to the plugin API
(cherry picked from commit ea31af68ba)
2021-04-06 10:18:20 +02:00
Hugo Locurcio 566213e08d
Add a subtle background to editor scrollbars
This makes it possible to see whether a scrollbar grabber is at the top
or at the bottom of a scrollbar. Also, if a scrollable area is very
large, this makes it easier to notice that the area can be scrolled
(since the grabber is proportionally very small).

The scrollbar grabbers were also made thicker and slightly more opaque
for better visibility, especially in peripheral vision.

(cherry picked from commit b60b6ddba4)
2021-04-06 10:04:51 +02:00
Rémi Verschelde 5cfdb86660
i18n: Sync translations with Weblate 2021-04-05 16:30:04 +02: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 cca2637b9b
i18n: Sync translations with Weblate 2021-03-30 00:03:07 +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
Haoyu Qiu be18262888
Check section existance before getting keys
(cherry picked from commit 40d6a25ef5)
2021-03-26 09:22:22 +01:00
nathanwfranke 1cfa2ad166
Fix transparent editor theme being brighter
(cherry picked from commit 0222f78482)
2021-03-24 10:31:14 +01:00
Rémi Verschelde 60c36af6dc
Remove now unnecessary ResourceImporterCSV importer
Its only purpose was to prevent importing CSV files as translations, but it
would still import them as *nothing*, leading to workflow issues.

This is now properly fixed with #47268 which allows disabling the import for
specific files.

(cherry picked from commit 7ed2220928)
2021-03-24 10:29:16 +01:00
Juan Linietsky 16c0147d75
Remove FileSystem dock errors on unimported files
* Removes error shown when file is in 'keep' mode
* Display a warning when attempting to open the file
* Closes #47296

(cherry picked from commit 4706297356)
2021-03-23 15:44:52 +01:00
Juan Linietsky 24e1ba1298
Add a "keep" import mode to keep files as-is and export them.
(cherry picked from commit 8d64f3bd76)
2021-03-23 15:44:24 +01:00
PouleyKetchoupp 13258baf4c Fix PhysicalBone gizmo not showing
The new CollisionObject gizmo used for custom shapes was used with
higher priority due to alphabetical order and was preventing physical
bones from being displayed in the editor.
2021-03-22 10:35:11 -07:00
Dominik 'dreamsComeTrue' Jasiński de63d0ffa7 Make Animation's SceneTreeDialog filter nodes properly
3.x version of https://github.com/godotengine/godot/pull/46938
2021-03-21 14:02:39 +01:00
Haoyu Qiu be8cb6af8c Fix project icon size in Project Manager 2021-03-21 14:41:46 +08: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
Alex Hirsch 9d7f44c9aa
Add additional index checks to COLLADA importer
ref #46548

(cherry picked from commit 8faeb72f10)
2021-03-21 00:15:53 +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
ArdaE 87573e92dc
GLTF import: Prevent significant numerical errors in keyframe times
Keyframe times shift slowly in imported animations, starting with a zero shift
at the beginning and increasing and becoming erratic slowly farther into an
animation, reaching significant levels at times after about 3 minutes into an
animation. This commit fixes the issue by increasing the precision of the
floating point numbers used for keyframe time calculations. Only the most
significant cases that cause fast accumulation of errors over a short animation
duration are fixed. Other cases that would have a marginal benefit from
switching to double precision numbers are left for another PR/further analysis.
Note that this change has no impact on the runtime performance of games/apps
created using Godot. It only affects the GLTF importer.

Fixes #47127.

(cherry picked from commit 6770a9413b)
2021-03-19 10:53:37 +01:00
K. S. Ernest (iFire) Lee f1e8ec942d
Expand bone name possibilities.
(cherry picked from commit c203fbfa8c)
2021-03-17 15:17:02 +01:00
Rémi Verschelde 94a0fc47f7
i18n: Sync translations with Weblate 2021-03-16 11:41:29 +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
Rémi Verschelde 48708b8e3d
Merge pull request #46999 from bruvzg/mac_new_wnd
[macOS] Fix "New Window" opening copy of current project instead of Project Manager.
2021-03-14 18:21:27 +01:00
bruvzg 7273e0b51b
[macOS] Fix "New Window" opening copy of current project instead of Project Manager. 2021-03-14 17:56:02 +02:00
jmb462 592c0632a1
fix-EditorSpinSlider-grabber-zoomed-position
(cherry picked from commit 919b097b9e)
2021-03-14 12:03:22 +01:00
ray90514 045cf246d4
Fix Node can not be reselected
(cherry picked from commit b0c881392a)
2021-03-14 12:03:22 +01:00
jmb462 4b2b45f72b
Fix crash on closing empty modified scene
(cherry picked from commit 49d5ec073f)
2021-03-14 12:03:17 +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
Pop0p d2a577f7f1
trims_whitespaces_when_creating_folder_windows
When creating a Windows folder via a Godot's dialog, the extra spaces are not removed which causes problems with Windows. We now remove leading and trailing whitespace when creating a dir.

(cherry picked from commit c8538153b0)
2021-03-13 22:25:34 +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
jmb462 7ca7acce7b
Fix always capitalized properties in sub-inspector
Fix #46961:

This commit correctly initialize capitalization in sub-inspectors (like shaders's sub-inspector in the inspector panel) with the editor settings.

(cherry picked from commit 281f5a4999)
2021-03-13 21:56:31 +01:00
mujpao f2739b3f52
Update viewport after Polygon2D deselected
(cherry picked from commit 030703dd30)
2021-03-13 21:56:31 +01:00
Rémi Verschelde 1d0929a992
Merge pull request #46920 from nekomatata/soft-body-gizmo-fix-3.2
[3.2] Fix pinned vertices in SoftBody editor gizmo
2021-03-13 21:52:51 +01:00
Rémi Verschelde ba174332af
Merge pull request #46939 from abaire/relaxes_gltf_name_sanitization_3.2
Relaxes Node naming constraints in glTF documents to match the Editor.
2021-03-13 14:57:09 +01:00
abaire b032067e42 Relaxes Node naming constraints in glTF documents to match the Editor. 2021-03-12 08:35:50 -08:00
ray90514 b169a16cb5
Fix Tree focus border disappears when Border Size is set to 0
(cherry picked from commit 4c0ab07809)
2021-03-12 14:15:34 +01:00
mujpao 0def17e80a Fix crash when trying to export zero files.
Fixes crash that happened while exporting if zero files were selected
and adds more error handling to EditorExportPlatform class.

(cherry picked from commit 15656d4182)
2021-03-12 10:16:32 +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
PouleyKetchoupp 987c3462fe Fix pinned vertices in SoftBody editor gizmo
The wrong vertices could be highlighted/selected due to generating a
debug triangle mesh to gather points, which can modify the order of
vertices.
2021-03-11 18:27:48 -07:00
Ev1lbl0w bae4b0c952
Fix negative VRAM values 2021-03-09 09:51:17 +00:00
Rémi Verschelde f1f472439e i18n: Sync translations with Weblate 2021-03-08 17:40:29 +01:00
nemerle bd15558768 fix incorrectly connected optimize_dialog signal
(cherry picked from commit 7bbacb5ff6)
2021-03-08 17:37:13 +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
Pedro J. Estébanez 8be3995efa Fix crash on cleanup of EditorFileServer
(cherry picked from commit 565796518d)
2021-03-07 22:51:06 +01:00
kobewi bc56681b0b Don't save unchanged script upon closing
(cherry picked from commit 12f5a5a701)
2021-03-07 22:51:06 +01:00
Danil Alexeev 72e8697d8c
Merge Category and Property fields in the Project Settings
Closes godotengine/godot-proposals#1545.
2021-03-02 19:39:46 +03:00
Yuri Roubinsky 9517b6e4ce Check before connecting `TileMapEditor::settings_changed`
(cherry picked from commit 1e7662f972)
2021-03-02 10:26:14 +01:00
kobewi 56c0b39521 Don't check modified time if file doesn't exist
(cherry picked from commit af069109be)
2021-03-02 10:26:14 +01:00
Rémi Verschelde 9047e760d1
Merge pull request #46451 from hilfazer/click_mesh_instance_crash
Prevent crash when clicking Mesh in MeshInstance when is scene root
2021-02-26 20:59:19 +01:00
hilfazer 84a9efcebc Prevent crash when clicking Mesh in MeshInstance when is scene root 2021-02-26 18:58:05 +01:00
hilfazer 8a7d0d3ce0 Prevent 'Change Type' on nodes from an instanced scene
(cherry picked from commit e28cc34db8)
2021-02-26 15:26:31 +01:00
kobewi ad204f9b95 Save ProjectSettings on editor restart
(cherry picked from commit 59e1c007a7)
2021-02-26 15:24:19 +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
Rémi Verschelde e919a413fb
Merge pull request #46397 from trollodel/collisionobject3d-debug-shapes-3.2
Allow CollisionObject to show collision shape meshes
2021-02-25 16:54:47 +01:00
Rémi Verschelde dadba2b391
Merge pull request #46392 from YeldhamDev/here_comes_another_rc
Backport the Import Defaults Editor
2021-02-25 15:45:34 +01:00
Rémi Verschelde 693a27e9dd
Merge pull request #46336 from m4gr3d/fix_android_resources_inclusion
[3.2] Update the filtering logic to properly handle directories with `.gdignore` files
2021-02-25 14:15:19 +01:00
Michael Alexsander 95191b9826 Backport the Import Defaults Editor 2021-02-24 17:50:42 -03: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
Shatur95 eb98ddf2c7 Add additional plugin path checks (3.2)
Need for compatibility after #45316.
2021-02-24 21:13:13 +02:00
Fredia Huya-Kouadio 48108444f1 Update the filtering logic to properly handle directories with `.gdignore` files. 2021-02-22 20:18:56 -08:00
Shatur95 0a874101fd Handle old relative plugin paths 2021-02-22 22:23:22 +02:00
Rémi Verschelde d0bc914491 i18n: Sync translations with Weblate 2021-02-22 11:04:13 +01:00
Danil Alexeev baf4720fd3 Fix "editor/editor_help" shortcut (again)
(cherry picked from commit c6435e1d47)
2021-02-22 10:42:26 +01:00
Hugo Locurcio f1bbb4fe3f Increase the page size for array/dictionary editors to 20
With smaller arrays/dictionaries, this makes it possible to view all of
an array/dictionary's items on a single page.

Larger values could be used, but make switching between node selections
quite slow, especially on low-end CPUs. They could also be problematic
with complex resource inspectors for arrays/dictionaries that contain
Resources.

This closes https://github.com/godotengine/godot-proposals/issues/2058.

(cherry picked from commit d97d65b184)
2021-02-22 10:15:00 +01:00
hilfazer c76e832b1c Support for duplication of nested instanced scenes 2021-02-21 18:34:52 +01:00
hilfazer 28fa0f5d13 Prevent selecting hidden nodes in Canvas Item Editor 2021-02-20 20:30:16 +01:00
Borislav Kosharov 96ff829816 fix file dialog filename cleared when selecting favorites
(cherry picked from commit 318d5442ec)
2021-02-19 15:51:19 +01:00
Rémi Verschelde b7695f13d2
Merge pull request #46217 from Chaosus/fix_scenetree_timeout_3.2
[3.2] Fix connecting signal to `SceneTreeEditor::update_timer`
2021-02-19 13:43:40 +01:00
Yuri Roubinsky d5cb968b81 [3.2] Fix `SceneTreeEditor::update_timer` - timeout signal 2021-02-19 14:39:53 +03: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 341c3cb04a
Merge pull request #45316 from Shatur95/detect-plugins-recursively-3.2
Detect plugins recursively (3.2)
2021-02-18 20:36:33 +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
hoontee f28c089d64 Improved Inspector Sub-Resource Editing 2021-02-18 05:43:19 -06: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
Rémi Verschelde f30d827448
Merge pull request #45951 from KoBeWi/copy_of_3.2
[3.2] Add node copy-paste
2021-02-18 12:06:17 +01:00
Pedro J. Estébanez 6d89f675b1 Modernize Thread
- Based on C++11's `thread` and `thread_local`
- No more need to allocate-deallocate or check for null
- No pointer anymore, just a member variable
- Platform-specific implementations no longer needed (except for the few cases of non-portable functions)
- Simpler for `NO_THREADS`
- Thread ids are now the same across platforms (main is 1; others follow)
2021-02-18 11:58:08 +01:00
Pedro J. Estébanez 8f6a636ae7 Modernize Semaphore
- Based on C++11's `mutex` and `condition_variable`
- No more need to allocate-deallocate or check for null
- No pointer anymore, just a member variable
- Platform-specific implementations no longer needed
- Simpler for `NO_THREADS`
2021-02-18 11:58:08 +01:00
Pedro J. Estébanez 4ddcdc031b Modernize Mutex
- Based on C++11's `mutex`
- No more need to allocate-deallocate or check for null
- No pointer anymore, just a member variable
- Platform-specific implementations no longer needed
- Simpler for `NO_THREADS`
- `BinaryMutex` added for special cases as the non-recursive version
- `MutexLock` now takes a reference. At this point the cases of null `Mutex`es are rare. If you ever need that, just don't use `MutexLock`.
- `ScopedMutexLock` is dropped and replaced by `MutexLock`, because they were pretty much the same.
2021-02-18 11:58:08 +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
Rémi Verschelde 7d921c1d53
i18n: Sync translations with Weblate 2021-02-16 14:47:29 +01:00
Ansraer 729a9c8a5e
Adjust auto scale on high res displays
(cherry picked from commit 466cf0b466)
2021-02-16 14:47:29 +01:00
Pedro J. Estébanez ec0085973f
Fix SceneTreeEditor::_update_tree() binding
(cherry picked from commit 20f48f0105)
2021-02-16 14:27:40 +01:00
Danil Alexeev 1fa8595bff
Change logo in the About dialog box (return Godot's teeth)
(cherry picked from commit c553ca54d5)

And fixup previous bogus cherry-pick that included merge conflicts.
2021-02-16 14:27:39 +01:00
mujpao 17a19ee104
Make search results font follow code editor font
The font size of the Find in Files dialog used to get out of sync with
the code editor font size.

The font of the Find in Files dialog is now updated each time there is a
change to the theme. This way, the font size of the Find in Files
results changes in response to the code font size being changed using
Ctrl +/- or using the Editor Settings.

Fixes #35499

(cherry picked from commit 011fdece6d)
2021-02-16 14:27:39 +01:00
kobewi 5a290e0a3c
Don't save project settings when not necessary
(cherry picked from commit 4db47eb32e)
2021-02-16 14:27:38 +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
Hugo Locurcio f6257e31ed
Display loading text while the project manager is loading
This hints the user that the project manager is currently busy
loading the project. This is important for the HTML5 editor as the
current feedback isn't very obvious.

This also removes the unused `_exit_dialog` function.
2021-02-14 17:02:08 +01:00
kobewi 637117c8d1 [3.2] Add node copy-paste 2021-02-13 14:27:36 +01:00
Michael Alexsander e6b3579e56
Make FileSystem dock set its path to the base folder of files after changes
(cherry picked from commit cf9d5cec22)
2021-02-11 13:12:06 +01:00
kobewi e7ee561ca0 Detect external modification of scenes 2021-02-11 01:08:49 +01:00
Rémi Verschelde 398a625a9f
Merge pull request #39421 from RandomShaper/pause_aware_picking_3.2
Implement pause-aware picking (3.2)
2021-02-09 10:43:48 +01:00
Rémi Verschelde daa0fe101e
Merge pull request #45813 from RandomShaper/keep_selected_visible_3.2
Keep selected node visible after filter change (3.2)
2021-02-09 10:43:37 +01:00
Rémi Verschelde 4211cb3dc7
Merge pull request #45773 from Calinou/editor-fonts-enable-filter-mipmaps
Improve editor text appearance in (un)zoomed GraphEdit-based editors
2021-02-08 22:28:52 +01:00
Pedro J. Estébanez 745c711289 Implement pause-aware picking
This adds a new project setting (`physics/common/enable_pause_aware_picking`). It's disabled by default.

When enabled, it changes the way 2D & 3D physics picking behaves in relation to pause:
- When pause is set, every collision object that is hovered or captured (3D only) is released from that condition, getting the relevant mouse-exit callback., unless its pause mode makes it immune from pause.
- During the pause. picking only considers collision objects immune from pause, sending input events and enter/exit callbacks to them as expected.
- When pause is left, nothing happens. This is a big difference with the classic behavior, which at this point would process all the input events that have been queued against the current state of the 2D/3D world (in other words, checking them against the current position of the objects instead of those at the time of the events).
2021-02-08 20:48:13 +01:00
Pedro J. Estébanez 1b9a01948e Keep selected node visible after filter change
(Implemented both for the local and remote scene tree docks.)
2021-02-08 02:25:14 +01:00
Marcel Admiraal 3dd57a22df Add support for new SDL gamecontroller keywords. 2021-02-07 16:41:23 +00:00
Hugo Locurcio d5716d8956
Improve editor text appearance in (un)zoomed GraphEdit-based editors
Enabling filtering and mipmaps on the editor fonts makes the text
look slightly better. While not as good as SDF-based fonts, it should be
more usable already.
This change impacts the visual script and visual shader editors.

This partially addresses #16220.
2021-02-06 19:24:05 +01:00
Rémi Verschelde 84e356d720 i18n: Sync translations with Weblate 2021-02-05 10:28:42 +01:00
Danil Alexeev 1749cc4da8 Fix "editor/editor_help" shortcut overwriting when restarting editor
(cherry picked from commit 2105b6a070)
2021-02-05 09:28:35 +01: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
Fabio Alessandrelli 3629617d36 Import zip via drag and drop in project manager.
Dropping a single ZIP file in the project manager will now prompt the
import dialog.
2021-02-03 17:16:38 +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
Kanabenki 3941093cf6
Check default project and autoscan directories exist on project manager startup
(cherry picked from commit 58be3c069a)
2021-02-02 13:30:54 +01:00
Hugo Locurcio 67acdfcf02
Make the Open Project Folder button more visible in the project manager
This closes https://github.com/godotengine/godot-proposals/issues/619.

(cherry picked from commit 04cbfbe6b2)
2021-02-02 13:30:54 +01:00
Hugo Locurcio c10c6cfad9
Add viewport resolution to the 3D editor's View Information pane
(cherry picked from commit 85ed695836)
2021-02-02 13:30:54 +01:00
jfons 16bbe8ddf4
3D editor grid improvements
This commit adds a view-dependant fade to the 3D viewport grid. It fades out
at steep view angles to hide the solid regions that appear far from the camera.
I also included a fade to hide the grid borders.

I added some improvements to the dynamic grid when the camera is in orthogonal mode.
It properly handles zoom now, and the grid center is now set to the intersection point
between the grid plane and the camera forward ray, keeping the grid
always visible.

(cherry picked from commit 73e62dffb9)
2021-02-02 13:30:50 +01:00
Hugo Locurcio 238b8ded72
Create the temporary PCK export directory if it doesn't exist
This closes #45560.

(cherry picked from commit 42ef79b826)
2021-02-02 13:02:47 +01:00
Tomasz Chabora 04ce4e6abb
Disable active editors when node gets deselected
(cherry picked from commit 958d23968d)
2021-02-02 13:02:46 +01:00
Yuri Roubinsky 8689c1178d
Adds Metallic to spatial light input of visual shaders
(cherry picked from commit f4eef287f9)
2021-02-02 13:02:46 +01:00
Rémi Verschelde 3f3130648a
i18n: Sync translations with Weblate 2021-01-26 22:10:30 +01:00
Michael Alexsander 6cc6dce9c1
Update path in the FileSystem dock after doing file operations
(cherry picked from commit b3b455c167)
2021-01-26 17:00:17 +01:00
Aaron Franke 0e45fb9798
Move the asset library API URLs to the Editor Settings
(cherry picked from commit 925d28e822)
2021-01-26 17:00:17 +01:00
gongpha 47fc3f73ac
Fix crash on FileSystemDock's tree when trying to collapse or expand folder
(cherry picked from commit e6145027ef)
2021-01-26 17:00:17 +01:00
Maganty Rushyendra 533a8cabcc
Ensures that export path is used when exporting PCK/ZIP
(cherry picked from commit 3a6c14e5c4)
2021-01-26 17:00:16 +01:00
Hugo Locurcio 7133603238
Fix typo in theming methods ("botton" -> "bottom")
(cherry picked from commit 1f9cac1717)
2021-01-26 17:00:15 +01:00
Hugo Locurcio 250f921522
Hide the rotation gizmo when editor cinematic preview is enabled
Cinematic preview enables the Camera3D preview automatically.

When previewing a Camera3D, the rotation gizmo isn't displayed as
it can't be used.

(cherry picked from commit fa1d853eeb)
2021-01-26 17:00:15 +01:00
Hugo Locurcio 314dd32d88
Tweak the "Auto" editor setting hints to be more indicative
This affects the editor scale and font hinting settings which will now
display their automatically chosen value in parentheses.

(cherry picked from commit 57654508c9)
2021-01-26 17:00:15 +01:00
kobewi 9b4c18ac59
Unify single and multiscene instancing
(cherry picked from commit 881c8da0a0)
2021-01-26 17:00:14 +01:00
Addmix 58f038d1fa
Create physical skeleton collider orientation fix
(cherry picked from commit 177e62a7e4)
2021-01-26 17:00:14 +01:00
Dodoveloper 01acd46afc
Fix #33326 by reopening scenes
(cherry picked from commit c3abda0b13)
2021-01-26 17:00:09 +01:00
Yuri Sizov a9552cefa2 Fix minimap capturing events and improve its theme
Add an editor setting for minimap opacity in visual editors
2021-01-25 21:49:34 +03:00
Shatur95 2443aba753 Detect plugins recursively 2021-01-19 18:46:55 +02:00
Rémi Verschelde bc47a8ae00
Merge pull request #39533 from hilfazer/editable-children-bugfixes
Fix Editable Children issues with node renaming, moving, duplicating and instancing.
2021-01-18 12:31:12 +01:00
Rémi Verschelde 51bcc875ea
Merge pull request #45214 from arrowinaknee/3.2-fix-new-scene-save
[3.2] Remove unnecessary file existence check when saving scene
2021-01-16 12:45:16 +01:00
ArrowInAKnee 5d8a24d1a5 Remove unnecessary file existence check when saving scene 2021-01-15 20:33:12 +03:00
Rémi Verschelde 7e207cfd48
i18n: Sync translations with Weblate 2021-01-15 16:49:47 +01:00
Hugo Locurcio ba04de6893
Draw a "background" line behind the dashed line in TextureRegion editor
This makes the dashed line visible on any background.

(cherry picked from commit 656aba1273)
2021-01-15 16:49:46 +01:00
Filip 37096cff86
Fix file name comparison when new file is added to file system
(cherry picked from commit b05ff60f6e)
2021-01-15 16:49:46 +01:00
dankan1890 32a0a50fcf
Create spritesheet for SpriteFrames by drag and dropping.
Close godotengine/godot-proposals#378

(cherry picked from commit 390ff22a8c)
2021-01-15 16:49:45 +01:00
Rémi Verschelde 497653ab53
Merge pull request #44628 from JFonS/new_cpu_lightmapper_3.2
[3.2] New CPU lightmapper
2021-01-15 13:25:46 +01:00
Rémi Verschelde d8ad9b202c
Merge pull request #45189 from fstiewitz/gltf-without-buffers
[3.2] Fix glTF import of scenes without buffers
2021-01-14 19:32:17 +01:00
JFonS 112b416056 Implement new CPU lightmapper
Completely re-write the lightmap generation code:
- Follow the general lightmapper code structure from 4.0.
- Use proper path tracing to compute the global illumination.
- Use atlassing to merge all lightmaps into a single texture (done by @RandomShaper)
- Use OpenImageDenoiser to improve the generated lightmaps.
- Take into account alpha transparency in material textures.
- Allow baking environment lighting.
- Add bicubic lightmap filtering.

There is some minor compatibility breakage in some properties and methods
in BakedLightmap, but lightmaps generated in previous engine versions
should work fine out of the box.

The scene importer has been changed to generate `.unwrap_cache` files
next to the imported scene files. These files *SHOULD* be added to any
version control system as they guarantee there won't be differences when
re-importing the scene from other OSes or engine versions.

This work started as a Google Summer of Code project; Was later funded by IMVU for a good amount of progress;
Was then finished and polished by me on my free time.

Co-authored-by: Pedro J. Estébanez <pedrojrulez@gmail.com>
2021-01-14 18:05:56 +01:00
kobewi 8386aa4601 Fix wrong signal in EditorPropertyColor 2021-01-14 14:55:08 +01:00
Fabian Stiewitz ba81e8ca09 fix gltf not importing files w/o bufferViews or accessors 2021-01-14 00:14:55 +01:00
Michael Alexsander 975a6194e7
Fix script list only showing their names regardless of display option
(cherry picked from commit 4194447a21)
2021-01-13 16:17:10 +01:00
Filip 12a7ff5ad2
Add all AutoLoad resources when exporting the project
(cherry picked from commit 4383c5026a)
2021-01-13 16:17:09 +01:00
kobewi 3873a1331b
Emit changed signal from Color Picker when changed
(cherry picked from commit a00ac12ae9)
2021-01-13 16:17:09 +01:00
Hugo Locurcio 952a089551
Don't allow adding Objects to the project settings
Godot doesn't support serializing objects.

This closes #33667.

(cherry picked from commit 7b84f4fc31)
2021-01-13 16:17:08 +01:00
PouleyKetchoupp dad3f27e9f
Update String property field only when text has changed
Avoids resetting the cursor position when the inspector updates while
editing a string property.

Fixes #42488

(cherry picked from commit c064378f95)
2021-01-13 16:17:07 +01:00
Eric M db3e18b9c6
Made save dialog open immediately when running unsaved scene.
Previously there was an unneeded confirmation dialog.

(cherry picked from commit a54110ba60)
2021-01-13 16:17:07 +01:00
jeffuntildeath 64cbff7e7d
Snap To Floor improperly offsets node
fix for issue #44282

AABB for collision geometry was being calculated based on parent nodes transform without consideration for collision geometries translation.
Also hopefully clarified logic for selecting starting point for ray cast

(cherry picked from commit 4f171afecc)
2021-01-13 16:17:07 +01:00
Rémi Verschelde 49646383f1
Update copyright statements to 2021
Happy new year to the wonderful Godot community!

2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.

We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)

Here's to a great year 2021 for all Godot users 🎆

(cherry picked from commit b5334d14f7)
2021-01-13 16:17:06 +01:00
Rémi Verschelde 188609e5ab
CI: Update to clang-format 11 and apply ternary operator changes
(cherry picked from commit af878716f2)
2021-01-13 16:14:35 +01:00
Andrii Doroshenko (Xrayez) acd9abe507 Add `AspectRatioContainer` class
Backported from ba68383706.

Co-authored-by: Ugis Brekis <ugis.brekis@productmadness.com>
2021-01-12 16:25:26 +02:00
Leleat 5bda8fae38
creater user-dir, if non-existant and pressing 'Open Project Data Folder'
(cherry picked from commit 8cf9d09d61)
2021-01-08 10:26:30 +01:00
Rémi Verschelde 7bfb8446d3
Merge pull request #44970 from Calinou/doc-particles-visibility
Document the requirement to update GPU particle visibility
2021-01-07 14:26:18 +01:00
Pedro J. Estébanez 2997a3aa23 Fix cases of resources destroyed too early 2021-01-06 20:25:05 +01:00
Hugo Locurcio cec16357ef
Document the requirement to update GPU particle visibility
This also updates some option names in the editor for consistency
and accuracy.

See #44955.
2021-01-06 19:17:57 +01:00
Rémi Verschelde 9d916b8540
glTF: Fix loading external images as buffer
We should first attempt loading as external files, thus creating a dependency.
Loading as a buffer should only be used as fallback to support manually loading
as PNG or JPEG depending on the defined mimeType.

Fixes #44309, was a regression from #42504.

(cherry picked from commit e268a8e523)
2021-01-05 21:33:34 +01:00
kobewi c588ba0b6a
Properly edit the instanced node in the inspector
(cherry picked from commit f5d51288b8)
2021-01-05 21:33:33 +01:00
kobewi 3785b091e4
Commit CanvasItem state only if it changed
(cherry picked from commit 036f6a3fa8)
2021-01-05 21:33:33 +01:00
kobewi f78937a394
Don't emit changed signal on Color Picker close
(cherry picked from commit a22b2f86e7)
2021-01-05 21:33:33 +01:00
Rémi Verschelde 58a1ed63bd
Revert "Fixed EditorPropertyText change signal emission."
This reverts commit 9a3cd08122.

This caused a regression: #44854.
2021-01-05 21:33:32 +01:00
Danil Alexeev 3002f57e1b
Fix odd newline in `EditorLog::add_message()`
(cherry picked from commit a8dce9c377)
2021-01-05 21:33:32 +01:00
volzhs bd3c2e96c3
Enhance editor file dialog
1. show valid directory path when opening editor file dialog
2. keep file name when changing path by entering path
3. add first extension in filter automatically if not given
4. remove directory in recent list if it's not valid anymore

(cherry picked from commit 1f4b1e1488)
2021-01-05 20:49:00 +01:00
Rémi Verschelde caa7c6a930
i18n: Sync translations with Weblate 2020-12-29 16:14:22 +01:00
Pedro J. Estébanez d84a303df4
Fix instantiation of resource as property value
(cherry picked from commit d2d29c42f2)
2020-12-29 16:02:03 +01:00
Hugo Locurcio 1062bedaaa
Add an editor setting for the 3D selection box color
A restart is required to apply the setting change.

(cherry picked from commit 8221037be0)
2020-12-29 16:02:03 +01:00
Michael Alexsander 58b2d669a0
Fix filename disambiguation on scripts in certain occasions
(cherry picked from commit ed488b72a6)
2020-12-29 16:02:01 +01:00
Hugo Locurcio d0abf5b0f5
Tweak the editor CheckButton "presed" appearance to be more recognizable
The blue accent color is now used, which matches the default editor
accent color.

It doesn't change to match the currently configured accent color
automatically, but doing so would require modifying the CheckButton
class a lot for little benefit.

(cherry picked from commit 114c1a78d9)
2020-12-29 16:02:01 +01:00
Michael Alexsander 01e1369ab7
Disable "Commit" button in VCS plugin if there's no commit message
(cherry picked from commit 221738fb81)
2020-12-29 16:02:01 +01:00
janglee 23280293d4
Removed default commit message
(cherry picked from commit 718227df6b)
2020-12-29 16:02:01 +01:00
Hugo Locurcio 3addea0057
Move the brightness factor for highlighted 3D gizmos to a variable
See
8522ac7711 (r45230326).

(cherry picked from commit 507e9b12a4)
2020-12-29 16:02:00 +01:00
Marcus Brummer 9248ee39ca
Changed the rotation gizmo handle to use the active axis color
(cherry picked from commit ec97962261)
2020-12-29 16:02:00 +01:00
Hugo Locurcio 2753cc5264
Increase the default 3D manipulator gizmo opacity for better visibility
- Brighten gizmos when highlighted to make the difference between a
  non-highlighted and a highlighted gizmo more visible.
- Tweak the manipulator gizmo size property hint.

(cherry picked from commit 8522ac7711)
2020-12-29 16:01:59 +01:00
Andrea Catania 9a3cd08122
Fixed EditorPropertyText change signal emission.
(cherry picked from commit ed1f208ec4)
2020-12-29 16:01:59 +01:00
Yuri Sizov 4d66d2aebd
Display the number of results for global search
(cherry picked from commit 7c0d682951)
2020-12-29 16:01:59 +01:00
Rémi Verschelde 688d422554
PVRTC: Move compress func to `modules/pvr`, drop obsolete PVRTexTool code
The code we had for PVRTexTool doesn't work as it's not compatible with current
PVRTexTool CLI options, and likely hasn't been for years.

Instead, we have our own vendored pvrtccompressor thirdparty library which all
users have thus de-facto been using. This commit moves the compress code to
`modules/pvr` where it belongs.

There's no proper compress function for PVRTC 2-bit format, that's a bug that
will need to be fixed (currently it's compressed as 4-bit format even if you
use Image::FORMAT_PVRTC2).

Fixes #28669.

(cherry picked from commit 1a31274855)
2020-12-29 15:12:06 +01:00
Yuri Roubinsky 8f5bdf6a63
Changes 'always show grid' hotkey to prevent conflict with 'pan mode'
(cherry picked from commit 1c546fdaea)
2020-12-29 13:49:59 +01:00
Adam Scott d96fdcd45e Add missing "normalized" accessor property to glTF document for the 3.2 branch 2020-12-28 03:17:37 -05:00
Yuri Sizov 816fef21f9 Add a minimap to the GraphEdit 2020-12-18 01:31:17 +03:00
Rémi Verschelde 36662f3b4d
Don't force GLES2 in Project Manager, causes issues on macOS.
This partially reverts #44041.

Also fix the bogus label about lack of GLES3 support being always shown...
It was meant to be behind a check but I had left it out while testing, and
forgot to put it back.
2020-12-11 22:32:41 +01:00
Rémi Verschelde 3e20a98503
i18n: Sync translations with Weblate 2020-12-10 14:12:35 +01:00
Rémi Verschelde c509ba9ff7
FileSystemDock: List conflicting files on move
Fixes #24167.

(cherry picked from commit 7dc41ff310)
2020-12-10 13:14:30 +01:00
Nick Swoboda e08af90c90
Fix scene being modified when arrows are pressed with no node selected
(cherry picked from commit 66827337fd)
2020-12-10 13:13:18 +01:00
jeffuntildeath de7b5006cc
fix for snap to floor editor crash bug
fix for issue #44231: snap_selected_nodes_to_floor() results in an editor
crash when a child collisionshape has invalid shape object

(cherry picked from commit 52f6e0b5ad)
2020-12-10 13:12:39 +01:00
Michael Alexsander 979e5b36da
Add icon for 'AudioStreamMP3' resource
(cherry picked from commit 49ae1cba0c)
2020-12-10 13:10:06 +01:00
Marcus Brummer 8ad61f6669
Asset Library: Scroll up the ScrollContainer after page load
(cherry picked from commit 0e4f2ca860)
2020-12-10 13:09:02 +01:00
Michael Alexsander 32da9dc1e9
Add "font_color_separator" theme property to 'PopupMenu'
(cherry picked from commit 383e8919e0)
2020-12-10 13:06:15 +01:00
Aaron Franke 4267f40e88
Fix trying to set grid visibility on an invalid instance
(cherry picked from commit 8c1d94ebae)
2020-12-09 13:04:07 +01:00
Nick Swoboda 956477f4a2
Change minimum snap step of Tile Set to 1
(cherry picked from commit 70c946f82d)
2020-12-09 11:22:05 +01:00
Eric M 0f279794c5
Made keyboard shortcuts for FileSystemDock visible in popup
(cherry picked from commit ef5c720b73)
2020-12-09 11:22:04 +01:00
Eric M 65edd1f823
Added F2 shortcuts for renaming files & folders.
(cherry picked from commit 5a3952fe64)
2020-12-09 11:22:04 +01:00
Rémi Verschelde 218d10a6a3
Merge pull request #44041 from akien-mga/project-manager-default-gles2
Use GLES2 by default in the project manager
2020-12-07 11:30:23 +01:00
Rémi Verschelde 9962fa6975
Merge pull request #42313 from kurinoku/fix-tileset-editor-3.2
Fixed tile_set_editor_plugin.cpp selection issue where it wouldn't cycle through all subtiles of an autotile.
2020-12-03 14:45:37 +01:00
Rémi Verschelde 9df3d06d1f
Merge pull request #43897 from RandomShaper/fix_refl_probe_vis_3.2
Put misc. 3D tool visible instances on their own layer (3.2)
2020-12-03 13:29:36 +01:00
Rémi Verschelde 8b1ee204cf
Use GLES2 by default in the project manager
This only applies to the project manager instance, what driver is used is otherwise
still defined by the project settings for a running game/editor.

Should help users who have issues with buggy GLES3 drivers to still use the project
manager to create and edit GLES2 projects.
2020-12-02 18:15:54 +01:00
Aaron Franke 80c72a529f
Limit the zoom and freelook speed based on camera settings
(cherry picked from commit 896a297c1f)
2020-12-02 16:02:39 +01:00
Tomasz Chabora afdf189776
Show editable children in the connect dialog
(cherry picked from commit c93a3bdaef)
2020-12-01 09:00:55 +01:00
volzhs a1f63bac0e Fix editor locked by generating preview of dynamic font 2020-12-01 01:09:00 +09:00
Pedro J. Estébanez 08a46bbacd Put misc. 3D tool visible instances on their own layer
This makes that visible stuff invisible to ReflectionProbes, whose preview in the editor shouldn't involve them.
2020-11-26 20:08:30 +01:00
Rémi Verschelde 97e7d637e0
i18n: Sync translations with Weblate 2020-11-26 09:47:40 +01:00
jfons bdc6f2fd95
Fix binding of default value in EditorSpatialGizmoPlugin::get_material()
It was commented for some reason I can't remember.

(cherry picked from commit e6949dae72)
2020-11-26 09:38:47 +01:00
Hugo Locurcio fe69bb262e
Bind the editor's Search Help function to F1 by default
Now that the F1 key is available, we can bind Search Help to the key
generally used in other applications to open the help menu.

(cherry picked from commit 42685f514f)
2020-11-26 09:38:46 +01:00
Hugo Locurcio f2a20893cc
Use a power-of-two value for Primary Grid Steps in the 3D editor
This matches the 2D editor default behavior.

Powers of two are usually better for grid divisions as they are often
used in level design.

(cherry picked from commit 31cf3e2572)
2020-11-26 09:38:46 +01:00
Rémi Verschelde 4a1643114e
Export: Reorder options for consistency across platforms
(cherry picked from commit 504efc5f9b)
2020-11-26 09:38:46 +01:00
Rémi Verschelde 2800ab75ad
Merge pull request #43739 from dakennedyd/3.2
Fix duplicated entries in script editor menu
2020-11-23 15:49:33 +01:00
David Kennedy 473cb79cc1 Fix duplicates entries in script editor menu
This was a regression from #40461.

Fixes #43707.
2020-11-23 11:33:59 -03:00
Rémi Verschelde e4f2f899db
Merge pull request #43697 from Calinou/increase-profiler-frame-max-functions
Increase the default `profiler_frame_max_functions` to 512
2020-11-23 10:02:37 +01:00
Hugo Locurcio c4e200687e
Increase the default `profiler_frame_max_functions` to 512
This should decrease the number of instances in which functions
don't appear in the profiler.

This partially addresses #40251.
2020-11-19 19:37:53 +01:00
GryphonClaw 27eaf357fc
added shortcuts/hotkeys for tileset editor plugin collision buttons, with suggested changes.
(cherry picked from commit cf582262c2)
2020-11-19 17:17:23 +01:00
Aaron Franke b9641efc5c
Update the 3D grid when the "View Grid" checkbox is changed
(cherry picked from commit 71d1909b39)
2020-11-19 17:15:28 +01:00
Rafał Mikrut 32017b1490
Allow to open multiple projects when some are not imported or without main scene.
(cherry picked from commit b20c20a6f7)
2020-11-19 17:15:27 +01:00
Haoyu Qiu c0fb16a512
Fixes rotation in select mode on macOS
(cherry picked from commit 381ba7d554)
2020-11-19 17:15:27 +01:00
Rémi Verschelde 68973cadf7
glTF: Workaround import failure with invalid embedded images
image/gif is not supported in the glTF 2.0 specification,
these files are broken. But let's be lenient...

Fixes #43638.

(cherry picked from commit f70cc0a60e)
2020-11-18 13:28:51 +01:00
Marcus Brummer 420df0c2a8
Fixed deletion of nodes with exported node paths
(cherry picked from commit 3629651ef8)
2020-11-18 13:27:47 +01:00
Fabio Alessandrelli f32c878ef7
Fix CLI export when export_path is in preset.
Export presets contains the export_path option, to specify the default
export location, but the CLI export option disregarded that, and always
required and export path to be specified.
After this commit, if the export path is not specified in the command,
the one in the preset will be used, erroring only if it's not present or
invalid.

(cherry picked from commit 032a1c5dc3)
2020-11-17 22:23:09 +01:00
Rémi Verschelde 755ee76871
Revert "Add script class categories to EditorInspector."
This reverts commit 8a02f221b4.

This caused regression #43491.
2020-11-17 22:21:32 +01:00
Rémi Verschelde 4816317bbc
Debugger: Save options in project metadata
Fixes #19542.

(cherry picked from commit 090361f3c9)
2020-11-17 16:42:42 +01:00
Hugo Locurcio fcab27878c
Require Ctrl for switching between editors, bind F2 to Rename Node
Switching between editors now requires holding Ctrl to avoid
conflicts with the new F2 shortcut.

The asset library can now be accessed by pressing Ctrl + F4
on Windows and Linux, or Alt + 4 on macOS.

This partially addresses #38139.

(cherry picked from commit 79e4e26738)
2020-11-17 16:24:06 +01:00
Rémi Verschelde e95af7ae9b
i18n: Sync translations with Weblate 2020-11-17 12:21:11 +01:00
Tomasz Chabora 2a98c5ff04
Allow folder checking in export preset file list
(cherry picked from commit 08a292fec3)
2020-11-17 12:07:02 +01:00
Hugo Locurcio c9a694a11d
Rename the "Delete" option in the FileSystem dock to "Move to Trash"
It actually moves files to the system trash instead of removing them
completely.

(cherry picked from commit e7ed287fda)
2020-11-17 12:01:59 +01:00
Hugo Locurcio 12681b497b
Improve messages related to overriding the default editor layout
This closes #33884.

(cherry picked from commit b324a929f6)
2020-11-17 12:01:59 +01:00
Nathan Franke 84c04a8ee3
Fix Android Export jarsigner error with *.import whitelist
(cherry picked from commit 20bca313c0)
2020-11-17 12:01:59 +01:00
Rémi Verschelde d81b8e4a86
SceneTree: Fix reparent crash with animation tracks renaming disabled
This check was there since the first commit in 2014, but a later feature added in 2018
with #17717 did not properly update the code while adding non animation-related code
in `perform_node_renames`.

Fixes #40532.

(cherry picked from commit d107fd4c9e)
2020-11-17 12:01:58 +01:00
Haoyu Qiu beddfb4437
Keep cursor relative position after multiline move
(cherry picked from commit 87fb2bde0c)
2020-11-17 12:01:58 +01:00
Rémi Verschelde 728200a10b
Merge pull request #43611 from Calinou/use-low-editor-scale-auto-3.2
Use 75% editor scale on small displays automatically (3.2)
2020-11-17 12:01:44 +01:00
Hugo Locurcio fc5e60f4cc
Use 75% editor scale on small displays automatically
This also makes borders always display in the editor theme,
even if the editor scale is below 100%. Otherwise, "focus" outlines
would vanish when using an editor scale below 100%,
which harms usability.
2020-11-17 11:17:41 +01:00
Hugo Locurcio 4b1de5be45
Add a dynamic infinite grid to the 3D editor
- The grid is now infinite, it follows the camera.
- The grid is now dynamic, if you zoom in and out, the grid subdivides,
  expands, and fades.
- You can now enable grid planes for the XY and YZ planes. Only the flat
  XZ plane is enabled by default. Each plane is independently dynamic
  of the others.
- The default grid size has been increased to 200, and the maximum
  has been increased to 2000. At 1000, the grid mostly looks edgeless.
- If you set the division level max and min to the same value then
  the grid does not expand or subdivide, but instead stays the same size
  and just follows the camera. Also, if these values are the same,
  the bias value does nothing.
- If you want to have Blender-like behavior, set max to 1, min to 0,
  and set the bias to a really low value. You may also wish to increase
  the grid size if you have a small bias.

Co-authored-by: Aaron Franke <arnfranke@yahoo.com>
2020-11-17 10:16:53 +01:00
Hugo Locurcio f39c71e32d
Use Ctrl+Shift+C as the default FileSystem dock Copy Path shortcut
This closes #43396.

(cherry picked from commit 5b40f9fddc)
2020-11-11 15:30:57 +01:00
Tomasz Chabora dc05beca80
Register methods for drawing 3D editor overlays
(cherry picked from commit cbfbb4538b)
2020-11-11 15:30:57 +01:00
Michael Alexsander 5e6af913de
Fix "Move Points" button sometimes not showing up on UV mode in the Polygon2D editor
(cherry picked from commit 4b74019ca3)
2020-11-11 15:30:56 +01:00
Eric Tuvesson be72285c70
fix(editor): TileMap floodfill with same tile ID and different variation
Closes https://github.com/godotengine/godot/issues/40435

(cherry picked from commit cefca25796)
2020-11-11 15:30:55 +01:00
willnationsdev 8a02f221b4
Add script class categories to EditorInspector.
(cherry picked from commit 644de52ca9)
2020-11-11 15:12:00 +01:00
Hugo Locurcio ed3f0a3950
Improve the 3D editor selection box appearance
- Draw two boxes slightly offset from each other to give the illustion
  of a thicker outline.
- Decrease the offset compared to the 3D node's AABB to give a more
  accurate representation of its size.
- Make the box fully visible instead of only displaying the corners.
- Draw a x-ray version of the box that's more translucent, but visible
  through walls. This helps make the box more visible while still
  having a sense of depth.
- Use an orange color similar to the 2D editor.
2020-11-09 21:55:56 +01:00
Rémi Verschelde c43b2ab603
Merge pull request #42942 from Calinou/add-viewport-debanding-3.2
Add a debanding property to Viewport for GLES3
2020-10-30 11:47:57 +01:00
Rémi Verschelde 4325c54335
Merge pull request #43016 from mbrlabs/rotation-gizmo-32
[3.2] Improve rotation gizmo
2020-10-30 11:46:05 +01:00
Rémi Verschelde 284dae021a
i18n: Sync translations with Weblate 2020-10-28 15:09:17 +01:00
Haoyu Qiu 3f81cd5332
Fixes property revert for inherited child nodes
(cherry picked from commit 0dfe28d93d)
2020-10-28 14:05:42 +01:00
Haoyu Qiu a973bc9530
Fixes property revert after saving instanced scene
(cherry picked from commit a2c1593f25)
2020-10-28 14:05:41 +01:00
Hugo Locurcio 94cf0dced2
Improve undo log messages in the 2D editor for additional context
Undo/redo log messages will now specify the modified node's
name (or number of modified nodes if several were modified).
On top of that, the new position/rotation/scale/pivot offset
will also be mentioned in the message.

(cherry picked from commit 996740de43)
2020-10-28 14:05:41 +01:00
David Sichma b69f1f183e
fix toggle mask bit 0
(cherry picked from commit 6acd450328)
2020-10-28 14:05:41 +01:00
Pleto 203d6375fc
Enhancement for tileset sorting
(cherry picked from commit 0e392bd177)
2020-10-28 14:05:41 +01:00
Ev1lbl0w a2dcbfe0a8
Disable code to add patches menu
(cherry picked from commit 395cb57256)
2020-10-28 14:05:40 +01:00
Michael Alexsander 5c129c7a05
Minor improvements to the Polygon 2D UV editor
(cherry picked from commit c26b49fc17)
2020-10-28 14:05:39 +01:00
Rémi Verschelde 7c27e37997
Merge pull request #42705 from Calinou/tilemap-editor-fix-osx-tooltip
Fix rectangle paint tooltip for the tilemap editor on macOS
2020-10-27 14:43:50 +01:00
hilfazer 6dbc08668b Move Editable Children information from scene's root to instanced nodes 2020-10-26 11:55:47 +01:00
Marcus Brummer 69b99ba9cb Improve rotation gizmo
Hide the back sides of the rotation gizmo circles and add a white
outline for better visualization of the rotation "sphere".

This is a 3.2 backport of @JFons work on the master branch; all credit
goes to him.
2020-10-22 22:05:50 +02:00
Hugo Locurcio 2dbc329704
Add a debanding property to Viewport for GLES3
It can be enabled in the Project Settings
(`rendering/quality/filters/use_debanding`). It's disabled
by default as it has a small performance impact and can make
PNG screenshots much larger (due to how dithering works).

As a result, it should be enabled only when banding is noticeable enough.

Since debanding requires a HDR viewport to work, it's only supported
in the GLES3 backend.
2020-10-20 19:07:15 +02:00
Hugo Locurcio af45c97652
Add fast approximate antialiasing (FXAA) to Viewport
This backports FXAA from the `master` branch.

Co-authored-by: Clay John <claynjohn@gmail.com>
2020-10-20 14:54:52 +02:00
Gabriel Van Eyck 5b9c16a324
Keep 'Editor Description' metadata when changing a Node's type
Also copy edit group/lock when replacing a Node3D

(cherry picked from commit a22275c8a2)
2020-10-19 16:10:01 +02:00
Fabio Alessandrelli 7a0710f91a
EditorNode now copies all drag and dropped files.
The editor used to only copy drag-dropped files in the File System pane
if the given file was a valid resource, or had a specific file format
(ttf, otf).
With this PR, all drag and dropped files are copied instead, no matter
their extension.

(cherry picked from commit 410b324740)
2020-10-19 16:10:00 +02:00
volzhs 623f7e0db4
Show android device name when connected only one device
(cherry picked from commit 778e982cff)
2020-10-19 16:09:59 +02:00
Marcel Admiraal 3e50d3b4c0
Ensure grid index is valid before trying to change value.
(cherry picked from commit f98acd5cfb)
2020-10-19 16:09:59 +02:00
Haoyu Qiu 0c1f88c769
Adds pan gesture to StateMachine editor
(cherry picked from commit e9bec0d76b)
2020-10-19 16:09:59 +02:00
Tomasz Chabora ed34eed62d
Update the setting when clicking Show hidden files
(cherry picked from commit 725c2bdf48)
2020-10-19 16:09:58 +02:00
David Sichma f601e15b92
aabb change updates bounding box
spatial editor will now update the bounding box if aabb or transform
changes

(cherry picked from commit 7701889048)
2020-10-19 16:09:57 +02:00
Michael Auderer 9f4dc87739
Reset TileMapEditor painting on application refocus
Treats application unfocus as a mouse release for
TOOL_PAINTING, by finishing the undo state and
resetting the tool. Also sets a flag to prevent extra
lines from being drawn when the application is refocused.

fixes #42398, fixes #24970

(cherry picked from commit 70a4cd1afe)
2020-10-19 16:09:55 +02:00
Marcus Brummer b426e58acd
Fixed renaming/moving of nodes with exported NodePaths
(cherry picked from commit fdec257e58)
2020-10-19 15:15:27 +02:00
lawnjelly c2290dbedd Unified GLES2 / GLES3 Batching
Batching is mostly separated into a common template which can be used with multiple backends (GLES2 and GLES3 here). Only necessary specifics are in the backend files.

Batching is extended to cover more primitives.
2020-10-16 10:34:47 +01:00
Fabio Alessandrelli 0452c2fced Improve Project Manager video driver selection.
Now suggests the current video driver instead of defaulting to GLES3.
2020-10-14 12:32:35 +02:00
Hugo Locurcio aaffd61903
Fix rectangle paint tooltip for the tilemap editor on macOS
This also fixes the Move Points tooltip for the 2D polygon editor.

This closes #42702.
2020-10-11 15:54:15 +02:00
Yuri Roubinsky a65252018c [3.2] Fix undo for moving multiple visual shader nodes 2020-10-06 08:54:58 +03:00
Aaron Franke b2897f1f7b
Check for global script class information before clearing it
(cherry picked from commit 1ca501d7d4)
2020-10-05 22:09:49 +02:00
K. S. Ernest (iFire) Lee 1f87bca8fb
Better non alphanumeric bone names.
1. _gen_unique_bone_name(Ref<GLTFState> state, const GLTFSkeletonIndex skel_i, const String &p_name) won't return an empty string.

2. String GLTFDocument::_sanitize_bone_name(const String &name) will keep Japanese characters. Like: "全ての親".

3. The sanitize function allows  the bone name to be not just alphanumeric. The only required conditions are the ones in add_bone.

> ERR_FAIL_COND(p_name == "" || p_name.find(":") != -1 || p_name.find("/") != -1);

(cherry picked from commit 7b76f8783f)
2020-10-05 20:46:01 +02:00
Rémi Verschelde 9529ce41eb
glTF: Fix parsing image data with `mimeType` undefined
The glTF 2.0 spec only makes `mimeType` mandatory for `bufferView` image data,
so the previous logic to handle URIs with base64-encoded images could fail if
`mimeType` is undefined.

The logic was documented and refactored to better handle the spec, notably:

- `uri` and `bufferView` are now mutually exclusive, and only the latter fails
  if `mimeType` is undefined.
- `uri` with a file path will now respect the `mimeType` if defined, and thus
  attempt loading the file with the specified format (even if its extension is
  not the one expected for this format). So we can support bad extensions (PNG
  data with `.jpg` extension) or custom ones (PNG data in `.img` file for
  example).
- `uri` with base64 encoded data will infer MIME type from `data:image/png` or
  `data:image/jpeg` if it was not documented in `mimeType` initially.
- `uri` with base64 encoded data, no `mimeType` and `application/octet-stream`
  or `application/gltf-buffer` will fall back to trying both PNG and JPEG
  loaders.

Fully fixes #33796 (and fixes up #42501).

(cherry picked from commit 2e99d0b26f)
2020-10-05 14:41:53 +02:00
Rémi Verschelde 177d16c01c
glTF: Fix parsing buffer data with application/gltf-buffer and image/* MIME types
See https://github.com/KhronosGroup/glTF/issues/944 for context on the
application/gltf-buffer MIME type.

The glTF 2.0 spec supports `image/jpeg` and `image/png` which can also be
base64-encoded in buffer URIs.

Fixes #33796.

(cherry picked from commit 34a50310ad)
2020-10-05 14:38:48 +02:00
Aaron Franke fcaf17824f
Don't write global script class information if there is none
(cherry picked from commit 3163611f0c)
2020-10-04 20:53:50 +02:00
Ryan Roden-Corrent d05a07235c
Fix bound return type on get_priority.
Also adds a description explaining gizmo priority.

Inferred from:
e4363d001a/editor/plugins/spatial_editor_plugin.cpp (L5867-L5880)
e4363d001a/editor/plugins/spatial_editor_plugin.cpp (L6462-L6470)

(cherry picked from commit c6919a13da)
2020-10-04 20:51:19 +02:00
Yuri Roubinsky 44817dbe6b [3.2] Fix port previews for uniforms in visual shaders 2020-10-02 11:10:08 +03:00
Haoyu Qiu 718f8e8344 Changes mention of Node3D back to Spatial 2020-10-01 23:55:10 +08:00
Gilles Roudière 14fa64d289
Fix scale cursor rotation and handle diagonal ones
(cherry picked from commit 6dd19af439)
2020-10-01 16:00:47 +02:00
Haoyu Qiu c8a9f700c3
Fixes FileSystem tree preview icon size on HiDPI
(cherry picked from commit b28fc2df07)
2020-10-01 16:00:46 +02:00
Hugo Locurcio 1eb4017e28
Make the pressed autokey icon red to emphasize its "recording" status
(cherry picked from commit 95773bb3c1)
2020-10-01 16:00:46 +02:00
Rémi Verschelde 3961f50176
Merge pull request #40461 from nekomatata/script-editor-init-optimization-3.2
[3.2] Optimized ScriptEditor initialization when many scripts are loaded
2020-10-01 13:58:01 +02:00
Rémi Verschelde 0c3e0ab194
Merge pull request #40994 from qarmin/sanitization32
[3.2] Added Linux sanitizer with xvfb to github workspace
2020-10-01 13:56:09 +02:00
Rémi Verschelde ef223f3aa7
Merge pull request #41185 from Chaosus/vs_uniform_ref_3.2
[3.2] Added UniformRef visual shader node
2020-10-01 13:50:08 +02:00
Hugo Locurcio f7ed1f4d1f
Automatically start searching in the asset library when entering text
Entering text will now start searching automatically after 0.25 seconds
have passed (debounce delay).

This removes the need for a separate Search button.

(cherry picked from commit 6055db2a72)
2020-09-29 13:57:58 +02:00
Nehluxhes 5abc42c27e
Remove duplicate node update call
(cherry picked from commit c85d04a771)
2020-09-29 13:57:57 +02:00
andriyDev 98eb6e4af6
Added inspector_only option to inspect_object in EditorInterface.
Updated docs to reflect change to inspect_object.

(cherry picked from commit 45a1c6f278)
2020-09-29 13:57:57 +02:00
K. S. Ernest (iFire) Lee 460ab353b4
Use the vertex colors by default in gltf.
(cherry picked from commit 43424e1321)
2020-09-29 13:57:57 +02:00
Hugo Locurcio ebff4c3e83
Allow using a comma as decimal separator in EditorSpinSlider
This closes https://github.com/godotengine/godot-proposals/issues/1576.

(cherry picked from commit 3800e7d2ba)
2020-09-29 13:57:57 +02:00
Hugo Locurcio fbafd5c9e2
Improve the inspector easing editor
- Make it possible to drag a negative easing or an easing of 0 back to
  a positive value.
- Clamp the value between -1000000 and 1000000 to avoid issues
  related to infinity.
- Display more decimals for numbers closer to 0, less for large numbers.
- Display trailing zeroes in decimals to avoid flickering when dragging.

This closes #18712 and closes #22079.

(cherry picked from commit 028de11db8)
2020-09-29 13:57:57 +02:00
Aaron Franke 50b1de7e39
Change the "remove missing" button to disabled rather than hidden
Also set a minimum size

(cherry picked from commit 0b6326c79a)
2020-09-29 13:57:57 +02:00
Gilles Roudière 0b2913086f
Draw selected item on top of everything else
(cherry picked from commit 16532f51ef)
2020-09-29 13:57:56 +02:00
Gilles Roudière e496e8d318
Fix error when dragging anchors with parent's size == 0
(cherry picked from commit 8e6da0b808)
2020-09-29 13:57:56 +02:00
Hugo Locurcio 306ce02823
Replace AutoKey icon with a more universally understood "record" button
See discussion in
https://github.com/godotengine/godot-proposals/issues/169.

(cherry picked from commit da906cade3)
2020-09-29 08:54:45 +02:00
Rémi Verschelde 4de606d78f
i18n: Rename pt_PT to pt
We originally used `pt_PT` (i.e. Portuguese (Portugal)) to distinguish with
the Brazilian Portuguese variant `pt_BR`, as both are significantly different
and need separate translation files.

But Portugal's Portuguese (or "European Portuguese") is close to the variant
spoken and written in other Portuguese-speaking countries such as Angola and
Mozambique, so it makes sense for users of these countries to also have access
to the European Portuguese translation (at least until translators decide that
adding e.g. `pt_AO` and `pt_MZ` variants would make sense, taking into account
the translation effort that this duplication implies).

Godot's locale matching checks first for the full locale (e.g. `pt_AO`), and
if no translation is found, it checks for the non-regional language code
(`pt`), so this change enables translations for Portuguese speakers outside
Portugal and Brazil.

(cherry picked from commit 1e2f55e273)
2020-09-29 08:54:45 +02:00
Leleat 15c56de212
striped edges on node rename in SceneTreeDock
(cherry picked from commit 32e52217ff)
2020-09-29 08:54:45 +02:00
Danil Alexeev 44bdd8f16c
Improvement for the Copy button in the Output Log
Now if no text is selected, pressing the Copy button copies the entire text.

(cherry picked from commit fb6eb21afc)
2020-09-29 08:54:45 +02:00
Rémi Verschelde 8ca9680b13
Merge pull request #38076 from DrMoriarty/fix_pvrtc
iOS: Fix multiple issues with PVRTC import, disable ETC1
2020-09-28 10:17:22 +02:00
kurinoku 94d9b7f7e2 Fixed tile_set_editor_plugin.cpp selection issue.
Fixed issue where using arrows to change the selected tile would not reach all subtiles in an autotile, only going up to the second to last row and column.
2020-09-24 13:19:48 -03:00
Rémi Verschelde 510d87e468
i18n: Sync translations with Weblate 2020-09-24 14:51:36 +02:00
booer b48015a3d1
Fix changing icons' colors when switch dark and light theme
(cherry picked from commit 3d69385655)
2020-09-24 14:43:10 +02:00
Spencer Burris 65ab1a3b0f
Make blank project name create an error, not a warning
(cherry picked from commit 0e3d938968)
2020-09-24 14:43:10 +02:00
Michael Alexsander d949b042a7
Add placeholders to the searchbars in the Project/Editor settings
(cherry picked from commit 626d9d5ae4)
2020-09-24 14:43:10 +02:00
Hugo Locurcio 9e28bee01f
Improve search and display in the editor property/method selector
- Use postfix notation for types in the method selector
  (for consistency with the editor help).
- Perform a case-insensitive match and replace spaces with underscores
  in the search string.
- Fix extraneous space after the `void` return type.

(cherry picked from commit 4390a9d628)
2020-09-24 14:43:09 +02:00
Michael Alexsander 5f430b4fb1
Minor visual improvements to the "Batch Rename" dialog
(cherry picked from commit 25d18e3491)
2020-09-24 14:43:09 +02:00