Commit graph

6300 commits

Author SHA1 Message Date
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