Commit Graph

7552 Commits

Author SHA1 Message Date
jfons 6995b0429c Assorted fixes to UV unwrapping and GPU lightmapper
Various fixes to UV2 unwrapping and the GPU lightmapper. Listed here for
context in case of git blame/bisect:

* Fix UV2 unwrapping on import, also cleaned up the unwrap cache code.
* Fix saving of RGBA images in EXR format.
* Fixes to the GPU lightmapper:
	- Added padding between atlas elements, avoids bleeding.
	- Remove old SDF generation code.
	- Fix baked attenuation for Omni/Spot lights.
	- Fix baking of material properties onto UV2 (wireframe was
	  wrongly used before).
	- Disable statically baked lights for objects that have a
	  lightmap texture to avoid applying the same light twice.
	- Fix lightmap pairing in RendererSceneCull.
	- Fix UV2 array generated from `RenderingServer::mesh_surface_get_arrays()`.
	- Port autoexposure fix for OIDN from 3.x.
	- Save debug textures as EXR when using floating point format.
2021-05-03 18:10:34 +02:00
Rémi Verschelde 0d819ae5f5
Merge pull request #48403 from kleonc/tilemap-editor-modulate-autotile-preview
TileMapEditor Modulate autotile previews
2021-05-03 16:00:50 +02:00
kleonc 3f1b95cfb1 TileMapEditor Modulate autotile previews 2021-05-03 14:58:02 +02:00
kleonc a1b903066e TileMapEditor::_bucket_fill Check autotile coordinates only if autotile is selected 2021-05-03 14:49:52 +02:00
Michael Alexsander 46e0161737 Add comment highlighting to script thumbnails 2021-05-02 21:48:37 -03:00
Hugo Locurcio a50a81b703
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.
2021-05-02 14:37:45 +02:00
Mateo Kuruk Miccino dc76938679 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 2021-05-01 22:12:02 -03:00
reduz 90056460ad Implement Particle Trails
-Enable the trails and set the length in seconds
-Provide a mesh with a skeleton and a skin
-Or, alternatively use one of the built-in TubeTrailMesh/RibbonTrailMesh
-Works deterministically
-Fixed particle collisions (were broken)
-Not working in 2D yet (that will happen next)
2021-04-30 17:38:02 -03:00
Rémi Verschelde 5b16020846
Replace remaining uses of `NULL` with `nullptr`
Follow-up to #38736 (these uses were likely added after this PR was merged).
2021-04-29 11:53:27 +02:00
Hugo Locurcio be01025376
Make it possible to copy the Godot version identifier by clicking it
This closes #24317.
2021-04-28 17:35:57 +02:00
Rémi Verschelde 0e93a1df79
Remove obsolete LargeTexture, it's no longer useful since 3.x
It existed in early Godot releases to allow working around hardware limitations
on max texture sizes (e.g. hardware limits of 1024x1024 pixels).

Nowadays the max texture size supported natively by Godot is 16384x16384, and
even low end mobile hardware should support at least 4096x4096.

The LargeTexture implementation is basically just an array with offsets, sizes
and textures and should be easy to replicate with a custom Texture resource if
needed - solving most of its bugs on the way as the implementation removed here
has various unimplemented or incomplete methods.
2021-04-28 15:51:55 +02:00
Rémi Verschelde 305b2a15bf
Merge pull request #48239 from akien-mga/goodbye-copymem
Core: Drop custom `copymem`/`zeromem` defines
2021-04-28 11:04:05 +02:00
Hugo Locurcio 60b70c77e0
Improve the editor theme
The editor theme now makes use of rounded corners and less borders
to follow modern visual trends.

