1
0
Fork 0
Commit Graph

2038 Commits

Author SHA1 Message Date
Thaddeus Crews da01b2a462
Merge pull request #98063 from TCROC/fix-headless-import
Fix Headless --import --quit crashes editor
2024-10-24 13:22:36 -05:00
bjornmp 06998a3927 Enforce that custom nodes keep their original type
Enforce that custom nodes and resources created via the "Create New Node" dialog, should permanently retain their original type (script). This means:

- Type continuity: It should be impossible for the user to (accidentally) clear the original script of a custom node that was created via the "Create New Node" dialog.

- Extensibility: The user should be able to extend custom types as usual (create a script that inherits the original type and replace the original script of that node with his own). However, if he then clears his extension-script from that node later on, the custom type should revert to its original script instead of becoming a non-scripted type.
2024-10-22 18:18:16 +02:00
Yevhen Babiichuk (DustDFG) af6d260c17 Don't include `core/io/image.h` in `core/os/os.h`
`core/os/os.h` doesn't use `core/io/image.h`. It just brings
transitive dependencies. Lots of dependencies because `core/os/os.h`
is transitively included in almost every file of godot

Also added `core/io/image.h` into files^1 where `Ref<Image>` and `core/os/os.h`
were used to prevent obscure errors involving `Ref<Image>`

^1 except those which include `core/io/image_loader.h` or `core/io/image.h` by
corresponding .h file with the same name

Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-10-18 19:04:19 +03:00
Bogdan Inculet fb58ea6c89 Fixed Remote Nodes missing custom icons 2024-10-15 22:28:53 +03:00
Thaddeus Crews 5c00d0a54e
Merge pull request #94371 from KoBeWi/insane_particle_unification_😱
Unify particle editors
2024-10-14 14:09:42 -05:00
Travis Lange 96ab05e89f clear addon_name_to_plugin ater unload_editor_addons because of memdelete 2024-10-08 14:06:45 -04:00
Rémi Verschelde def5a04d06
Merge pull request #97543 from KoBeWi/to_edit_or_not_to_edit
Fix closing Theme Editor not actually closing it
2024-10-04 22:43:41 +02:00
Rémi Verschelde aa4077338b
Merge pull request #94880 from KoBeWi/never-before-seen_way_to_restart_editor
Call `restart_editor()` in `RUN_PROJECT_MANAGER`
2024-10-04 22:42:56 +02:00
kobewi a4d724b37c Unify particle editors 2024-10-04 22:36:12 +02:00
Stijn Hinlopen 06791e1acd New Quick Open Dialog
- Updated list view with thumbnails, and separate file name.
  - Added a grid view which has larger icons.
  - Added toggle to filter out files from addons.
  - Store history for each opened resource type.

New Editor settings for Quick Open:
  - Startup display mode (grid or list):
      - Determined by the requested resource type.
      - Whatever was last used.
  - Toggle to filter out files from addons (for persistence).

Notes
  - The dialog is now created once in EditorNode, and globally available for other components.
  - A fixed number of result scenes are instantiated, and reused based on query.
  - Drop support for multiselect.
2024-10-01 21:39:16 +02:00
Lalit Shankar Chowdhury b9ce6c9047
Improve "Replace in Files" dialog button text 2024-10-01 22:22:12 +05:30
chocola-mint ed13a840fa Add markers to animation 2024-09-29 17:27:36 +09:00
kobewi 66d2b0fc6a Fix closing Theme Editor not actually closing it 2024-09-27 17:08:20 +02:00
Rémi Verschelde 2912cb9975
Merge pull request #97118 from mihe/patch-exports
Add ability to export patch packs
2024-09-26 12:45:42 +02:00
Mikael Hermansson d3be030ea6 Add ability to export patch packs
Co-authored-by: Poq Xert <poqxert@poqxert.ru>
2024-09-25 17:07:28 +02:00
Rémi Verschelde fc960cdf80
Merge pull request #97013 from Hilderin/fix-load-errors-popup-empty
Fix empty load errors popup
2024-09-24 12:57:04 +02:00
Rémi Verschelde aa5c69bfd5
Merge pull request #97239 from Calinou/editor-system-info-add-display-driver-window-mode
Mention display driver and window mode in Copy System Info text
2024-09-21 11:50:42 +02:00
Rémi Verschelde 621cadcf65
Merge pull request #97168 from Hilderin/fix-reloading-scripts-already-in-use
Fix reloading scripts already in use
2024-09-20 21:35:08 +02:00
Hugo Locurcio 107675f785
Mention display driver and window mode in Copy System Info text
This is useful information to know, as the X11 display driver can be
used both on X11 natively and on Wayland through XWayland.

