Commit Graph

6247 Commits

Author SHA1 Message Date
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
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
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
f28c089d64 Improved Inspector Sub-Resource Editing 2021-02-18 05:43:19 -06:00
68438b4abc Prevent selecting hidden editable children in spatial editor 2021-02-18 12:36:52 +01:00
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
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
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
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
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
972e7bd27c Only display the assetlib Retry button if the download failed
(cherry picked from commit 508011a57f)
2021-02-18 00:35:57 +01:00
7d921c1d53 i18n: Sync translations with Weblate 2021-02-16 14:47:29 +01:00
729a9c8a5e Adjust auto scale on high res displays
(cherry picked from commit 466cf0b466)
2021-02-16 14:47:29 +01:00
ec0085973f Fix SceneTreeEditor::_update_tree() binding
(cherry picked from commit 20f48f0105)
2021-02-16 14:27:40 +01:00
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
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
5a290e0a3c Don't save project settings when not necessary
(cherry picked from commit 4db47eb32e)
2021-02-16 14:27:38 +01:00
329dcebc83 Fix sprite editor conversion tools to handle compressed textures
(cherry picked from commit 1cd7a16c10)
2021-02-16 14:27:38 +01:00
751036ff87 [3.2] Limit max zoom to 1/2 of far plane instead of 1/4 2021-02-14 18:17:35 -05:00
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
637117c8d1 [3.2] Add node copy-paste 2021-02-13 14:27:36 +01:00
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
e7ee561ca0 Detect external modification of scenes 2021-02-11 01:08:49 +01:00
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
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
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
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
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
3dd57a22df Add support for new SDL gamecontroller keywords. 2021-02-07 16:41:23 +00:00
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
84e356d720 i18n: Sync translations with Weblate 2021-02-05 10:28:42 +01:00
1749cc4da8 Fix "editor/editor_help" shortcut overwriting when restarting editor
(cherry picked from commit 2105b6a070)
2021-02-05 09:28:35 +01:00
d31ee25882 Make margins obey the snap option in the TextureRegion editor
(cherry picked from commit 2d4cda89e1)
2021-02-05 09:27:55 +01:00
67d80e6f73 Fix swapped front/rear view
(cherry picked from commit f995d6cd17)
2021-02-05 09:26:09 +01:00
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
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
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
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
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
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
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
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
04ce4e6abb Disable active editors when node gets deselected
(cherry picked from commit 958d23968d)
2021-02-02 13:02:46 +01:00
8689c1178d Adds Metallic to spatial light input of visual shaders
(cherry picked from commit f4eef287f9)
2021-02-02 13:02:46 +01:00
3f3130648a i18n: Sync translations with Weblate 2021-01-26 22:10:30 +01:00
6cc6dce9c1 Update path in the FileSystem dock after doing file operations
(cherry picked from commit b3b455c167)
2021-01-26 17:00:17 +01:00
0e45fb9798 Move the asset library API URLs to the Editor Settings
(cherry picked from commit 925d28e822)
2021-01-26 17:00:17 +01:00
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
533a8cabcc Ensures that export path is used when exporting PCK/ZIP
(cherry picked from commit 3a6c14e5c4)
2021-01-26 17:00:16 +01:00
7133603238 Fix typo in theming methods ("botton" -> "bottom")
(cherry picked from commit 1f9cac1717)
2021-01-26 17:00:15 +01:00