The default theme's colors were also tweaked to make the blue hue
more subtle (similar to the Arc theme, which was removed as a
consequence). The Alien theme was replaced by a Breeze Dark theme,
which should blend in well with the KDE theme.
2021-04-27 22:38:26 +02:00
Rémi Verschelde 95cfce661b
Merge pull request #48050 from JFonS/occlusion_culling 2021-04-27 19:07:12 +02:00
Rémi Verschelde 8247667a3e
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.
2021-04-27 16:26:27 +02:00
Rémi Verschelde b95a82d46a
Merge pull request #47826 from Chaosus/vs_fix_default_input_overriding
Prevents default values of VSNodeCustom from overriding by a script
2021-04-27 10:42:51 +02:00
Hugo Locurcio 5d124c4a8f
Remove uses of `auto` for better readability and online code reviews
The current code style guidelines forbid the use of `auto`.

Some uses of `auto` are still present, such as in UWP code (which
can't be currently tested) and macros (where removing `auto` isn't
easy).
2021-04-26 14:59:28 +02:00
Rémi Verschelde a804d33281
Merge pull request #46952 from LightningAA/patch-1
Remove current export template version from "Installed Versions"
2021-04-24 11:46:32 +02:00
Rémi Verschelde 759b876b8a
Merge pull request #46593 from pycbouh/theme-editor-better-edit-ui
Refactor Edit Theme menu in Theme Editor
2021-04-23 23:12:25 +02:00
jfons 4d9d99bb82 Implement occlusion culling
Added an occlusion culling system with support for static occluder meshes.
It can be enabled via `Project Settings > Rendering > Occlusion Culling > Use Occlusion Culling`.