Certain editor issues only occur in multi-window mode
(or only in single-window mode). Some issues also only occur
on multi-monitor setups, so the monitor count is now listed.
2024-09-20 18:16:45 +02:00
Hilderin 9638220473 Fix reloading scripts already in use 2024-09-20 12:12:24 -04:00
Rémi Verschelde 7e62565f1e
Merge pull request #95787 from timothyqiu/domestic
Add translation domain
2024-09-20 16:06:23 +02:00
Rémi Verschelde 0a4aedb360
Merge pull request #97187 from KoBeWi/do_not
Don't store project metadata when loading
2024-09-19 17:13:56 +02:00
kobewi b277a2985d Don't store project metadata when loading 2024-09-19 16:01:53 +02:00
Haoyu Qiu 14321b8ed5 Set auto translate mode for drag previews
- Controls
  - `LineEdit`, `TextEdit`: Always disabled since it's dragging user input.
  - `TabBar`: Use the same auto translate mode as the node.
  - `RichTextLabel`: Always disable since auto translation is done
    differently from other controls (selection text you get
    programmatically is always after auto translation).
- Editor
  - Disable drag preview auto translation if the text is user input,
    filename, or class name.
  - Also disabled unexpected auto translation for audio bus effect names.
2024-09-19 19:21:29 +08:00
Rémi Verschelde 6bd833d2b8
Merge pull request #97028 from Hilderin/fix-error-reopening-non-existing-scene-on-startup
Fix error reopening non existing scene on startup
2024-09-17 09:17:57 +02:00
Haoyu Qiu 818acb4290 Make editor use translation domains
How editor plugins use this feature:
1. Pick a unique translation domain name.
2. `_enter_tree()`: load translations into that translation domain.
3. Call `set_translation_domain()` for its root UI node.
4. `_exit_tree()`: remove that translation domain.

Plugins can also set the translation domain to `godot.editor` for
nested nodes that should use editor translations. `EditorFileDialog`
automatically does this.
2024-09-17 13:09:44 +08:00
SaracenOne f44bce2ee0 Add support for resource conversion plugins in filesystem dock. 2024-09-16 15:11:40 +01:00
Hilderin d06c7ad6f0 Fix error reopening non existing scene on startup 2024-09-14 20:55:34 -04:00
Hilderin 430e5658f1 Fix empty load errors popup 2024-09-14 15:35:50 -04:00
Rémi Verschelde feb31176d4
Merge pull request #96830 from Hilderin/fix-popup-load-errors-showing-on-every-progress
Fix load error popup showing on every progress dialog
2024-09-12 09:25:35 +02:00
Hilderin 47703c7005 Fix load error popup showing on every progress dialog 2024-09-11 18:58:21 -04:00
Rémi Verschelde a4e77d94bc
Merge pull request #96539 from KoBeWi/feat_context_menu_plugin4.x_2-electric_boogaloo
Add EditorContextMenuPluginManager and refactor menu plugins
2024-09-11 12:34:53 +02:00
kit 5e1c9d68aa Extract editor main screen 2024-09-09 11:06:18 -04:00
Rémi Verschelde 5a92e27bfd
Merge pull request #96343 from passivestar/dock-scale
Fix dock width not respecting editor scale
2024-09-08 23:21:48 +02:00
Rémi Verschelde 7a4c03418a
Merge pull request #96144 from SaracenOne/reimport_owner_instance
Make reimported models reimport their owner.
2024-09-08 23:21:32 +02:00
Saracen 86ce15fb7a Make reimported models reimport their owner.
Changes the behaviour of the scene hot-reload system
so that if the scene which needs to be reimported is
owned by another instance, reload that instance instead.
2024-09-08 03:12:47 +01:00
Rémi Verschelde 05709b35fa
Merge pull request #96603 from bruvzg/fs_ext_list
[FileSystem Dock] Add option to show some unsupported files in the dock.
2024-09-06 10:09:36 +02:00
bruvzg 22b19c433f
[FileSystem Dock] Add option to show some unsupported files in the dock. 2024-09-05 18:29:29 +03:00
Hilderin 151645a1b6 Fix editor layout reset on startup 2024-09-04 19:31:23 -04:00
Rémi Verschelde df44d6a2e7
Merge pull request #96551 from DCTewi/fix-editor-progress-error
Fix ProcessDialog errors appeared after rebuilding .NET project
2024-09-04 17:12:13 +02:00
Rémi Verschelde 906a4e9db9
Merge pull request #96525 from bruvzg/rem_gl_renderer_incl
Store GLES over GL status in the OS to avoid direct renderer includes in the editor.
2024-09-04 11:16:48 +02:00
bruvzg 8009d7c6da
[macOS] Make gaps between editor titlebar buttons unclickabe to prevent accidental window move/resize. 2024-09-04 10:48:42 +03:00
DCTewi 5bfd8db7b7
Fix ProcessDialog errors appeared after rebuilding .NET project 2024-09-04 14:26:48 +08:00
kobewi ecc0ab8061 Add EditorContextMenuPluginManager and refactor menu plugins 2024-09-03 23:59:25 +02:00
bruvzg d4e78b8db5
Store GLES over GL status in the OS to avoid direct renderer includes in the editor. 2024-09-03 16:11:59 +03:00
Rémi Verschelde f4cc60fe0c
Merge pull request #96446 from Hilderin/fix-missing-material-override-after-two-glb-reimports
Fix missing material override after two glb reimports
2024-09-03 11:43:56 +02:00
Hilderin 79d0254a2d Fix missing material override after two glb reimports 2024-09-01 17:12:15 -04:00
bruvzg c273786758
Update rendering driver name on fallbacks. Fix rendering driver/method in the editor system info. 2024-09-01 18:22:40 +03:00
Saracen 1deb42ad8d Improve behaviour of AnimationPlayer warnings. 2024-09-01 01:32:56 +01:00
passivestar 8ff190b065 Fix dock width not respecting editor scale 2024-08-30 22:00:36 +04:00
Rémi Verschelde 1e57671718
Merge pull request #90130 from KoBeWi/erased_from_history
Expose EditorUndoRedoManager's `clear_history()`
2024-08-30 11:42:58 +02:00
Rémi Verschelde b128e71383
Merge pull request #96208 from m4gr3d/cleanup_immersive_logic
Restore fullscreen toggle menu for the Android editor and clean up the immersive mode logic
2024-08-30 09:59:27 +02:00
Rémi Verschelde f0ee0bdd37
Merge pull request #93972 from Hilderin/fix-editor-needs-restart-after-adding-gdextensions
Fix editor needs restart after adding GDExtensions
2024-08-30 09:59:05 +02:00
kobewi ad7a2d19a6 Expose EditorUndoRedoManager's clear_history() 2024-08-29 19:23:39 +02:00
demolke c409e6d722 Import/export GLTF extras to node->meta
This is useful for custom tagging of objects with properties (for example in Blender) and having this available in the editor for scripting.

