Commit Graph

1921 Commits

Author SHA1 Message Date
Hilderin 1b0c5cbc01 Fix FileSystem dock won't show any file folders (v2) 2024-08-20 21:23:13 -04:00
aaronp64 7593e55527 Improve Editor Inspector/Theme item lookup performance
Changes to reduce the latency between changing node selection in the editor and seeing the new node reflected in the Inspector tab

- Use Vector instead of List for ThemeOwner::get_theme_type_dependencies and related functions
- Use Vector instead of List for ThemeContext::themes, set_themes(), and get_themes()
- Add ClassDB:get_inheritance_chain_nocheck to get all parent/ancestor classes at once, to avoid repeated ClassDB locking overhead
- Update BIND_THEME_ITEM macros and ThemeDB::update_class_instance_items to use provided StringNames for call to ThemeItemSetter, instead of creating a new StringName in each call

These changes reduce the time taken by EditorInspector::update_tree by around 30-35%
2024-08-20 13:39:40 -04:00
Stuart Carnie 2d0165574d
Add Metal support for macOS (arm64) and iOS 2024-08-20 12:11:06 +02:00
Rémi Verschelde 49e4ad1460
Merge pull request #95691 from Hilderin/fix-display-dialog-while-saving-scene
Fix display dialog while saving scene
2024-08-20 12:08:49 +02:00
Rémi Verschelde 8dfb8efaa9
Merge pull request #95849 from bruvzg/sys_theme_check
[Editor] Prevent unnecessary editor theme regeneration on unrelated system setting update.
2024-08-20 10:03:13 +02:00
Rémi Verschelde 8acd82f70e
Merge pull request #89919 from BlueCube3310/bicubic-lightmap
Implement bicubic sampling for lightmaps
2024-08-20 10:01:41 +02:00
Rémi Verschelde 554dc002b5
Merge pull request #85108 from theDrake/pick-main-scene-punctuation
Adjust `pick_main_scene` dialog punctuation
2024-08-20 10:01:28 +02:00
bruvzg 97085358ce [Editor] Prevent unnecessary editor theme regeneration on unrelated system setting update. 2024-08-20 10:23:00 +03:00
BlueCube3310 ef9bb1a207 Implement support for bicubic lightmap filtering
Co-authored-by: Calinou <hugo.locurcio@hugo.pro>
2024-08-19 09:52:09 +02:00
Hilderin da31679d12 Fix display dialog while saving scene 2024-08-17 08:45:13 -04:00
Haoyu Qiu 7343dc3a5d Split TranslationServer into its own file 2024-08-15 15:00:47 +08:00
Hilderin b1c111d033 Fix reimport file multiple scenes 2024-08-07 20:22:46 -04:00
Hilderin 7934e73d78 Fix performance issue reimport file reload scene 2024-08-06 22:29:04 -04:00
Hilderin 769424388e Fix crash on reimport scene with animations 2024-08-02 16:50:22 -04:00
kobewi ab4c23583a Add keep_screen_on editor setting 2024-08-02 03:44:29 +02:00
Rémi Verschelde 1ad905c027
Merge pull request #85654 from Listwon/quit-to-project-list-wipe-fix-40968
Defer creating new editor process in "Quit to Project List" just like in "Reload Current Project"
2024-07-28 17:46:23 +02:00
Samuele Panzeri d0bcac8197 Remember editor window mode, screen, size and position on restart 2024-07-23 00:32:12 +02:00
Rémi Verschelde 50eee00180
Merge pull request #94093 from Yahkub-R/94056-fix
Fix instanced .blend/GLTF scenes lose all children after update until .tscn is reopened
2024-07-19 17:31:39 +02:00
Yahkub-R 66822a8948 Fix instanced .blend/GLTF scenes lose all children after update until .tscn is reopened
Co-Authored-By: Tomek <kobewi4e@gmail.com>
Co-Authored-By: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-Authored-By: Hilderin <81109165+Hilderin@users.noreply.github.com>
2024-07-19 08:51:23 -04:00
Rémi Verschelde f649112dfc
Merge pull request #94116 from bruvzg/ed_quit_unload
[Editor] Unload addons when using `--import` or `--quit`.
2024-07-19 11:10:37 +02:00
Rémi Verschelde 496fd12b17
Merge pull request #94052 from m4gr3d/clean_input_dispatch_settings
Cleanup Android input on render thread settings
2024-07-17 11:42:52 +02:00
Fredia Huya-Kouadio 5e59819727 Cleanup Android input on render thread settings
Follow up to https://github.com/godotengine/godot/pull/93933
Clean up the set of settings use to control whether Android input should be dispatched on the render thread.