Occluders are defined via the new `Occluder3D` resource and instanced using the new
`OccluderInstance3D` node. The occluders can also be automatically baked from a
scene using the built-in editor plugin.
2021-04-23 21:45:23 +02:00
Fabio Alessandrelli 6cfbf36338
Merge pull request #48079 from sboron/fix-47643-remote
Fix Closing Running Game, still shows remote and local tabs
2021-04-23 02:59:37 +02:00
Stefan Boronczyk 7b9a9e57a7 fix stop debugger on closing game 2021-04-23 01:04:15 +02:00
bruvzg b56241f22f
ICU: Update to version 69.1, improve ICU data export process. 2021-04-22 16:56:53 +03:00
Rémi Verschelde e271dba9cb
i18n: Sync translations with Weblate
(cherry picked from commit 305c364c13)
2021-04-21 09:52:26 +02:00
kleonc f8f12d0564 ProjectSettingsEditor: Make "Type" OptionButton item ids match corresponding Variant::Type enum values. 2021-04-20 18:50:36 +02:00
Rémi Verschelde 68e6223a3b
Merge pull request #47990 from Calinou/editor-debugger-open-cpp-source-on-github
Add a menu action to open C++ source on GitHub in the editor debugger
2021-04-20 08:24:03 +02:00
Juan Linietsky 2b730cad90 Use multiple threads to import.
- For now everything imports multithreaded by default (should work I guess, let's test).
- Controllable per importer

Early test benchmark. 64 large textures (importing as lossless, _not_ as vram) on a mobile i7, 12 threads:
Importing goes down from 46 to 7 seconds.

For VRAM I will change the logic to use a compressing thread in a subsequent PR, as well as implementing Betsy.
2021-04-19 14:12:22 -03:00
Hugo Locurcio 5bc746e60a
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.
2021-04-19 18:28:59 +02:00
Rémi Verschelde 8ba06e3161
Merge pull request #47448 from madmiraal/rename-lineedit-cursor
Rename LineEdit getters and setters to match property names
2021-04-19 10:40:29 +02:00
Rémi Verschelde f41e7779fd
Merge pull request #47611 from Bhu1-V/PR/instance-scene-fix 2021-04-19 10:38:56 +02:00
Yuri Sizov 2524238bb3 Refactor Edit Theme menu in Theme Editor 2021-04-18 17:55:49 +03:00
Yuri Roubinsky 8ae5c6c6ec Fix `sky` visual shader mode after last rename 2021-04-17 20:59:48 +03:00
Bhuvan Vemula 9eb3546f38 instance-scene: make parent as edited_scene if no parent selected. 2021-04-17 19:16:18 +05:30
Marcel Admiraal 86822b187e Rename LineEdit caret_* properties getters and setters to match property 2021-04-17 12:41:23 +01:00
Hugo Locurcio 76722b5108
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-04-16 17:14:05 +02:00
Rémi Verschelde 2e87857d75
Merge pull request #47629 from Calinou/editor-allow-center-selection-without-selection
Allow Center Selection to work without any selection in 2D/3D editors
2021-04-16 12:47:47 +02:00
Rémi Verschelde 0e72d3d8f9
Merge pull request #47686 from aaronfranke/script-name-warning 2021-04-16 12:42:37 +02:00
Rémi Verschelde 7ce5599120
Merge pull request #47895 from Calinou/project-manager-name-strip-edges
Strip leading/trailing whitespace for project name in the project manager
2021-04-16 08:49:12 +02:00
Rémi Verschelde c7a4e2196e
Merge pull request #47878 from clayjohn/rename-get_surface_material
Rename get_surface_material to get_surface_override_material
2021-04-15 07:57:15 +02:00
clayjohn 92731d292c Rename get_surface_material to get_surface_override_material 2021-04-14 20:24:03 -07:00
Hugo Locurcio 86455d0c58
Strip leading/trailing whitespace for project name in the project manager
This affects creating projects and renaming them.
2021-04-14 20:25:44 +02:00
reduz d3b49c416a Refactor GLSL shader compilation
-Used a more consistent set of keywords for the shader
-Remove all harcoded entry points
-Re-wrote the GLSL shader parser, new system is more flexible. Allows any entry point organization.
-Entry point for sky shaders is now sky().
-Entry point for particle shaders is now process().
2021-04-14 11:37:52 -03:00
Rémi Verschelde 6b39980ea9
Merge pull request #47856 from ray90514/bug#47555
Fix multi-selection doesn't correctly show in the inspector
2021-04-14 13:43:35 +02:00
Rémi Verschelde fe73fed4d7
Merge pull request #47625 from SushiJackal/47450_fix
Fix: Selection Only in Find/Replace now preserves selection
2021-04-14 08:24:38 +02:00
ray90514 16decbc0ee Fix multi-selection doesn't correctly show in the inspector 2021-04-13 18:09:53 +08:00
Hugo Locurcio 6d2f5ee244
Add a tooltip to document performance issues of the Remote scene tree 2021-04-12 17:49:51 +02:00
Yuri Roubinsky 8d3e46098b Prevents default values of VSNodeCustom from overriding by a script 2021-04-12 14:41:08 +03:00
Rémi Verschelde cee5414698
Merge pull request #43180 from nathanfranke/node-configuration-array
Use Array for node configuration warnings
2021-04-12 09:40:55 +02:00
Rémi Verschelde 184abce192
Merge pull request #47709 from KoBeWi/node_that_changes_everything
Expose edit_node() for editor plugins
2021-04-12 09:11:33 +02:00
Nathan Franke 2a8c59c171
Use Array for node configuration warnings
Previously, the warnings were passed as a string and delimitation of which were hard coded at each implementation.
2021-04-11 23:25:38 -05:00
Rémi Verschelde 4a1f2dcb74
Merge pull request #47531 from fire/update-skeleton-display
Update Skeleton3D inspector Bone Transforms
2021-04-12 00:19:23 +02:00
kobewi 72014a7a2e Expose edit_node() for editor plugins 2021-04-12 00:13:08 +02:00
Rémi Verschelde 712bb8cbb6
Merge pull request #47175 from YeldhamDev/help_search_early_match
Select non-perfect matches if necessary in the Search Help dialog
2021-04-11 22:27:29 +02:00
Haoyu Qiu c8a40c8005 Fix 3D selection box size for Node3D 2021-04-11 15:15:52 +08:00
Fabio Alessandrelli d540875bc0
Merge pull request #37966 from pkowal1982/cleanup-profiler
Clean up profiler
2021-04-10 21:27:52 +02:00
Rémi Verschelde 8b6e3d6375
Merge pull request #46340 from gongpha/various-color-picker
Add Various ColorPicker shapes
2021-04-10 13:29:50 +02:00
Rémi Verschelde d3c492b7d4
Merge pull request #47596 from EricEzaM/PR/fix-editor-settings-shortcuts-wrong-button-action
Fixed Editor Shortcuts revert/edit/clear buttons performing the wrong action
2021-04-10 11:04:50 +02:00
Aaron Franke b8f66d58b6
Show a message when trying to zoom farther than the limit 2021-04-09 11:21:09 -04:00
Rémi Verschelde 8ca8868ef9
Merge pull request #47733 from Calinou/editor-tweak-frame-time-display
Tweak frame time display in the editor
2021-04-09 15:37:02 +02:00
Hugo Locurcio 88518d28ba
Tweak frame time display in the editor
- Pad decimal values to avoid layout shifts when the frame time
  changes.
- Cap values to 0.01 milliseconds to avoid division by zero
  in the FPS counter.
2021-04-09 14:58:24 +02:00
Haoyu Qiu 879a290ed9 Fixes Node3D rotation in select mode on macOS 2021-04-09 12:31:26 +08:00
Sushi a4d5664858 Fix: Selection Only in Find/Replace now preserves selection 2021-04-07 16:38:22 +02:00
Aaron Franke 5a9037f828
Warn when creating a script with the same name as the parent class 2021-04-06 22:43:00 -04:00
pkowal f93de6f94f Clean up profiler 2021-04-06 20:31:41 +02:00
Kongfa Waroros 6294507acb Add Various ColorPicker shapes 2021-04-06 22:48:03 +07:00
Rémi Verschelde 55faf1c874
Merge pull request #47651 from Calinou/export-improve-nonexistent-preset-errors
Improve error messages for missing export presets when using `--export`
2021-04-06 14:37:25 +02:00
Hugo Locurcio 09f38ea215
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.
2021-04-06 14:27:15 +02:00
Rémi Verschelde 45f0b5db28
Merge pull request #47200 from LightningAA/delete-from-project-manager-4.0
Add the ability to remove project contents from the remove project dialog
2021-04-06 11:30:14 +02:00
Rémi Verschelde f4b82814f8
Merge pull request #47622 from pycbouh/editor-plugins-expose-scale
Expose editor scale to the plugin API
2021-04-05 19:00:45 +02:00
Yuri Sizov ea31af68ba Expose editor scale to the plugin API 2021-04-05 18:44:01 +03:00
Rémi Verschelde 4296b135b7
i18n: Sync translations with Weblate
(cherry picked from commit 5cfdb86660)
2021-04-05 16:30:22 +02:00
Rémi Verschelde d83761ba80
Style: Apply clang-tidy's `readability-braces-around-statements` 2021-04-05 14:09:59 +02:00
Rémi Verschelde 9bbe51dc27
Style: Apply clang-tidy's `modernize-use-nullptr` 2021-04-05 14:05:07 +02:00
Rémi Verschelde 0f0c0e5933
Style: Apply clang-tidy's `modernize-use-bool-literals` 2021-04-05 13:16:35 +02:00
Rémi Verschelde de3b3e1cda
Merge pull request #47633 from Calinou/editor-theme-scrollbar-add-background
Add a subtle background to editor scrollbars
2021-04-05 12:05:07 +02:00
Rémi Verschelde 77dc4c3cb6
Merge pull request #47636 from qarmin/input
Fix crashes in *_input functions
2021-04-05 11:54:08 +02:00
Rémi Verschelde 789646e201
Merge pull request #47632 from Calinou/asset-search-autofocus
Automatically focus the Search field when displaying asset library
2021-04-05 11:38:48 +02:00
Rémi Verschelde 189aa6340e
Merge pull request #47408 from megalobyte/remove-float-recast
Use double when setting the default step size
2021-04-05 11:37:06 +02:00
Rafał Mikrut 504bc5cc67 Fix crashes in *_input functions 2021-04-05 08:52:21 +02:00
Hugo Locurcio b60b6ddba4
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.
2021-04-05 02:04:45 +02:00
Hugo Locurcio d89d00ac7e
Automatically focus the Search field when displaying asset library
- Focus the project search box when switching from the Templates tab
  back to the Projects tab in the project manager.
- Add a context-specific placeholder for the asset library search box.
- Rename "Search" project filter box placeholder to the more
  descriptive "Filter projects". When performing a search on an
  existing selection, "Filter" is more accurate than "Search".
2021-04-05 01:45:39 +02:00
Hugo Locurcio fc055e1993
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.
2021-04-04 19:58:46 +02:00
Rémi Verschelde a864a703ee
Merge pull request #47624 from Chaosus/vs_fix_context_menu_separator
Fix few bugs in the context menu for Comment node in visual shaders
2021-04-04 18:33:34 +02:00
Yuri Roubinsky 0fecd4ee4d Fix separator duplication in visual shader context menu 2021-04-04 17:55:42 +03:00
Yuri Roubinsky 44af52d62c Prevents TextureUniform in visual shaders from conversion to constant 2021-04-04 17:32:44 +03:00
Rémi Verschelde cbf5408685
Merge pull request #46273 from Chaosus/vs_comment
Added Comment node to Visual Shaders
2021-04-04 16:04:12 +02:00
Yuri Roubinsky 5af08e5e65 Fix typo in visual shader context menu 2021-04-04 15:31:04 +03:00
EricEzaM 2a673ff133 Fixed Editor Shortcuts revert/edit/clear buttons performing the wrong action.
For shortcuts not in the 'Common' section, the wrong action was being executed. Fixes part of #47594
2021-04-03 22:11:29 +10:00
Rémi Verschelde 4b6e9f3157
Merge pull request #46991 from madmiraal/rename-invert-reverse
Rename Array.invert() to Array.reverse()
2021-04-01 13:32:22 +02:00
megalobyte d0f3817876 Use double when setting the default step size
Casting it as a float was causing issues with the progress bar
2021-03-31 22:28:08 -07:00
Kyle ea5445655c 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.
2021-03-31 20:28:34 -04:00
Rémi Verschelde 7db85fffb5
Merge pull request #43550 from KoBeWi/resourcism
Add option to exclude selected resources on export
2021-04-01 00:20:54 +02:00
Rémi Verschelde 36c11a5b93
Merge pull request #42890 from Ev1lbl0w/bugfix-import-zip
Allow Godot to import .ZIP files with non-regular structure
2021-04-01 00:18:19 +02:00
Rémi Verschelde 54a690ead1
Merge pull request #43155 from nathanfranke/collapse-resource-preview
Collapse Resource Preview Properly
2021-04-01 00:16:44 +02:00
K. S. Ernest (iFire) Lee 182accc2e0 Update Skeleton3D inspector Bone Transforms 2021-03-31 09:19:01 -07:00
Rémi Verschelde 1508fe1393
Merge pull request #47230 from trollodel/anim_track_color
Preview the color animation in the animation editor
2021-03-31 13:56:32 +02:00
Rémi Verschelde 6b25c94bd6
Merge pull request #47519 from AndreaCatania/AndreaCatania-patch-4
Fixes editor crash on closing
2021-03-31 12:47:25 +02:00
AndreaCatania 79f55fcded Fixes editor crash on closing
Fixes editor crash when the gizmo is destroyed and the `SceneTree` is already freed.
2021-03-31 11:53:32 +02:00
Rémi Verschelde db31445b90
i18n: Sync translations with Weblate
(cherry picked from commit cca2637b9b)
2021-03-30 00:04:54 +02:00
Marcel Admiraal fd30c36985 Rename Texture.get_data() to get_image() 2021-03-28 13:00:46 +01:00