Commit Graph

12374 Commits

Author SHA1 Message Date
Ryan Roden-Corrent
89a40d317d Disable local space for blender transforms.
Having local_space enabled when starting a transform changed the
behavior of VIEW space transforms. Now we disable local_space when
starting a blender transform (there was already logic to restore the
setting after the transform ends).

This also hides the gizmo while performing a blender transform,
otherwise the user will see it snap back and forth between the local and
global alignment. I think the transform looks cleaner with the gizmo
hidden anyways.

Fixes #59392.

(cherry picked from commit 806425621c)
2023-03-14 13:59:03 +01:00
Rémi Verschelde
7e74568709 FBX: Disable importer when canceling FBX2glTF setup
Pretty hacky solution but it's better than an infinite loop.

All this import setup needs to be redone, it's very difficult to properly
bail out from an invalid import without triggering reimport loops.

Also fix underline not visible at default editor scale in LinkButton.

Fixes #73319.

(cherry picked from commit d81e6ee024)
2023-03-14 13:59:02 +01:00
Yuri Sizov
84e9a79ace Add missing handler for removing font sizes in Themes
(cherry picked from commit 5a3dbea3ed)
2023-03-13 22:22:05 +01:00
Ninni Pipping
75e078d885 Fix type icons in PropertySelector
And adding a check to prevent future issues.

(cherry picked from commit ca86d53e7f)
2023-03-13 22:11:46 +01:00
Thomas Lobig
a755ac856a remove incorrect rename of get_used_cells_by_id
renaming get_used_cells_by_id to get_used_cells is not only unecessary, it introduces hard to debug issues

(cherry picked from commit d6a2197b3d)
2023-03-13 22:10:04 +01:00
clayjohn
13b37a50ae Add parentheses around arguments when converting xform
(cherry picked from commit 3ee5fbdb73)
2023-03-13 21:33:35 +01:00
Ryan Roden-Corrent
81f4996683 Add some missing renames to 3to4 tool.
MultiplayerPeerExtension isn't an exact replacement for
NetworkedMultiplayerCustom, but at least it gets you moving in the right direction.

Engine.editor_hint couldn't be fixed by the renames map, because you have to add a `()` at the end.

(cherry picked from commit 6b17c2b6e7)
2023-03-13 21:32:51 +01:00
Ryan Roden-Corrent
06e2c6ace2 Move tool declarations to top in 3to4.
In godot3, `tool` can follow keywords like `extends` and `class_name`
In godot4, `@tool` must be the first line in the file.

(cherry picked from commit 9a474fb99f)
2023-03-13 21:31:53 +01:00
Marius Hanl
9fff0fcbb5 Project Converter: Do not convert lines that start with a comment
Lines that start with # or // are ignored

(cherry picked from commit 8cf7ac3a45)
2023-03-13 21:31:23 +01:00
Ninni Pipping
f6709a1fda Add keycode project conversion
(cherry picked from commit fec630f360)
2023-03-13 21:28:58 +01:00
Marcus Elg
6041ad5c70 Fix Camera2D position smoothing properties not being grouped
(cherry picked from commit a835dfd96d)
2023-03-13 21:25:14 +01:00
Ryan Roden-Corrent
6cd227a35c Correct superclass constructors in 3to4.
Fixes #70542.

The 3to4 conversion tool was not handling superclass constructors.
We should translate the godot3 syntax:

```gdscript
func _init(a,b,c).(a,b,c):
    pass

func _init(a,b,c):
    super(a,b,c)
```

Originally, the _init conversion was intended to remove `void` return types from _init functions, as this was disallowed due to #50589.
As that was resolved by #53366, I removed that part of the conversion logic. If a void return type is present on a constructor, the converter now leaves it.

Here's a sample diff from my own project:

```diff
@@ -103,10 +105,11 @@ class Real:
 class Text:
        extends Setting

-       var choices: PoolStringArray
-       var value: String setget set_value, get_value
+       var choices: PackedStringArray
+       var value: String : get = get_value, set = set_value

-       func _init(section: String, key: String, default: String, choice_list: Array).(section, key, default) -> void:
+       func _init(section: String, key: String, default: String, choice_list: Array) -> void:
+               super(section, key, default)
                choices = choice_list

        func normalize(val):
@@ -129,9 +132,10 @@ class Text:
 class Boolean:
        extends Setting

-       var value: bool setget set_value, get_value
+       var value: bool : get = get_value, set = set_value

-       func _init(section: String, key: String, default: bool).(section, key, default) -> void:
+       func _init(section: String, key: String, default: bool) -> void:
+               super(section, key, default)
                pass
```