Addresses comments in https://github.com/godotengine/godot/pull/93933#issuecomment-2210437977
2024-07-09 09:15:18 -07:00
bruvzg c151c7dce0
[Editor] Unload addons when using `--import` or `--quit`. 2024-07-09 09:54:41 +03:00
Rémi Verschelde 40d9f3a158
Merge pull request #94020 from Hilderin/fix-reimport-model-does-not-update-scene
Fix re-import glb model doesn't change the old glb model
2024-07-08 19:13:34 +02:00
Hilderin a7c4522c04 Fix custom shortcut Ctrl-Space in Script Editor add a space 2024-07-07 15:53:48 -04:00
Hilderin 5a13cf0aea Fix re-import glb model doesn't change the old glb model 2024-07-07 02:01:03 -04:00
kobewi 681769e2c9 Fix undoredo handling in some dialogs 2024-07-04 14:17:47 +02:00
Matt Enad 9d343ced58 Add customizable 3D navigation settings
This commit adds 3 new editor settings for orbit, pan, and zoom mouse buttons, and 6 new shortcuts which act as modifiers for the navigation controls. These new shortcuts replace the old orbit, pan, and zoom modifier settings.

The `navigation_scheme` setting now acts as a preset which changes the new options added above, and the new settings are what drives 3D navigation instead. A new struct is used for ordering the navigation logic so that actions with fewer shortcuts are checked first. When the editor starts, the preset detection will run to automatically update user settings from old Godot versions. When the setting is changed, the hint values for the mouse buttons are dynamically updated to show the user the corresponding shortcut values.

