Commit graph

1923 commits

Author SHA1 Message Date
Fredia Huya-Kouadio
a5897d579b Update the GodotHost interface to support signing and verifying Android apks
Update the export logic to enable apk generation and signing for Android editor builds

Note: Only legacy builds are supported. Gradle builds are not supported at this point in time.
2024-08-26 11:16:38 -07:00
Rémi Verschelde
091212b4f1
Merge pull request #93602 from aaronp64/inspector_latency
Improve Editor Inspector/Theme item lookup performance
2024-08-22 00:10:26 +02:00
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