Commit Graph

6335 Commits

Author SHA1 Message Date
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
Eric M 8bdfba790b
Added search box to signals dock.
Also made localised code changes for better documentation and readability.

(cherry picked from commit 8c4c2bceab)
2020-09-24 14:43:09 +02:00
Hugo Locurcio b79bcb1f33
Make the SpriteFrames animation speed SpinBox take less vertical space
This makes it possible to display one more animation with the same
vertical space.

(cherry picked from commit 2427a9cafc)
2020-09-24 14:43:09 +02:00
Hugo Locurcio e4e4140c6f
Improve editor tooltips related to debugging
Some option names have also been made longer as we can afford using
more space to display them.

(cherry picked from commit a46802f07c)
2020-09-24 14:43:09 +02:00
Dashcell 42eb92d19a
Fixes the resize of tile shapes when a vertex is outside of the tilesheet. Fix #34970
(cherry picked from commit 5355169d3c)
2020-09-24 14:43:07 +02:00
Melvin Louwerse 22efebc599
Show correct name of signal when editing an existing one
Use popup_dialog() instead of popup_centered() to show edit dialog/

With popup_centered it is not possible to change the displayed
signal name. When this is not set the previous shown name is show
for the current dialog.

This is no problem when creating a new conenction as popop_dialog
is used there and this would update the title.

Fixes #42074

(cherry picked from commit eeb6c2e22c)
2020-09-24 14:43:07 +02:00
booer 4d27433c1d
Fix filtering of search results in SectionedInspector
(cherry picked from commit 7f226d0a85)
2020-09-24 14:43:06 +02:00
Lunatoid 849dc87577
Fixes DefaultProjectIcon scaling with editor scale
Should fix #27009 where the DefaultProjectIcon was scaling
with the EDSCALE. Now it checks if the icon name is equal
to "DefaultProjectIcon" and sets the scale to 1.0 instead of
EDSCALE.

(cherry picked from commit 740100d671)
2020-09-24 14:43:06 +02:00
SekoiaTree 0d8b2d34e1
Fixed node scaling arrows being wrong
Patch for #21755. Node scaling arrows pointed the wrong way when nodes were rotated. Ammend: made math cleaner.

Simplified expression

Changes suggested by Aaron Franke

Co-authored-by: Aaron Franke <arnfranke@yahoo.com>
(cherry picked from commit 603febdbfe)
2020-09-24 14:43:05 +02:00
Aaron Franke 76a8458753
Make the Import dock depend on the FileSystem dock
(cherry picked from commit de6f8f9d21)
2020-09-24 14:43:05 +02:00
Zak d94323e37b
Adds automatic update for region_rect
When changing the texture region for a StyleBox, the regions was not updating automatically in the Texture editor.

(cherry picked from commit 7d7727bade)
2020-09-24 12:05:34 +02:00
Vasiliy Makarov f388ea00bf iOS: Fix multiple issues with PVRTC import, disable ETC1
Fixes: #28683, #28621, #28596 and maybe others