(cherry picked from commit 53a00abb11)
2023-03-13 21:19:53 +01:00
Ryan Roden-Corrent
1421838ba7 Don't strip whitespace when converting 3to4.
Fixes #74204.

The style guide says

> Always use one space around operators and after commas

The 3to4 conversion tool currently strips space in certain scenarios.
I've updated it to add space whenever it is generating new code.
In any case where it substitutes existing code, it leaves it as-is.

For example, connect(a,b,c) becomes `connect(a, callable(b, c))`, because the converter is adding new commads/parens.

However, `xform(Vector3(a,b,c))` becomes `Transform * Vector3(a,b,c)` because it uses the user's original Vector3 string whole. If the user originally had `xform(Vector3(a, b, c))`, then it becomes `Transform * Vector3(a, b, c)`.

Ideally we'd always preserve original formatting, but this seems quite difficult, so I tried to preserve it where we can, but air on the side of following the style guide whenever we're transforming code.

(cherry picked from commit d3684e662f)
2023-03-13 21:18:53 +01:00
Ninni Pipping
857cd853de Fix TileSetEditor paiting texture_origin Vector2i
(cherry picked from commit fb317546fe)
2023-03-13 14:52:22 +01:00
Haoyu Qiu
093d237138 Fix dock name lost translation after layout change
* After you click in the dock select panel
* After you load an editor layout

(cherry picked from commit 43bf0ca8d2)
2023-03-13 14:49:17 +01:00
bruvzg
764fe8ac51 Automatically reparent editor message dialogs to avoid error spam.
(cherry picked from commit 921f3b7589)
2023-03-13 14:48:33 +01:00
SaracenOne
d929784491 Stop toaster notification circle flickering when notifications are all hidden.
(cherry picked from commit ab61624c78)
2023-03-13 14:47:14 +01:00
Niels Drost
94db7f866b TileSet editor was out of sync with TileMap and incorrectly overwrote old selected TileSet after an edit call with a null pointer.
(cherry picked from commit 66374c8dce)
2023-03-13 14:45:26 +01:00
Danil Alexeev
f4ea9df0f4 Fix GDScript code style regarding colon
(cherry picked from commit ea5fd3d732)
2023-03-13 14:42:27 +01:00
Ninni Pipping
8dca093d97 Document editor/naming/scene_name_casing setting
Moved definitions of editor related project settings to `editor/register_editor_types.cpp` to make documentation work.

(cherry picked from commit 3de5332fcb)
2023-03-13 14:25:46 +01:00
Yuri Sizov
234c601a61 Improve logic related to editing audio buses (and prevent crashes)
(cherry picked from commit 68c18c0e2b)
2023-03-13 14:19:41 +01:00
Yuri Sizov
048c252602 Prevent cache corruption when saving resources in the editor
(cherry picked from commit 496bd94c21)
2023-03-13 14:16:13 +01:00
Hayden Leete
7490f89238 Fix crash when revealing file in floating FileSystem Dock
When selecting "Show in FileSystem" from the context menu of a resource
in the inspector, the engine would crash if the FileSystem dock was
floating because it was trying to focus the FileSystem tab, but floating
docks don't use Tab Containers. This commit makes the FileSystem dock's
window grab focus instead if it's floating.

(cherry picked from commit c4d1513e15)
2023-03-13 14:15:18 +01:00
Yuri Sizov
755a86f502 Generate empty textures for theme icons if the SVG module is disabled
(cherry picked from commit 64215ad119)
2023-03-13 14:12:44 +01:00
Yuri Sizov
671f8eb790 Ensure that editor color map is initialized in the project manager 2023-03-11 02:04:54 +01:00
Haoyu Qiu
17a130cbd1
Fix "Convert Full Project" button not translated
Also fixes a typo in the CHANGELOG.

(cherry picked from commit e03bfd6f7f)
2023-03-06 10:10:02 +01:00
Rémi Verschelde
2f34a35722
i18n: Sync translations with Weblate 2023-03-01 00:11:39 +01:00
Gilles Roudière
1a2caf28e3 Fix a crash in the GLB importer 2023-02-27 17:24:03 +01:00
Rémi Verschelde
7cf1ec1cd4
Add 3-to-4 renames for project settings in project.godot
In the ConfigFile format, the first subpath is the category and is not part
of the line that the regex would match.

