Commit Graph

2289 Commits (cb1569345a6f17da08241e645ab03cb2e1b78d2f)

Author SHA1 Message Date
Kilian Strunz 791ad97beb Respect order of externsions for ResourceFormatSavers with at_front 2025-01-14 13:36:29 +07:00
Rémi Verschelde 8cf6061dfd Merge pull request #99844 from KoBeWi/give_back_the_focus
Fix progress dialog steals focus
2025-01-14 12:08:46 +07:00
kobewi 77d18d1ad4 Fix progress dialog steals focus
Co-authored-by: Hilderin <81109165+Hilderin@users.noreply.github.com>
2025-01-14 01:37:21 +07:00
Rémi Verschelde e9b18fcc38 Merge pull request #99741 from a-johnston/reload_scene_compare_relative_path
Compare localized path against editor scene path when reloading
2025-01-13 20:21:32 +07:00
Rémi Verschelde bb8001c83a Merge pull request #101450 from TokageItLab/reset-anim-skeleton
Change reset timing of the AnimationMixer and Skeleton on save
2025-01-12 18:07:32 +07:00
Silc Lizard (Tokage) Renew d5e91eaa42 Change reset timing of the AnimationMixer and Skeleton on save 2025-01-12 07:12:34 +07:00
Malcolm Anderson 6b33037021 Add menu bar item for "Pack Project as ZIP..."
Apply suggestions from code review

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>

Fix includes

Update editor/editor_node.cpp

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2025-01-09 20:37:02 +07:00
kobewi 24eadaa6a4 Reorganize EditorNode menu options 2025-01-09 12:21:56 +07:00
Rémi Verschelde f7b9a6a8b1 Merge pull request #100091 from AeioMuch/fix_nodepath_in_history
Add missing cleanup of editor history & set appropriate class icon for object in it
2025-01-08 00:20:58 +07:00
Rémi Verschelde 0fee2724f0 Merge pull request #100751 from YYF233333/force_regex_with_editor
Force build editor with regex module, remove checking code
2025-01-07 23:17:35 +07:00
AeioMuch 96e59b99ba Cleanup editor history when opening the history menu popup & set appropriate class icon for object in it. Handle do&undo for selection when reparenting 2025-01-07 23:15:30 +07:00
Yufeng Ying 34d8255947 Force build editor with regex module, remove checking code.
Fix include.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-01-07 19:43:23 +07:00
Rémi Verschelde 9890cc9d59
Merge pull request #97136 from chocola-mint/fix-#97021
Stop EditorNode from refreshing the current scene tab when not needed
2025-01-07 10:14:26 +07:00
chocola-mint 86a6794a4a Stop EditorNode from refreshing the current scene tab when not needed 2025-01-07 13:36:46 +07:00
Ricardo Subtil b77aa473a1 Implement a "Recovery Mode" for recovering crashing/hanging projects during initialization 2025-01-03 10:50:15 +07:00
Thaddeus Crews c83706fdfd
Merge pull request #99904 from kitbdev/fix-load-floating-dock
Fix loading layout with floating dock in single window mode and fix `restore_windows_on_load`
2024-12-30 08:58:52 +07:00
Adam Johnston 224bafcbce Compare localized path against editor scene path when reloading and
loading
2024-12-24 17:47:07 +07:00
A Thousand Ships a1846b27ea
Improve use of `Ref.is_null/valid`
Use `is_null` over `!is_valid` and vice versa.
2024-12-23 16:35:02 +07:00
Yufeng Ying f241c1fda0 Remove unused header in editor.
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-12-24 00:40:38 +07:00
Yufeng Ying 73d85f46c9 Remove unused headers in scene.
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-12-24 00:40:09 +07:00
Rémi Verschelde a11364d1e6
Merge pull request #99010 from Hilderin/embedding-game-process
Embed game process in editor
2024-12-20 23:56:43 +07:00
Rémi Verschelde 8a743f23e6
Merge pull request #98385 from RandomShaper/thread_yield
Rationalize busy waits
2024-12-20 23:56:39 +07:00
Hilderin 9d2a4c03be Embedding game process in editor 2024-12-18 17:52:42 +07:00
Haoyu Qiu bf4e5cca3f Make editor's shortcut names translated on-site 2024-12-18 13:00:30 +07:00
Rémi Verschelde e237dd0691
Merge pull request #100408 from KoBeWi/pathdoom
Improve UID support for main scene
2024-12-17 16:19:19 +07:00
kobewi 62d4928e86 Improve UID support for main scene 2024-12-16 19:58:16 +07:00
Thaddeus Crews 02e196eb41
Merge pull request #98132 from aaronfranke/editor-plugin-get-plugin-icon-name
Rename internal EditorPlugin icon/name to match exposed methods
2024-12-16 12:09:57 +07:00
Thaddeus Crews a7fa0528bb
Merge pull request #100372 from Calinou/os-add-get-version-alias
Add `OS.get_version_alias()` to return a human-readable Windows/macOS version number
2024-12-16 12:09:40 +07:00
Aaron Franke 0ab3dc273e
Rename internal EditorPlugin icon/name to match exposed methods 2024-12-15 17:31:01 +07:00
Hugo Locurcio 928982891e Add `OS.get_version_alias()` to return a human-readable Windows/macOS version number
Windows 11's major version number is actually 10.x.x, which can be confusing
if you don't know about this quirk. `OS.get_version_alias()` avoids this
by displaying the "branding" version number and the build number as a suffix,
so that individual updates can still be distinguished from each other.

On macOS, `OS.get_version_alias()` returns the version number prepended
with the version name (e.g. Sequoia for macOS 15).