The new doc fields have been generated and the description for the new settings are filled out. The `navigation_scheme` entry now has more consistent styling and added control descriptions that were missing before.
2024-07-02 12:37:57 -04:00
passivestar 28a0d67233 [macOS] Change the distraction-free mode shortcut 2024-06-30 22:01:12 +04:00
Rémi Verschelde d4b7ede882
Merge pull request #92303 from Hilderin/fix-synchronization-global-class-name
Fix synchronization of global class name
2024-06-28 14:42:37 +02:00
Rémi Verschelde 54dbb17273
Merge pull request #85513 from KoBeWi/that_one_weird_plugin_that_uses_no_Resources
Save external data even without scene
2024-06-26 14:51:11 +02:00
kobewi b70368b78a Don't insert newline while saving 2024-06-26 13:19:25 +02:00
Hilderin 39369db029 Fix synchronization of global class name 2024-06-25 18:33:07 -04:00
Rémi Verschelde dc4085060b
Merge pull request #93558 from kitbdev/fix-exit-plugin-crash
Fix crash on exit with shader editor
2024-06-25 09:25:57 +02:00
Hugo Locurcio 555f0aa2f7
Add comment for editor particles Restart Emission shortcut not using Cmd on macOS
This is done to avoid a conflict, but it's not obvious when looking
at the code.
2024-06-25 02:22:00 +02:00
kit da55b6a01c Fix crash on exit with shader editor 2024-06-24 11:56:46 -04:00
Rémi Verschelde a50b535988
Merge pull request #93110 from Hilderin/fix-signal-panel-after-connection
Fix Can't reopen signals panel immediately after connecting a signal
2024-06-19 10:10:14 +02:00
A Thousand Ships ca18a06ecb
[Scene] Add `SceneStringNames::confirmed` 2024-06-19 09:40:54 +02:00
A Thousand Ships d9e2fc74c7
[Scene] Add `SceneStringNames::item_selected` 2024-06-19 09:39:05 +02:00
Hilderin 64ba2cf3a9 Fix Can't reopen signals panel immediately after connecting a signal #92996 2024-06-18 18:24:40 -04:00
Rémi Verschelde edf2f8cb0d
Merge pull request #93238 from bruvzg/ed_unload_addons
[Editor] Unload addons before quitting to allow cleanup.
2024-06-18 17:59:16 +02:00
A Thousand Ships d519715d94
[Scene] Add `SceneStringNames::font(_size/_color)` 2024-06-18 17:24:27 +02:00
Rémi Verschelde 76a8fa6fed
Merge pull request #93292 from rune-scape/singleton-cleanup
Fix missing cleanup and null checks for various singletons
2024-06-18 14:09:01 +02:00
rune-scape 6adcb1373a fix missing cleanup and null checks for various singletons 2024-06-18 01:05:30 -07:00
passivestar e0ab91a193 Allow theming renderer colors 2024-06-17 19:45:19 +04:00
bruvzg d96c58bbd0
[Editor] Unload addons before quitting to allow cleanup. 2024-06-16 17:44:51 +03:00
Rémi Verschelde b6ad4b193f
System info: Remove empty parentheses when video adapter driver name is unknown
Seems to be the case at least for me on Fedora, and in various issues I see from
other Linux users.
2024-06-11 16:18:20 +02:00
Rémi Verschelde e4fa8543ea
Revert "Fix FileSystem dock won't show any file folders"
This reverts commit 72856d633a.

Fixes #93022.
2024-06-11 11:46:35 +02:00
Hilderin 72856d633a Fix FileSystem dock won't show any file folders 2024-06-10 19:54:37 -04:00
Rémi Verschelde 5241d30bfa
Merge pull request #92836 from WhalesState/screenshot
Fix editor screenshots menu button's tooltip
2024-06-10 16:40:56 +02:00
Mounir Tohami d9452552fa Fix editor screenshots menu button's tooltip. 2024-06-10 14:13:35 +00:00
风青山 85a1662e3b
Call `EditorNode::set_edited_scene()` manually instead of via the `replacing_by` signal
Cannot change `scene_root`'s child node in `EditorNode::set_edited_scene()`
if replaced later using `replace_by`.
2024-06-06 22:44:13 +08:00
kobewi be111004dd Fix default NodePaths saved in scene 2024-06-03 13:10:23 +02:00
kobewi f08a7e32c8 Fix project settings reloading 2024-06-01 11:38:43 +02:00
Rémi Verschelde 9c87e8c7b4
Merge pull request #91953 from AThousandShips/use_normal_sname
Use `CoreStringNames::normal` in more places
2024-05-31 14:16:05 +02:00
A Thousand Ships cade5b88d9
Use `CoreStringNames::normal` in more places 2024-05-30 22:57:54 +02:00
A Thousand Ships 926afccbd8
[Scene] Add `SceneStringNames::panel` 2024-05-30 22:54:50 +02:00
A Thousand Ships 755a0efbb6
[Scene] Add `SceneStringNames::id_pressed` 2024-05-30 22:54:04 +02:00
风青山 9fe902b296
Fix errors when re-importing 3D asset files
Some 3D asset files are treated as scenes and may cause some errors when
importing.

When working through different scene tabs, we need to temporarily add
the scene root to the SceneTree to ensure that `editor_selection->add_node()`
can work smoothly. This avoids the error message: `ERROR: Condition
"!p_node->is_inside_tree()" is true.`