- Adds import logic to propagate the parsed GLTF extras all the way to the resulting Node->meta
- Adds export logic to save Godot Object meta into GLTF extras
- Supports `nodes`, `meshes` and `materials` (in GLTF sense of the words)
2024-08-29 19:17:04 +02:00
Hilderin ef6f873938 Fix editor needs restart after adding GDExtensions 2024-08-29 06:15:32 -04:00
Fredia Huya-Kouadio 923b0f2e56 Restore 'Toggle fullscreen' menu for the Android editor and clean up the immersive mode logic 2024-08-28 09:50:34 -07:00
Rémi Verschelde cf2782911f
Merge pull request #87787 from aaronfranke/scene-import-type
ResourceImporterScene: Replace animation bool with an import type string enum
2024-08-28 00:10:27 +02:00
Rémi Verschelde 109203d472
Merge pull request #85331 from RobProductions/customize-navigation-controls
Add full customization of 3D navigation controls
2024-08-28 00:10:19 +02:00
Aaron Franke 9dd71c6414
ResourceImporterScene: Replace animation bool with an import type string enum 2024-08-27 14:58:18 -07:00
Rémi Verschelde 012ccbc301
Merge pull request #95048 from KoBeWi/keep_the_party_going
Add `keep_screen_on` editor setting
2024-08-27 22:27:35 +02:00
Rémi Verschelde b34aa7b44d
Merge pull request #76085 from spanzeri/better_remember_editor_window
Remember editor window mode, screen, size and position on restart
2024-08-26 23:27:55 +02:00
Rémi Verschelde 0f16336be0
Merge pull request #93526 from m4gr3d/add_apksigner_util
[Android Editor] Add support for exporting platform binaries
2024-08-26 22:45:09 +02:00
Rémi Verschelde b78da13e2a
Merge pull request #93064 from Hilderin/fix-fileSystem-dock-wont-show-any-file-folders
Fix FileSystem dock won't show any file folders (v2)
2024-08-26 22:45:04 +02:00
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
kobewi 2470eedd61 Call restart_editor() in RUN_PROJECT_MANAGER 2024-07-28 20:31:36 +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