On other operating systems, this returns the same value as `OS.get_version()`.
2024-12-14 18:47:50 +07:00
Rémi Verschelde e0cdba40fd
Merge pull request #99453 from reach-satori/drag_to_filesystem_folder
Allow dragging to specific folders in filesystem dock
2024-12-14 18:25:33 +07:00
Pedro J. Estébanez 4f8dd96b3d Rationalize busy waits 2024-12-13 10:14:26 +07:00
Robert Yevdokimov 7f09804154 Add inherit parameter to `open_scene_from_path` 2024-12-12 10:24:58 +07:00
Thaddeus Crews 15aa18bc92
Merge pull request #98675 from YeldhamDev/dont_be_shy_plugin
Fix certain editor plugins not showing when they should
2024-12-10 14:16:09 +07:00
Thaddeus Crews bfc1d2f95f
Merge pull request #96773 from tetrapod00/resource-save-popup
[Editor] Use toast (notification) instead of dialog when saving with no open scene
2024-12-10 14:15:42 +07:00
Michael Alexsander b397add456
Fix certain editor plugins not showing when they should 2024-12-09 15:23:23 +07:00
Nông Văn Tình e6a49ab6ac Save color palette as resources to reuse later
Co-authored-by: Micky <66727710+Mickeon@users.noreply.github.com>
2024-12-06 20:16:06 +07:00
Thaddeus Crews ef22b6fe82
Merge pull request #100030 from passivestar/mainmenu-valign
Fix vertical alignment of the main menu bar
2024-12-05 14:12:06 +07:00
passivestar 73f7e1379c Fix vertical alignment of the main menu bar 2024-12-05 05:27:34 +07:00
kobewi b0cee57d81 Fix extensions when saving resource as 2024-12-03 22:54:54 +07:00
kit 4e1f534c1e Fix loading floating dock in single window mode
Fix restore_windows_on_load setting preventing loading layouts with floating docks
2024-12-01 14:06:22 +07:00
Thaddeus Crews 37c392ebc3
Merge pull request #96414 from SaracenOne/improve_animation_warnings
Improve behaviour of AnimationPlayer warnings.
2024-11-26 13:04:46 +07:00
Mateus Reis 6f76ef4bdd Allow dragging to specific folders in filesystem dock 2024-11-20 04:49:34 +07:00
A Thousand Ships 68f638cf02
Use `(r)find_char` instead of `(r)find` for single characters 2024-11-17 10:02:18 +07:00
Thaddeus Crews a595ae2abb
Merge pull request #97461 from lalitshankarchowdhury/better-replace
Improve "Replace in Files" dialog button text
2024-11-14 14:51:58 +07:00
kobewi 28e5b213ae Create .uid file when creating new Resource 2024-11-13 00:40:31 +07:00
tetrapod00 fcd32dcde6 [Editor] Use toast (notification) instead of dialog when saving with no open scene 2024-11-10 14:47:53 +07:00
Thaddeus Crews 925b690c98
Core: Integrate `Ref::instantiate` where possible 2024-11-10 12:41:26 +07:00
Michael Alexsander 16524a8a01
Add "Game" editor for better runtime debugging 2024-10-30 11:42:17 +07:00
Aaron Franke 562c666e3d
Rename internal Button icon to button_icon to match exposed methods 2024-10-29 16:23:03 +07:00
Thaddeus Crews fa673be2b1
Merge pull request #91341 from bjornmp/NewMaster
Enforce custom nodes to keep their original type
2024-10-24 13:22:56 +07:00
Thaddeus Crews da01b2a462
Merge pull request #98063 from TCROC/fix-headless-import
Fix Headless --import --quit crashes editor
2024-10-24 13:22:36 +07: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 +07: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 +07:00
Bogdan Inculet fb58ea6c89 Fixed Remote Nodes missing custom icons 2024-10-15 22:28:53 +07:00
Thaddeus Crews 5c00d0a54e
Merge pull request #94371 from KoBeWi/insane_particle_unification_😱
Unify particle editors
2024-10-14 14:09:42 +07:00
Travis Lange 96ab05e89f clear addon_name_to_plugin ater unload_editor_addons because of memdelete 2024-10-08 14:06:45 +07: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 +07: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 +07:00
kobewi a4d724b37c Unify particle editors 2024-10-04 22:36:12 +07: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 +07:00
Lalit Shankar Chowdhury b9ce6c9047
Improve "Replace in Files" dialog button text 2024-10-01 22:22:12 +07:00
chocola-mint ed13a840fa Add markers to animation 2024-09-29 17:27:36 +07:00
kobewi 66d2b0fc6a Fix closing Theme Editor not actually closing it 2024-09-27 17:08:20 +07: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 +07:00
Mikael Hermansson d3be030ea6 Add ability to export patch packs
Co-authored-by: Poq Xert <poqxert@poqxert.ru>
2024-09-25 17:07:28 +07: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 +07: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 +07: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 +07: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 +07:00
Hilderin 9638220473 Fix reloading scripts already in use 2024-09-20 12:12:24 +07:00
Rémi Verschelde 7e62565f1e
Merge pull request #95787 from timothyqiu/domestic
Add translation domain
2024-09-20 16:06:23 +07: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 +07:00
kobewi b277a2985d Don't store project metadata when loading 2024-09-19 16:01:53 +07: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 +07: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 +07: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 +07:00
SaracenOne f44bce2ee0 Add support for resource conversion plugins in filesystem dock. 2024-09-16 15:11:40 +07:00
Hilderin d06c7ad6f0 Fix error reopening non existing scene on startup 2024-09-14 20:55:34 +07:00
Hilderin 430e5658f1 Fix empty load errors popup 2024-09-14 15:35:50 +07: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 +07:00
Hilderin 47703c7005 Fix load error popup showing on every progress dialog 2024-09-11 18:58:21 +07: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 +07:00
kit 5e1c9d68aa Extract editor main screen 2024-09-09 11:06:18 +07: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 +07: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 +07: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 +07: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 +07:00
bruvzg 22b19c433f
[FileSystem Dock] Add option to show some unsupported files in the dock. 2024-09-05 18:29:29 +07:00
Hilderin 151645a1b6 Fix editor layout reset on startup 2024-09-04 19:31:23 +07: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 +07: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 +07:00
bruvzg 8009d7c6da
[macOS] Make gaps between editor titlebar buttons unclickabe to prevent accidental window move/resize. 2024-09-04 10:48:42 +07:00
DCTewi 5bfd8db7b7
Fix ProcessDialog errors appeared after rebuilding .NET project 2024-09-04 14:26:48 +07:00
kobewi ecc0ab8061 Add EditorContextMenuPluginManager and refactor menu plugins 2024-09-03 23:59:25 +07: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 +07: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 +07:00
Hilderin 79d0254a2d Fix missing material override after two glb reimports 2024-09-01 17:12:15 +07:00
bruvzg c273786758
Update rendering driver name on fallbacks. Fix rendering driver/method in the editor system info. 2024-09-01 18:22:40 +07:00
Saracen 1deb42ad8d Improve behaviour of AnimationPlayer warnings. 2024-09-01 01:32:56 +07:00
passivestar 8ff190b065 Fix dock width not respecting editor scale 2024-08-30 22:00:36 +07: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 +07: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 +07: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 +07:00
kobewi ad7a2d19a6 Expose EditorUndoRedoManager's clear_history() 2024-08-29 19:23:39 +07: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 +07:00
Hilderin ef6f873938 Fix editor needs restart after adding GDExtensions 2024-08-29 06:15:32 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
Hilderin 1b0c5cbc01 Fix FileSystem dock won't show any file folders (v2) 2024-08-20 21:23:13 +07: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 +07:00
Stuart Carnie 2d0165574d
Add Metal support for macOS (arm64) and iOS 2024-08-20 12:11:06 +07: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 +07: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 +07:00
Rémi Verschelde 8acd82f70e
Merge pull request #89919 from BlueCube3310/bicubic-lightmap
Implement bicubic sampling for lightmaps
2024-08-20 10:01:41 +07: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 +07:00
bruvzg 97085358ce [Editor] Prevent unnecessary editor theme regeneration on unrelated system setting update. 2024-08-20 10:23:00 +07:00
BlueCube3310 ef9bb1a207 Implement support for bicubic lightmap filtering
Co-authored-by: Calinou <hugo.locurcio@hugo.pro>
2024-08-19 09:52:09 +07:00
Hilderin da31679d12 Fix display dialog while saving scene 2024-08-17 08:45:13 +07:00
Haoyu Qiu 7343dc3a5d Split TranslationServer into its own file 2024-08-15 15:00:47 +07:00
Hilderin b1c111d033 Fix reimport file multiple scenes 2024-08-07 20:22:46 +07:00
Hilderin 7934e73d78 Fix performance issue reimport file reload scene 2024-08-06 22:29:04 +07:00
Hilderin 769424388e Fix crash on reimport scene with animations 2024-08-02 16:50:22 +07:00
kobewi ab4c23583a Add keep_screen_on editor setting 2024-08-02 03:44:29 +07:00
kobewi 2470eedd61 Call restart_editor() in RUN_PROJECT_MANAGER 2024-07-28 20:31:36 +07: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 +07:00
Samuele Panzeri d0bcac8197 Remember editor window mode, screen, size and position on restart 2024-07-23 00:32:12 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
Hilderin a7c4522c04 Fix custom shortcut Ctrl-Space in Script Editor add a space 2024-07-07 15:53:48 +07:00
Hilderin 5a13cf0aea Fix re-import glb model doesn't change the old glb model 2024-07-07 02:01:03 +07:00
kobewi 681769e2c9 Fix undoredo handling in some dialogs 2024-07-04 14:17:47 +07: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 +07:00
passivestar 28a0d67233 [macOS] Change the distraction-free mode shortcut 2024-06-30 22:01:12 +07: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 +07: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 +07:00
kobewi b70368b78a Don't insert newline while saving 2024-06-26 13:19:25 +07:00
Hilderin 39369db029 Fix synchronization of global class name 2024-06-25 18:33:07 +07: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 +07: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 +07:00
kit da55b6a01c Fix crash on exit with shader editor 2024-06-24 11:56:46 +07: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 +07:00
A Thousand Ships ca18a06ecb
[Scene] Add `SceneStringNames::confirmed` 2024-06-19 09:40:54 +07:00
A Thousand Ships d9e2fc74c7
[Scene] Add `SceneStringNames::item_selected` 2024-06-19 09:39:05 +07:00
Hilderin 64ba2cf3a9 Fix Can't reopen signals panel immediately after connecting a signal #92996 2024-06-18 18:24:40 +07: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 +07:00
A Thousand Ships d519715d94
[Scene] Add `SceneStringNames::font(_size/_color)` 2024-06-18 17:24:27 +07: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 +07: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 +07:00
bruvzg d96c58bbd0
[Editor] Unload addons before quitting to allow cleanup. 2024-06-16 17:44:51 +07: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 +07: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 +07:00
Hilderin 72856d633a Fix FileSystem dock won't show any file folders 2024-06-10 19:54:37 +07: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 +07:00
Mounir Tohami d9452552fa Fix editor screenshots menu button's tooltip. 2024-06-10 14:13:35 +07: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 +07:00
kobewi be111004dd Fix default NodePaths saved in scene 2024-06-03 13:10:23 +07:00
kobewi f08a7e32c8 Fix project settings reloading 2024-06-01 11:38:43 +07: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 +07:00
A Thousand Ships cade5b88d9
Use `CoreStringNames::normal` in more places 2024-05-30 22:57:54 +07:00
A Thousand Ships 926afccbd8
[Scene] Add `SceneStringNames::panel` 2024-05-30 22:54:50 +07:00
A Thousand Ships 755a0efbb6
[Scene] Add `SceneStringNames::id_pressed` 2024-05-30 22:54:04 +07: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 +07: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 +07:00
Hilderin 76205d4276 Add editor setting to keep bottom panel state on play and stop game 2024-05-29 05:45:17 +07: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 +07: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 +07: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 +07: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 +07:00
A Thousand Ships 4ed62665a2
Replace `.bind(...).call_deferred()` with `.call_deferred(...)` 2024-05-27 13:29:57 +07: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 +07:00
kobewi e065d7132a Remove duplicate shortcut definitions 2024-05-21 23:28:49 +07: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 +07:00
A Thousand Ships ee79386f7b
[Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +07:00
Raul Santos a8e9dfdcf2
Revert "Enable `EditorPlugin` added by modules and GDExtensions" 2024-05-14 07:11:34 +07:00
kobewi 413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +07: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 +07:00
ajreckof 0ab5d37049 Fix selecting root when opening scene. 2024-05-12 21:46:21 +07: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 +07: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 +07: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 +07:00
AlexanderFarkas bc19b79776 Remove error messages caused by Save on Focus feature
Fixes #73765.
2024-05-08 13:42:45 +07: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 +07: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 +07: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 +07: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 +07:00
Haoyu Qiu 1e20612940 Allow setting editor dock tabs to icon only 2024-04-30 09:34:14 +07: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 +07: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 +07: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 +07:00
风青山 b5157e0686
Make the loading scene open in the current scene tab if the current scene is empty 2024-04-16 23:04:25 +07: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 +07:00
kobewi 445302a4b2 Improve error when scene/resource is saved with newer format 2024-04-15 12:08:35 +07:00
Adam Scott a0e644eab5
Rename Q&A to Forum in the Help top bar 2024-04-14 15:34:49 +07:00
Adam Scott 38d8abea12
Improve UX when saving newer files on disk 2024-04-14 11:36:07 +07:00
ajreckof 48a6476861 Fix going forward backward in editor selection history. 2024-04-14 17:21:11 +07:00
风青山 29ef52c8ac
Update undo redo allowed after switching scene tab
It has different status in different tabs.
2024-04-13 16:53:51 +07:00
Raul Santos db763ae16e
Enable `EditorPlugin` added by modules and GDExtensions 2024-04-13 06:03:59 +07: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 +07: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 +07: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 +07:00
ajreckof 248e5bfba2
Revert what needs to be reverted 2024-04-10 09:49:30 +07:00
Hugo Locurcio 8e924bcb22
Move engine build profile editor to Tools submenu
- Rename it to Engine Compilation Configuration Editor. This makes
  it clearer that it requires compiling the engine to work ("build"
  can be understood as exporting a project or building C# solutions
  by some).
- Add it to the editor command palette and allow defining a keyboard
  shortcut for it, for consistency with other tools.
2024-04-09 19:08:31 +07:00
ajreckof 609559c074 Fix strange visual bug with camera and external change. 2024-04-07 03:49:43 +07:00
kobewi b9c78ba174 Prevent dropping Resource to the same resource picker 2024-04-05 22:26:29 +07:00
Rémi Verschelde 70f6650404
Merge pull request #90078 from SirLich/project-tools-palette
Include 'Orphan Resource Explorer' and 'Upgrade Mesh Surfaces' in Command Palette.
2024-04-04 14:37:07 +07:00
Rémi Verschelde 89109e8b01
Merge pull request #89974 from jsjtxietian/tab-close
Reset `tab_closing_menu_option` when cancelling closing editor
2024-04-04 14:35:41 +07:00
Rémi Verschelde 27dec32699
Merge pull request #89735 from bruvzg/ed_native_fd2
[Native File Dialog] Add support for using native dialogs in the editor.
2024-04-04 14:31:39 +07:00
Rémi Verschelde 1dacd6a527
Merge pull request #89179 from groud/expose_tile_map_layer
Expose TileMapLayer
2024-04-04 14:31:16 +07:00
Rémi Verschelde b5369ee3b3
Merge pull request #89017 from kitbdev/add-close-docks
Allow docks to be closed and opened
2024-04-04 14:31:11 +07:00
ajreckof ae472865d0 fix node duplication in update after external changes. 2024-04-03 12:19:38 +07:00
Gilles Roudière 3cd4b2859c Expose TileMapLayer 2024-04-03 11:02:34 +07:00
SirLich c90b2b4299 Include project->tools in command palette 2024-03-31 20:03:51 +07:00
Haoyu Qiu 23d50b1117 Strip edges of editor layout names 2024-03-31 17:43:03 +07:00
kit 860bff926e Allow docks to be closed 2024-03-29 22:03:59 +07:00
jsjtxietian 41dce99831 Reset `tab_closing_menu_option` when cancel closing editor 2024-03-28 19:22:52 +07:00
bruvzg 61f7145f43
[Native File Dialog] Add support for using native dialogs in the editor. 2024-03-28 11:53:03 +07:00
Rémi Verschelde c76d2f03b7
Merge pull request #89447 from ajreckof/fix-error-crash-on-change-type-root-after-external-changes
Fix error where update wouldn't reconnect the signal it should have reconnected and led to errors and crash.
2024-03-24 01:15:38 +07:00
Rémi Verschelde ae8d43b0bb
Merge pull request #88003 from kitbdev/dock-manager-fixes
Refactor and fix issues in Editor Dock Manager
2024-03-24 01:13:26 +07:00
ajreckof 69e5e582c8 fix error where update wouldn't reconnect the signal it should have reconnected and led to errors and crash 2024-03-22 01:00:33 +07:00
kit 0c9c84f7a6 Refactor and fix issues in Editor Dock Manager
Extract Dock Context Menu.
2024-03-16 13:51:31 +07:00
bruvzg ebb19c4198 [NativeMenu] Fix changes lost due to incorrect rebase (menu goes under task bar, dark mode, item text get, docs) and check to ensure help menu is not using native menu on Windows. 2024-03-15 22:46:47 +07:00
Matt Enad d4ac3fabac Fix main button margins in custom themes
Defined more theme variations and styleboxes for those variations to work around an issue where external editor themes would apply incorrect margins to certain buttons. This should eliminate clipping/alignment issues while a custom theme is in use.

Also simplified the step where margins are copied over thanks to @Rindbee 's suggestion
2024-03-13 15:38:09 +07:00
Rémi Verschelde 0475011c66
Merge pull request #82084 from ogapo/pr/pck-cache-merge
Merge `uid_cache.bin` and `global_script_class_cache.cfg` after mounting PCKs
2024-03-11 14:01:16 +07:00
Danil Alexeev 87718d2a6e
Editor Help: Add syntax highlighting for code blocks 2024-03-09 00:02:31 +07:00
Rémi Verschelde 51bfda9446
Fix reporting exit code when command line export fails
Fixes #83042.
2024-03-07 01:01:04 +07:00
David Nikdel 5e6adb4a2d Merge uid_cache.bin and global_script_class_cache.cfg after mounting PCKs
fixes godotengine#82061
fixes godotengine#61556

Also, distinguish between main pack and DLC packs.
It's desirable to downloaded content to be as small as possible. This change avoids bloating non-main pack files with new versions of resources that are all read on startup and never used again. They have no effect if loaded after startup.
- project.godot/project.binary file
- extension_list.cfg
- app icon and boot_splash
- .ico and .icns files (these can still be opted in for DLC by listing them explicitly in the include filter)
2024-03-06 12:14:21 +07:00
Rémi Verschelde 13954fc33e
Merge pull request #87452 from bruvzg/native_menu
Move `global_menu_*` methods to a separate `NativeMenu` class.
2024-03-06 13:16:52 +07:00
Hugo Locurcio 8221e7546b
Add editor shortcuts to toggle bottom panel visibility
Default shortcuts use the first or second letter of each word.

This also adds a new shortcut to toggle the last opened bottom panel.
On editor startup, this defaults to the first panel in the list
(which is the Output panel).
2024-03-05 15:53:15 +07:00
RedMser 2bd714e34e
Allow configuring the script filename casing rule
Defaults to "Auto", which detects the casing based on the
preference of the currently selected language (C# for example
prefers PascalCase whereas GDScript prefers snake_case).
2024-03-05 09:43:29 +07:00
bruvzg c65a667924
Move `global_menu_*` methods to a separate `NativeMenu` class. 2024-03-04 23:41:41 +07:00
Rémi Verschelde 82fbbc94fc
Merge pull request #88913 from Cass-dev-web/macos-shortcut-savior
Modify shortcut for closing scene on macOS only
2024-03-04 20:43:38 +07:00
Christen Lofland e6d0bf32e9
Do not attempt to set cursor shape when that feature is not available.
Co-authored-by: Riteo <riteo@posteo.net>
2024-03-02 17:44:55 +07:00
Rémi Verschelde 16bdd83ea4
Merge pull request #86705 from KoBeWi/resourception
Improve saving of built-in resources
2024-02-29 13:53:44 +07:00
Cass ea3c303b7e Modify shortcut override for closing scene on macOS 2024-02-27 14:31:17 +07:00
Rémi Verschelde 4582ee1a0f
Merge pull request #87760 from kitbdev/extract-bottom-dock
Extract BottomPanel from EditorNode
2024-02-23 22:18:50 +07:00
Rémi Verschelde 42a15bcc49
Merge pull request #85477 from KoBeWi/submenus_that_shall_not_be_named
Add methods to add submenus without using names
2024-02-23 11:29:28 +07:00
Rémi Verschelde 15bb860fa1
Merge pull request #88609 from Cass-dev-web/master
Improve user experience for VCS metadata generator menu button to mitigate accidentally overriding
2024-02-22 23:34:35 +07:00
Rémi Verschelde 43771659cb
Merge pull request #86610 from Joseph-DiGiovanni/system-theme-options
Add option for editor to follow system theme and accent colors
2024-02-22 16:39:40 +07:00
cass-dev-web 87ba714a3a Added clarity on VCS metadata creator button 2024-02-22 15:38:39 +07:00
kobewi aeec3c1309 Add methods to add submenus without using names 2024-02-22 15:13:53 +07:00
kit eb6ca91ba6 Extract BottomPanel from EditorNode 2024-02-20 15:09:07 +07:00
Rémi Verschelde 9e9dcdbba4
Merge pull request #86378 from RobProductions/update-hover-styling
Add hover highlight to main editor buttons
2024-02-20 19:34:40 +07:00
kobewi a031911c82 Use check_changed_settings_in_group() everywhere 2024-02-19 21:34:45 +07:00
Silc Lizard (Tokage) Renew 772a753960 Fix some animation state corruptions on activate and reset on save 2024-02-19 13:04:22 +07:00
A Thousand Ships dde5368dee
[Editor] Add missing ellipses to menu options that open dialogs 2024-02-17 17:09:17 +07:00
Rémi Verschelde 4731958174
Merge pull request #88380 from Calinou/editor-move-settings-to-central-location
Move EditorNode setting registration so they are in class reference
2024-02-17 15:54:59 +07:00
Rémi Verschelde 2c5fa95aea
Merge pull request #87530 from YeldhamDev/atr_inheritance
Rework the auto translation system
2024-02-17 15:54:31 +07:00
Rémi Verschelde dcd11cce6b
Merge pull request #85978 from Calinou/editor-tweak-help-menu-icons
Tweak Help menu icons for better visibility of commonly used items
2024-02-17 15:53:11 +07:00
Hugo Locurcio 6ae54fd787
Move EditorNode setting registration so they are in class reference
Co-authored-by: Micky <micheledevita2@gmail.com>
2024-02-17 11:33:22 +07:00
Rémi Verschelde 66b33c15e4
Merge pull request #88297 from dsnopek/android-configure-gradle-path
Android: Allow using alternative Gradle build directory
2024-02-17 00:23:32 +07:00
David Snopek a37ad265dc Android: Allow using alternative Gradle build directory 2024-02-16 15:20:47 +07:00
Matt Enad 5b5de0e167 Add hover highlight to main editor buttons
Updates styling of the editor run bar, plugin, bottom panel, icon buttons, and main menu buttons for accessibility.
2024-02-16 14:49:44 +07:00
Michael Alexsander 7b42c24550
Make auto translation inheritable 2024-02-15 16:51:19 +07:00
Rémi Verschelde 3ed81a8f70
Merge pull request #88334 from passivestar/ctrl-tab-mac
[macOS] Fix `Ctrl+Tab` and `Ctrl+Shift+Tab` not working
2024-02-15 15:45:15 +07:00
Rémi Verschelde 828cf954f6
Merge pull request #88291 from dsnopek/export-plugin-option-overrides
Allow export plugins to override export option values
2024-02-15 15:45:07 +07:00
passivestar 757a691b5e Fix `Ctrl+Tab` and `Ctrl+Shift+Tab` on macOS 2024-02-15 02:49:31 +07:00
Joseph DiGiovanni 7eacb6ddbf Add follow system theme settings 2024-02-14 15:31:21 +07:00
David Snopek ac88acde6f Allow export plugins to override export option values 2024-02-14 10:51:16 +07:00
Rémi Verschelde 351a869af6
Merge pull request #88288 from KoBeWi/uninspectorable
Rework how script is edited when clicking icon
2024-02-13 23:43:43 +07:00
Rémi Verschelde dc99c8d4a4
Merge pull request #87008 from KoBeWi/cache_mode_replace_fixes²
Fix² behavior of ResourceFormatLoader `CACHE_MODE_REPLACE`
2024-02-13 23:43:18 +07:00
Rémi Verschelde c2a53dff71
Merge pull request #87773 from bruvzg/undo_global_fix
Fix script editor `undo` shortcut with global menu enabled.
2024-02-13 17:24:03 +07:00
kobewi 8ec86e29c8 Rework how script is edited when clicking icon 2024-02-13 16:54:33 +07:00
Hugo Locurcio 7e25292205
Show update spinner by default in `dev_build=yes` editor builds
This ensures contributors can see when something forces the
editor to redraw constantly.

The existing boolean `true` value will be casted to `1` in the setting,
so it'll switch to Enabled automatically if the setting was previously
enabled.
2024-02-10 00:45:56 +07:00
Rémi Verschelde b98c2f23da
Merge pull request #48364 from Calinou/add-vsync-editor-setting
Add a V-Sync editor setting
2024-02-08 10:52:59 +07:00
Hugo Locurcio 6f9586443a
Add a V-Sync editor setting
The editor setting makes it possible to tweak V-Sync status
independently of the project setting.

Use cases:

- Decrease input lag and increase editor responsiveness when editing
  a project that has V-Sync enabled.
- Avoid tearing when editing a project that has V-Sync disabled.
2024-02-05 22:14:20 +07:00
smix8 4d0c21c131 Make MeshLibrary export do recursive depth-search for MeshInstance3D nodes
Makes MeshLibrary export do recursive depth-search for MeshInstance3D nodes.
2024-02-04 04:00:38 +07:00
bruvzg 32939f82f1
Fix script editor `undo` shortcut with global menu enabled. 2024-01-31 07:48:58 +07:00
Hugo Locurcio d3963a979b
Tweak Help menu icons for better visibility of commonly used items
External links no longer have an icon, so that commonly used items
such as Copy System Info are more immediately visible.
2024-01-31 01:22:09 +07:00
kobewi 4ad74a5663 Some editor code cleanup 2024-01-30 21:33:31 +07:00
Yuri Sizov 068c0d2699 Implement a quick settings dialog for the project manager
Currently it allows to adjust language, theme preset,
UI scaling, and network mode.
Project manager has been updated to support
dynamic theme updates.
2024-01-30 17:52:19 +07:00
Yuri Sizov 7496f99060 Create a MainScreenButton theme variation
This turns custom font theme properties into a proper
variation, which makes applying it simpler.
2024-01-30 17:35:46 +07:00
Juan Linietsky 000367893a Ability to move FileSystem dock to bottom
* Allows moving the filesystem dock to the bottom
* Added ability to drag resources across bottom docks
2024-01-29 15:15:38 +07:00
Rémi Verschelde fa48a51183
Merge pull request #87688 from AThousandShips/what_is_this
Remove unnecessary `this->` expressions
2024-01-29 13:18:09 +07:00
Rémi Verschelde 0796d08b8f
Merge pull request #84515 from Calinou/editor-multi-window-unavailable-disable-buttons
Disable multi-window buttons instead of hiding them when support is unavailable
2024-01-29 13:16:01 +07:00
Rémi Verschelde e2c5d2fada
Merge pull request #82113 from nongvantinh/fix-50163
Allow Editor to reload external changes of scripts
2024-01-29 13:15:53 +07:00
A Thousand Ships 15369fdb1d
Remove unnecessary `this->` expressions 2024-01-29 09:59:18 +07:00
Hugo Locurcio 04a930d9a6
Disable multi-window buttons instead of hiding them when support is unavailable
This is more explicit as for why this functionality isn't available
depending on editor settings and current platform.

This also exposes a `EditorInterface.is_multi_window_enabled()` method
so that editor plugins can easily query whether the editor is able and
expected to create multiple windows.
2024-01-27 19:38:39 +07:00
Nông Văn Tình c051c44df9 Allow Editor to reload external changes of scripts 2024-01-26 21:05:36 +07:00
A Thousand Ships 97b469c46d
[Editor] Add `EditorPlugin::scene_saved` signal
Matches the `EditorNode` one for parity with the exposed
`resource_saved` signal
2024-01-22 17:51:12 +07:00
Yuri Sizov de95a3effe Merge pull request #85117 from BastiaanOlij/openxr_runtime_select
OpenXR: Add runtime selection dropdown
2024-01-18 19:26:52 +07:00
Bastiaan Olij afd1dcf1b1 OpenXR: Add runtime selection dropdown 2024-01-18 15:59:22 +07:00
Yuri Sizov 45eedba1fa Improve editor theme generation after the refactor 2024-01-17 15:16:53 +07:00
Yuri Sizov 635b8a1474 Split theme generation logic into several subroutines
This change introduces a new theme configuration struct to be
passed to the aforementioned routines to better control reuse
of styles and definitions in the generator.

Everything not passed and not explicitly shared is scoped so it
is not automatically accessible throughout the routine. This
should ensure that the decision to share styles is a conscious one.

In the future we will try to reduce the number of unique definitions
and share most of it. This PR is a stepping stone on this path.

This also puts the effort into separating redefinitions of
default theme items vs custom types introduced only by the editor.
In a few cases where editor-specific definitions need to reference
default definitions we simply fetch them from the theme. It's not
ideal and hides the dependency a bit, but hopefully these cases
will be abstracted properly in due time.
2024-01-16 11:57:45 +07:00
Yuri Sizov 95b27fe8c7 Reorganize code related to editor theming
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.

Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.

All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
2024-01-16 11:57:45 +07:00
Rémi Verschelde 039379d272
Merge pull request #84193 from kitbdev/dock-manager-extract
Extract `EditorDockManager` from `EditorNode`
2024-01-16 10:35:11 +07:00
kit 2323f040e9 Extract editor dock manager 2024-01-15 15:15:42 +07:00
Rémi Verschelde 03767fbf3b
Merge pull request #86446 from reduz/transient-to-focused
Implement a `transient_to_focused` Window mode
2024-01-15 13:25:00 +07:00
Juan Linietsky 15144c24bd Implement a transient_to_focused mode
This intends to be the correct way to handle non-child windows becoming covered by the current window when becoming focused.
Enabling this property on select windows, they will become transient to the currently focused one when becoming visible.

This deprecates the "unparent_when_invisible" function introduced by #76025.
2024-01-14 18:51:44 +07:00
kobewi 0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +07:00
kobewi 2e09985c0d Fix² behavior of ResourceFormatLoader CACHE_MODE_REPLACE 2024-01-09 16:01:37 +07:00
Rémi Verschelde 9ca3d3ec83
Revert "Fix behavior of ResourceFormatLoader `CACHE_MODE_REPLACE`" 2024-01-09 10:49:14 +07:00
Rémi Verschelde 15186b6606
Merge pull request #72461 from Calinou/editor-renderer-select-mobile
Make the rendering method dropdown also affect mobile if compatible
2024-01-08 11:48:59 +07:00
Aaron Franke 9753a35c76
Move 3D scene import classes to their own folder 2024-01-04 11:02:49 +07:00
Rémi Verschelde 6c390b620d
Merge pull request #84445 from Rubonnek/add-const-references-clang-tidy
Add const references detected by clang-tidy
2024-01-04 14:25:33 +07:00
Hugo Locurcio 57f3bdb1e5
Make the rendering method dropdown also affect mobile if compatible
This prevents visual discrepancies between desktop and mobile platforms
after switching rendering methods using this dropdown.

The restart dialog now displays which rendering methods will be used,
and the dropdown tooltip also lists caveats related to specific platforms.
2024-01-03 18:38:37 +07:00
kobewi e534dbf53a Improve saving of built-in resources 2024-01-02 12:53:18 +07:00
Vedat Gunel f35f1a1849 Store horizontal and vertical split offsets separately in FileSystem dock 2023-12-25 18:11:18 +07:00
Yuri Sizov aae58cd688 Merge pull request #85887 from YuriSizov/editor-enforce-min-window
Correctly enforce minimum window size in editor
2023-12-20 15:07:48 +07:00
Yuri Sizov 416e594eb3 Correctly enforce minimum window size in editor
Also set the maximum size for the language
picked in the project manager.
2023-12-20 13:19:21 +07:00
kobewi ce9fec9b4d Improve editing of min/max particle properties 2023-12-20 06:31:08 +07:00
Yuri Sizov 02d4579fa2 Merge pull request #85000 from bruvzg/ed_ui_direction
[Editor] Add option to override editor UI layout direction.
2023-12-19 13:01:35 +07:00
Yuri Sizov c3ee2b9c52 Merge pull request #86008 from Delsin-Yu/4.2
Correctly free relevant scripts when closing scene tabs
2023-12-18 18:18:05 +07:00
Yuri Sizov 644e236e5c Merge pull request #83987 from bruvzg/macos_window_and_help
[macOS] Add default Window and Help menus, allow special menu customization.
2023-12-18 18:17:41 +07:00
DE-YU b37b40ff76 Correctly free relevant scripts when closing scene tabs 2023-12-18 21:41:07 +07:00
Wilson E. Alvarez a3cb1b096f
Add const references detected by clang-tidy 2023-12-16 13:36:44 +07:00
Yuri Sizov a5529f759c Merge pull request #86129 from TheSofox/color-picker-memory
Remember last `color_mode` and `picker_shape` in `ColorPicker`s in the editor
2023-12-14 21:22:39 +07:00
Sofox 7979412c75 Remember last 'color_mode' and 'picker_shape' in 'ColorPicker's in the editor 2023-12-14 18:57:57 +07:00
Yuri Sizov 4269a57b0c Merge pull request #85387 from jsjtxietian/fix-forward-plus-crash
Use render method from OS instead of project settings in compositor RD
2023-12-14 17:38:43 +07:00
jsjtxietian 453c2246b6 Use render method from OS in compositor RD; Update related UI 2023-12-14 11:38:46 +07:00
bruvzg 0d44b50520
[macOS] Add default Window and Help menus, allow special menu customization. 2023-12-13 23:20:05 +07:00
Aaron Franke 52f1b86ebc
Fix referring to ResourceImporterScene static importers via instances 2023-12-11 20:01:39 +07:00
Rémi Verschelde 8f2b5cc109
Merge pull request #82899 from aaronfranke/import-settings-dialogs
Rename ImportSettings dialogs to have "Dialog" in the name
2023-12-12 00:15:59 +07:00
Yuri Sizov 07677f0f51 Merge pull request #85885 from YuriSizov/bench-pressing
Improve engine startup/shutdown benchmarks
2023-12-08 17:12:26 +07:00
Yuri Sizov 9dce1a45a0 Merge pull request #85819 from Malcolmnixon/export-android-build-template
Add option to install android build template for export
2023-12-08 16:58:54 +07:00
Yuri Sizov 2e94be2ea4 Merge pull request #84167 from SaracenOne/cache_mode_replace_fixes
Fix behavior of ResourceFormatLoader `CACHE_MODE_REPLACE`
2023-12-08 15:23:13 +07:00
Yuri Sizov 6c86974022 Merge pull request #84122 from kitbdev/fix-dock-visibility
Fix dock visibility issues
2023-12-08 15:23:09 +07:00
Malcolm Nixon 988c1bf298 Add option to install android build template for export
This PR adds a new "--install-android-build-template" command-line option which causes the android build template to be installed before exporting the project.
2023-12-08 09:00:25 +07:00
Yuri Sizov fc3f40f37d Improve engine startup/shutdown benchmarks
- Add contexts to give a better sense of benchmarked areas.
- Add missing benchmarks and adjust some begin/end points.
- Clean up names.
- Improve Android's internal benchmarks in a similar manner.

Co-authored-by: Fredia Huya-Kouadio <fhuya@meta.com>
2023-12-08 12:53:04 +07:00
Rémi Verschelde 3e7cc5ec32
Merge pull request #85271 from YuriSizov/core-check-please!
Correctly check scripts that must inherit `EditorPlugin`
2023-12-04 23:12:24 +07:00
Bartłomiej T. Listwon 44d14cf6af Defer creating new editor process in "Quit to Project List" just like in "Reload Current Project" 2023-12-02 13:25:24 +07:00
kobewi 0b172742cf Save external data even without scene 2023-11-29 16:19:17 +07:00
bruvzg 27ca31f359 [Editor] Save and restore previous window mode when toggling full-screen. 2023-11-27 12:44:30 +07:00
Aaron Franke a8dc34b8f0
Rename ImportSettings dialogs to have "Dialog" in the name 2023-11-26 22:59:01 +07:00
Yuri Sizov bc1949d797 Correctly check scripts that must inherit `EditorPlugin`
Also updates some error messages related to this kind of check
across the codebase.
2023-11-23 16:24:43 +07:00
Yuri Sizov 10b70e2498 Rework the surface upgrade tool to inform users without blocking
This removes the immediate confirmation dialog and insteads prints the
message to the editor log (and it also appears as a toast). The immediate dialog
is a devil's plaything, and it cannot be used in this scenario (if it can be used
anywhere at all). The condition that triggers the SUT can happen during any
attempt by the rendering server to read a mesh. This means it will conflict
with a number of editor processes, like loading, importing, preview
generation, export, CLI mode, etc.

So while this is less on the nose as far as informing users goes, it's also
our best option to use the log and the toaster.
2023-11-22 19:03:14 +07:00
David C. Drake 45e2908d30 Adjust pick_main_scene punctuation 2023-11-20 14:46:29 +07:00
kobewi d84ba48d8f Avoid saving scene while already saving the scene 2023-11-20 21:57:21 +07:00
Yuri Sizov fdaee9ee89 Prevent the surface upgrade tool from running during export
Also add an explicit way to trigger the tool manually
at user's will.
2023-11-20 15:36:45 +07:00
bruvzg 932174fedf
[Editor] Add option to override editor UI layout direction. 2023-11-17 14:56:45 +07:00
Rémi Verschelde b049ac43ba
Merge pull request #84927 from bruvzg/macos_ext_frame_upd
[macOS] Process events before changing title style to update window frame.
2023-11-16 14:52:28 +07:00
Saracen f392a9c4f8 Fix CACHE_MODE_REPLACE 2023-11-15 18:55:20 +07:00
Rémi Verschelde 6d47eff457
Merge pull request #83104 from jsjtxietian/fix-crash-when-reimport-animation-while-playing
Fix editor crash when re-importing GLTF while animation is playing
2023-11-15 13:15:54 +07:00