This also ensures that no other scenes are accidentally added to the
SceneTree causing the wrong display. When there is an inherited scene
tab open and it is not the current tab, the new root node is accidentally
added as a child node of `scene_root` during replacement.

Instantiate the scene early so caches in SceneState that are cleared
due to loading are rebuilt early. This avoids numerous error messages:
`This operation requires the node cache to have been built.`
2024-05-30 07:46:36 +08:00
Rémi Verschelde c42751cae2
Merge pull request #91033 from Hilderin/keep_current_bottom_panel_on_play
Add editor setting to keep bottom panel state on play and stop game
2024-05-29 22:13:45 +02:00
Hilderin 76205d4276 Add editor setting to keep bottom panel state on play and stop game 2024-05-29 05:45:17 -04:00
Rémi Verschelde 47fa384b89
Merge pull request #92279 from SaracenOne/scene_reload_crashfix_2
Fix script properties being lost and prevent node reference corruption upon scene reimport
2024-05-29 11:19:48 +02:00
Rémi Verschelde 4d906f46b3
Merge pull request #90660 from adamscott/rename-file-updated-dialog
Improve UX when saving newer files on disk
2024-05-29 11:19:41 +02:00
Saracen e57312d84e Updated scene hot-reloading:
Preserves exported script variables
Prevents corruption of direct node references.
2024-05-28 09:23:59 -07:00
Rémi Verschelde c98fef08bf
Merge pull request #89033 from bruvzg/doc_end_err
[DisplayServer] Add error messages and descriptions to callbacks.
2024-05-28 17:48:42 +02:00
Saracen 846bafd47f Changes the scene reimport function to handle some crash edge cases:
* The reimported instance attempt to preserve ownerless nodes.
* A recursive function call to '_nodes_scene_reimported' so these can be recreated if required.
* Clears instance scene_state on new instantiated replacement nodes.
2024-05-28 08:42:16 -07:00
bruvzg 714effdf07
[DisplayServer] Add error messages and descriptions to callbacks. 2024-05-28 17:36:54 +03:00
A Thousand Ships 4ed62665a2
Replace `.bind(...).call_deferred()` with `.call_deferred(...)` 2024-05-27 13:29:57 +02:00
Hugo Locurcio 57f52092c3
Add Ctrl + R keyboard shortcut to restart particle emission in the editor
Restarting particle animation frequently is often done in the VFX
tweaking process.

This shortcut is available for both GPUParticles and CPUParticles,
in 2D and 3D.
2024-05-22 18:42:04 +02:00
kobewi e065d7132a Remove duplicate shortcut definitions 2024-05-21 23:28:49 +02:00
Rémi Verschelde 9f4dbc6456
Merge pull request #91930 from godotengine/revert-90608-editor/enable-plugin-after-adding
Revert "Enable `EditorPlugin` added by modules and GDExtensions"
2024-05-15 20:21:32 +02:00
A Thousand Ships ee79386f7b
[Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
Raul Santos a8e9dfdcf2
Revert "Enable `EditorPlugin` added by modules and GDExtensions" 2024-05-14 07:11:34 +02:00
kobewi 413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
Rémi Verschelde 0ebba3023e
Merge pull request #91435 from ajreckof/Fix-selecting-root-when-opening-scene-
Fix selecting root when opening scene.
2024-05-13 12:05:39 +02:00
ajreckof 0ab5d37049 Fix selecting root when opening scene. 2024-05-12 21:46:21 +02:00
Rémi Verschelde a9a1d0a162
Merge pull request #91619 from AThousandShips/find_improve
Replace `find` with `contains/has` where applicable
2024-05-08 14:35:44 +02:00
Rémi Verschelde b8255b148f
Merge pull request #91555 from AlexanderFarkas/master
Remove error messages caused by Save on Focus feature
2024-05-08 14:35:37 +02:00
Rémi Verschelde 0fcd30180f
Merge pull request #91039 from timothyqiu/dock-icons
Allow setting editor dock tabs to icon only
2024-05-08 14:35:29 +02:00
AlexanderFarkas bc19b79776 Remove error messages caused by Save on Focus feature
Fixes #73765.
2024-05-08 13:42:45 +03:00
A Thousand Ships a0dbdcc3ab
Replace `find` with `contains/has` where applicable
* Replaces `find(...) != -1` with `contains` for `String`
* Replaces `find(...) == -1` with `!contains` for `String`
* Replaces `find(...) != -1` with `has` for containers
* Replaces `find(...) == -1` with `!has` for containers
2024-05-08 12:37:42 +02:00
A Thousand Ships 955d5affa8
Reduce and prevent unnecessary random-access to `List`
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)

* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
Rémi Verschelde 928441052b
Merge pull request #90608 from raulsntos/editor/enable-plugin-after-adding
Enable `EditorPlugin` added by modules and GDExtensions
2024-05-02 12:46:29 +02:00
Daylily-Zeleen 5c133f5432 Fix crash when switching main screen from a disabled plugin main screen if code editor is floating. 2024-05-01 15:05:56 +08:00
Haoyu Qiu 1e20612940 Allow setting editor dock tabs to icon only 2024-04-30 09:34:14 +08:00
Aaron Franke 1bcbbe96c4
Organize existing code for editor plugins 2024-04-27 11:59:58 -07:00
David Snopek 52324ebbb3 Fix GDExtension documentation disappearing after hot-reload 2024-04-25 07:24:55 -05:00
Rémi Verschelde c50e80b481
Merge pull request #90653 from ajreckof/Fix-going-forward-backward-in-editor-selection-history-
Fix going forward backward in editor selection history.
2024-04-17 20:26:20 +02:00
Rémi Verschelde 544ecc123a
Merge pull request #90616 from Rindbee/update-undo-redo-allowed-after-switching-scene-tab
Update undo redo allowed after switching scene tab
2024-04-17 10:58:42 +02:00
风青山 b5157e0686
Make the loading scene open in the current scene tab if the current scene is empty 2024-04-16 23:04:25 +08:00
Hugo Locurcio ed540964ee
Add an editor setting to import resources while unfocused
This can be used to speed up iteration by starting the import process
earlier when saving files in the project folder. This also allows getting
visual feedback on changes without having to click the editor window,
which is useful with multi-monitor setups.

The downside is that this increases idle CPU usage and may steal CPU
time from other applications when importing resources, so this is
disabled by default.
2024-04-15 19:40:04 +02:00
kobewi 445302a4b2 Improve error when scene/resource is saved with newer format 2024-04-15 12:08:35 +02:00
Adam Scott a0e644eab5
Rename Q&A to Forum in the Help top bar 2024-04-14 15:34:49 -04:00
Adam Scott 38d8abea12
Improve UX when saving newer files on disk 2024-04-14 11:36:07 -04:00
ajreckof 48a6476861 Fix going forward backward in editor selection history. 2024-04-14 17:21:11 +02:00
风青山 29ef52c8ac
Update undo redo allowed after switching scene tab
It has different status in different tabs.
2024-04-13 16:53:51 +08:00
Raul Santos db763ae16e
Enable `EditorPlugin` added by modules and GDExtensions 2024-04-13 06:03:59 +02:00
Rémi Verschelde 7c23d32446
Merge pull request #90441 from Calinou/editor-move-build-profile-editor
Move engine build profile editor to Tools submenu
2024-04-10 17:49:39 +02:00
Rémi Verschelde 9c5e968bbc
Merge pull request #90432 from Rindbee/correctly-replace-scene-root-when-must_reload
Correctly replace scene root when `must_reload` in `EditorData::check_and_update_scene()`
2024-04-10 14:22:29 +02:00
Rémi Verschelde 492c19732e
Merge pull request #86386 from timothyqiu/empty-layout-name
Strip edges of editor layout names
2024-04-10 14:21:37 +02:00