For iOS we enable pvrtc feature by default for both GLES2/GLES3
Etc1 for iOS doesn't have any sense, so it disabled.
Fixed checks in export editor.
Fixed pvrtc ability detection in GLES2 driver.
Fixed pvrtc encoding procedure.
2020-09-23 11:13:50 +02:00
Rémi Verschelde c8859f0463
Fix typos with codespell
Using codespell 1.17.1.

Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
dof
doubleclick
fave
findn
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
```
2020-09-18 14:09:51 +02:00
hoontee b626f16212
Fix "Create Trimesh Collision Sibling" transform
(cherry picked from commit 3cbd626328)
2020-09-14 11:00:47 +02:00
Adrien e90467ef66 Fix #42043, mismatched compress options in ResourceImporterLayeredTexture 2020-09-14 15:36:46 +08:00
Haz 935edf9323
Fix tilemap tiles on horizontal/vertical flips
(cherry picked from commit 3f5413693c)
2020-09-10 12:03:45 +02:00
Rémi Verschelde c5f6d2097b
i18n: Sync translations with Weblate
Add translators comment for the two 'Project Manager' strings,
and fix some of the translations.
2020-09-08 14:05:53 +02:00
Rémi Verschelde 8ae2a84fb6
Fix build with GDScript support disabled
Fixes #41710.
2020-09-08 09:14:25 +02:00
SkyJJ 1ba5917da9 Backport translator comment PR to 3.2 2020-09-07 21:03:25 +02:00
Rémi Verschelde 41b9e1d7ea i18n: Sync translations with Weblate 2020-09-04 08:53:53 +02:00
Rafał Mikrut 9caa35532a Fixes leak with creating editor settings
(cherry picked from commit 599ccbb7d4)
2020-09-04 08:49:58 +02:00
Lunatoid 636fe1bab9
Gives the theme editor a horizontal scrollbar
Fixes #34509 where the theme editor would push away the inspector
if something like "hseperation" is really high.
Now `set_enable_h_scroll` is true which fixes this.

(cherry picked from commit d602be077d)
2020-08-31 15:29:41 +02:00
Hugo Locurcio 336bc03d66
Add an editor setting to invert 3D pan/orbit on the X axis
This also makes the invert Y axis option apply to 3D panning.

This closes #28082.

(cherry picked from commit 2c9d4ef961)
2020-08-21 02:28:17 +02:00
Rémi Verschelde 9bf5a0b791
Merge pull request #41081 from naithar/feature/ios-framework-import-3.2
[iOS] [3.2] Export: Add a method to embed a framework
2020-08-19 14:11:27 +02:00
Sergey Minakov 910c554a1a iOS Export: Add a method to embed a framework
By default 'add_ios_framework' would not embed a framework to save previous behavior.
New 'add_ios_embedded_framework' would embed framework on export.
2020-08-19 14:54:59 +03:00
Michael Alexsander 8adfeda6f8 Make the editor's 'CheckButton' icon be smaller
(cherry picked from commit 0c182ce8e8)
2020-08-17 11:05:27 +02:00
Rafał Mikrut abd7c1833e Added Linux sanitizer with xvfb to github workspace 2020-08-14 12:15:58 +02:00
Rémi Verschelde e283d4b5c8 Update AUTHORS and DONORS list
New contributors added to AUTHORS:
@hinlopen, @naithar, @rrcore, @SkyLucilfer, @TwistedTwigleg

Thanks to all contributors and donors for making Godot possible!

---

Also changes to relevant code that parses the DONORS.md to match
the new tiers.

(cherry picked from commit d2d4c1c957)
2020-08-14 00:32:05 +02:00
Maganty Rushyendra 69dc9c9417 Fix tile placement preview for rotated, skewed or scaled TileMaps
Ensures that the editor preview when placing a tile on a TileMap takes
into account the transformation of the TileMap. Previously, only the
origin of the Tile was transformed, but not its orientation or
scaling.

(cherry picked from commit cf04aabef1)
2020-08-14 00:32:05 +02:00
Antoine Félix 3211a51be8 Modify the scene only when color changed
Editor now changes a color in the inspector only when it is different
from the current one.

Solves fake unsaved changes in editor after using the ColorPicker.

Resolves: #40879
(cherry picked from commit f3626364fc)
2020-08-14 00:32:05 +02:00
Tomasz Chabora cea16907bb Properly disambiguate unsaved scripts
(cherry picked from commit 3082def404)
2020-08-14 00:32:05 +02:00
Rémi Verschelde 900949b316 i18n: Sync translations with Weblate 2020-08-11 16:07:11 +02:00
Yuri Roubinsky d0c705781c [3.2] Added UniformRef visual shader node 2020-08-11 15:04:06 +03:00
totlmstr f550af9da7 Add missing #ifdef SVG_ENABLED 2020-08-08 14:03:14 -07:00
Rémi Verschelde ed20772c09 i18n: Sync translations with Weblate 2020-07-28 12:07:45 +02:00
Yuri Sizov 44ff9cdea5 Fix errors saving a 2D scene preview when the 2D editor was never opened
(cherry picked from commit e2b85b74a2)
2020-07-28 00:56:20 +02:00
Rémi Verschelde 518f109927 Script editor: Don't open dominant script in external editor
Fixes #13429.

(cherry picked from commits b5f110c77e,
6b3f013a82, and
e016859c3b)
2020-07-28 00:47:24 +02:00
Andrii Doroshenko (Xrayez) 6abaf4d0eb Skip internal scripts for breakpoints without printing an error
This removes:
```
ERROR: get_breakpoints: Condition ' base.begins_with("local://")
```
while running a project with blank scripts caused by deleting
or moving, or built-in scripts which are not yet saved within a scene
on running a project.

(cherry picked from commit 1c70a33d9c)
2020-07-28 00:40:20 +02:00
Rémi Verschelde eda03831d6 Style: Add missing newlines to SVGs 2020-07-24 10:39:18 +02:00
Tomasz Chabora 2bcb9d2a04 Fix run project when current scene was never saved
(cherry picked from commit 9c84e34fd4)
2020-07-24 10:31:57 +02:00
Andy Maloney cc8c6180c3 [macOS] Fix Maya navigation with ALT + mouse scroll
Methods were being called with InputEventMouseMotion instead of InputEventPanGesture, and they were null.

Fixes godotengine/godot#16181 on the master branch

(cherry picked from commit 394a7826be)
2020-07-24 10:31:57 +02:00