Fixes #66125.
2023-02-27 13:34:35 +01:00
Rémi Verschelde
6eb25f238f
Cleanup 3-to-4 renames, prevent common words replacements
Fixes #73505.
Fixes #73996.
2023-02-27 13:14:22 +01:00
Rémi Verschelde
0cd1483132
Merge pull request #73959 from clayjohn/GL-mobile-warnings
Add warnings for unsupported features in mobile and gl_compatibility backends
2023-02-26 21:39:06 +01:00
clayjohn
c69b14e96e Add warnings for unsupported features in mobile and gl_compatibility backends 2023-02-26 12:28:02 -08:00
Rémi Verschelde
c6443e9a4e
Merge pull request #73954 from KoBeWi/BugEx
Fix wrong OS regex in project converter
2023-02-26 14:28:17 +01:00
Thomas Lobig
dbb5e377fb
Converter: Rename 3.x Vector2 clamped to limit_length 2023-02-26 13:41:26 +01:00
kobewi
0ba6e36e40 Fix wrong OS regex in project converter 2023-02-26 13:02:57 +01:00
Rémi Verschelde
75c0027e5a
Merge pull request #73887 from nklbdev/master
fix typo `set_polygon` in GenericTilePolygonEditor
2023-02-25 01:01:26 +01:00
nklbdev
834a6c5983
fix typo set_polygon in GenericTilePolygonEditor 2023-02-25 00:57:34 +05:00
bruvzg
cebfc02d6f
Revert "Reordering emitted signals in PopupMenu" and fix editor selection issue in the safer way. 2023-02-24 21:17:05 +02:00
Rémi Verschelde
eec165e1f5
i18n: Sync translations with Weblate 2023-02-24 14:43:04 +01:00
Rémi Verschelde
cd699fedd8
Merge pull request #73855 from CheesecakeCG/scene-import-animationlibrary-tab-fix
Fix settings not appearing for Animation Libraries in the Scene Import window
2023-02-24 14:00:18 +01:00
hare_ware
f3095b7c9d Fix settings not appearing for Animation Libraries in the Scene Import window 2023-02-23 21:38:50 -05:00
Gordon MacPherson
e395eaf447 Fix editor resource preview deadlocking with --headless mode 2023-02-23 20:57:19 +00:00
Rémi Verschelde
e10a15fc19
Export: Default to exporting S3TC + BPTC for PC platforms
This is now required after #72031 when using HDRs.

Could have further cleanup as I think these import options may not be needed
at all anymore, and etc/etc2 support doesn't seem to make much sense.
Likewise, the hardcoded "s3tc" in `get_platform_features` could maybe be
removed. But this is material for after 4.1.

Fixes #73789.
2023-02-23 18:42:28 +01:00
Rémi Verschelde
13382a88df
Merge pull request #73814 from lyuma/importer_mesh_convex
import: Fix uv2 by avoiding premature ImporterMesh::get_mesh()
2023-02-23 13:55:43 +01:00
Rémi Verschelde
a5e944661d
Merge pull request #73775 from SaracenOne/fix_node_ownership_on_scene_update_addition
Fix ownership bug on ancestor nodes when scene is reimported
2023-02-23 13:53:47 +01:00
Rémi Verschelde
873c50732d
Merge pull request #73687 from Calinou/editor-convex-import-fix-max-convex-hulls-crash
Add a property hint to fix crash when setting max convex hulls below 0
2023-02-23 13:53:24 +01:00
Hugo Locurcio
7899726b98
Add a property hint to fix crash when setting max convex hulls below 0
Generating less than 1 convex hull is not valid anyway.
2023-02-23 13:51:12 +01:00
Lyuma
51a4fe1d53 import: Fix uv2 by avoiding premature ImporterMesh::get_mesh()
Implements create_convex_shape in ImpoterMesh.
Note: ImporterMeshInstance3D::get_mesh() is safe.
The only dangerous function with side effects is ImpoterMesh::get_mesh()
2023-02-23 11:55:28 +01:00
Lyuma
cb35471cb0 import: Pass the correct defaults to generated collision shapes.
Solves incorrect defaults, as well as applied scale failing to apply.
The default values are removed, and they differ from collision shape defaults
These values must match the defaults defined in resource_importer_scene.cpp
2023-02-23 03:03:04 +01:00
Rémi Verschelde
02583ddde8
Merge pull request #72460 from Calinou/project-manager-disable-incompatible-rendering-methods
Disable incompatible rendering methods in the project manager
2023-02-22 22:47:07 +01:00