Commit Graph

2289 Commits (cb1569345a6f17da08241e645ab03cb2e1b78d2f)

Author SHA1 Message Date
Thaddeus Crews e6a61b1ecc
Merge pull request #76829 from bruvzg/ac_kit_direct
Implement screen reader support using AccessKit library.
2025-04-08 12:32:47 +07:00
Thaddeus Crews 1a90b115e1
Merge pull request #105106 from bruvzg/title_align
Add custom sort to center tab bar in the editor and project manager.
2025-04-08 12:32:44 +07:00
Thaddeus Crews c53e3b1723
Merge pull request #105103 from runzh-crypto/validate_custom_directory_v2
Validate custom directory when running from editor
2025-04-08 12:32:42 +07:00
Pāvels Nadtočajevs 302fa831cc
Initial editor accessibility. 2025-04-08 20:25:48 +07:00
A Thousand Ships 787cad1799
[Editor] Use separate `EditorFileDialog` for "Pack Project as ZIP"
This prevents state corruption for saving resources.
2025-04-08 18:39:02 +07:00
Pāvels Nadtočajevs 539e54567b
Add custom sort to center tab bar in the editor and project manager. 2025-04-08 00:05:22 +07:00
Thaddeus Crews 1b9f269700
Merge pull request #105015 from syntaxerror247/improve-touchActionsPanel
Android Editor: Add an editor setting to enable/disable `TouchActionsPanel`
2025-04-07 08:43:24 +07:00
runzh-crypto e57eeb14bc validate any form of running project 2025-04-07 00:29:19 +07:00
Anish Mishra a5c03dcd08 Add an editor setting to enable/disable TouchActionsPanel
Adds an editor setting to enable/disable TouchActionsPanel.

Automatically hide the panel when hardware keyboard is connected.
2025-04-05 19:07:46 +07:00
runzh-crypto 9977abd697 Validate custom directory when project is started 2025-04-04 21:21:42 +07:00
Thaddeus Crews e5c5cb4ce2
Merge pull request #104906 from Daylily-Zeleen/daylily-zeleen/allow_instantiate_unexposed_editor_plugin_from_gdextension
Allow instantiating unexposed `EditorPlugin` from GDExtension.
2025-04-03 09:27:50 +07:00
Daylily-Zeleen 1cc879afc0 Allow instantiate unexposed EditorPlugin form GDExtension. 2025-04-02 23:52:14 +07:00
Yufeng Ying 4f4031a675 Replace size() == 0 with is_empty(). 2025-04-02 19:18:43 +07:00
Thaddeus Crews 8f6bb119f4
Merge pull request #100602 from KoBeWi/over_100_changes_in_50_random_files_aka_the_best_kind_of_PR
Add templated version of `ObjectDB::get_instance()`
2025-03-31 12:03:47 +07:00
A Thousand Ships 5cc0539961
[Navigation] Create a dedicated 2D navigation server
* Add a dedicated 2D server
* Create dedicated tests
* Split performance metrics between 2D and 3D
* Rename the 3D only server module
2025-03-29 12:10:50 +07:00
Rémi Verschelde e8bc75f056
Merge pull request #103373 from YeldhamDev/build_remove_physics
Allow to compile templates without physics servers
2025-03-28 17:30:03 +07:00
Rémi Verschelde b12258bd22
Merge pull request #99897 from aaronfranke/editor-top-nodes
Clarify API for top selected nodes in EditorSelection and make public
2025-03-28 17:29:51 +07:00
Michael Alexsander 5ad414d046
Allow to compile templates without physics servers 2025-03-28 11:00:44 +07:00
Rémi Verschelde 3fe69cdf74
Merge pull request #104698 from bruvzg/loc_dir
Fix editor layout direction change on translation change.
2025-03-28 14:34:52 +07:00
Rémi Verschelde b33d907813
Merge pull request #104584 from KoBeWi/example_pr_for_translations
Improve auto-translation for static strings in docks
2025-03-28 14:33:10 +07:00
Rémi Verschelde 27181e89cc
Merge pull request #104252 from beicause/prompt-restart-when-data-missing
Prompt to restart when project data (.godot) is missing
2025-03-28 14:32:39 +07:00
Pablo Andres Fuente b4db9dc688 Update Inspector when rename a file via File System Dock
Fixes #56803

Connecting `FileSystemDock` `files_moved` signal to `InspectorDock`
and then checking if we need to update or not the object stored
on `EditorSelectionHistory`.
2025-03-28 08:26:17 +07:00
Aaron Franke 17db92b8b8
Clarify API for top selected nodes in EditorSelection and make public 2025-03-27 16:09:08 +07:00
Pāvels Nadtočajevs c3921954f2
Fix editor layout direction change on translation change. 2025-03-27 17:35:21 +07:00
kobewi bc9d0c7835 Add templated version of ObjectDB::get_instance() 2025-03-27 15:43:23 +07:00
kobewi ede1f8ef7e Improve auto-translation for static strings in docks 2025-03-26 14:09:38 +07:00
Rémi Verschelde 9328d24a72
Merge pull request #104296 from Rindbee/fix-editor-crash-when-inspecting-2-objects-handled-by-the-same-plugin
Fix editor crash when inspecting 2 objects handled by the same plugin
2025-03-25 23:08:10 +07:00
风青山 411f476319
Fix editor crash when inspecting 2 objects handled by the same plugin
Already activated plugins do not need to be added again to `editor_plugins_over`.

`fold_resource()` changes `active_plugins` and is unsafe to call while iterating
over `active_plugins`.
2025-03-26 00:40:21 +07:00
Thaddeus Crews ef4215472c
Merge pull request #102562 from KoBeWi/edytor_dans_todos_Sprache
Enable changing editor language without restart
2025-03-24 15:27:33 +07:00
Pāvels Nadtočajevs 8d6c6e25a0
Fix embedded help menu icons. 2025-03-21 15:46:37 +07:00
LuoZhihao 6f1b75fd79 Prompt to restart when project data (.godot) is missing 2025-03-20 19:35:05 +07:00
Hilderin efc3e3aea7 Fix crash when reimporting nested gltf scenes 2025-03-19 19:17:46 +07:00
Thaddeus Crews 17ae1d7728
Merge pull request #90226 from kitbdev/dock-shortcuts
Add Open Dock shortcuts
2025-03-19 17:46:07 +07:00
kit 4a65775dc5 Add shortcuts for opening docks 2025-03-19 10:39:45 +07:00
Rémi Verschelde 7b21950fb0
Merge pull request #103751 from bruvzg/glob_menu_icons_theme
[Editor] Change global menu icons theme independently of editor theme.
2025-03-19 12:26:57 +07:00
Rémi Verschelde a117a2b09c
Merge pull request #101980 from bruvzg/init_scale
[DisplayServer] Decouple `show_window(MAIN_WINDOW_ID)` from `DisplayServer` constructor, update project manager size/position after DS init.
2025-03-19 12:26:33 +07:00
Rémi Verschelde 3b6317159e
Merge pull request #95392 from hhhapz/terminate-before-quit
Prompt user to terminate if quitting while project is running
2025-03-19 12:25:51 +07:00
Pāvels Nadtočajevs f6891b0305
[DisplayServer] Decouple `show_window(MAIN_WINDOW_ID)` from `DisplayServer` constructor, update project manager size/position after DS init. 2025-03-19 11:23:04 +07:00
Thaddeus Crews 596a796e99
Merge pull request #103892 from bruvzg/mac_menu_crash
[macOS] Fix editor loading crash on native menu click.
2025-03-18 14:42:51 +07:00
kobewi 78334192df Call plugin edit before making visible 2025-03-18 15:01:56 +07:00
kobewi 6f25babd6b Remove empty constructors and destructors from editor/ 2025-03-17 21:20:02 +07:00
Thaddeus Crews 9cf741a315
Merge pull request #104102 from ryevdokimov/reload-saved-scene-fixes
Focus `Don't Save` in `Reload Saved Scene` and don't save unmodified scenes
2025-03-17 10:52:28 +07:00
Thaddeus Crews 8ca72e1490
Merge pull request #103848 from timothyqiu/popup-i18n
Add auto translate mode for items in `PopupMenu` and `OptionButton`
2025-03-17 10:52:26 +07:00
kobewi db64674a56 Fix Android build template message translation 2025-03-14 22:17:18 +07:00
Robert Yevdokimov 17f78cdcaa Focus `Don't Save` in `Reload Saved Scene` and don't save unmodified scenes 2025-03-14 18:04:04 +07:00
Rémi Verschelde 7bb86852a0
Merge pull request #102990 from KoBeWi/save_asing
Prompt to Save As when saving all scenes
2025-03-14 11:02:34 +07:00
Rémi Verschelde dca2bb887a
Merge pull request #100430 from shahriarlabib000/save
Always update `.tscn` name when "Save Scene As…" is pressed
2025-03-14 11:02:30 +07:00
kobewi 0434deced7 Prompt to Save As when saving all scenes 2025-03-14 00:38:29 +07:00
Thaddeus Crews c1b7865ae9
Merge pull request #103557 from aaronfranke/godot-version-defines
Rename version defines to `GODOT_VERSION_*` to match GDExtension godot-cpp
2025-03-13 08:57:42 +07:00
Thaddeus Crews 0cc7e2c27a
Merge pull request #95821 from anvilfolk/cache-gd-docs
Scripting: Fix script docs not being searchable without manually recompiling scripts
2025-03-13 08:57:40 +07:00
Thaddeus Crews 22a7079afd
Merge pull request #104047 from YYF233333/dict_iter
Add const iteration support to `Dictionary`
2025-03-13 08:57:23 +07:00
Lars Pettersson d2d02d0ea8
EditorNode: Add function to load file as scene or resource 2025-03-12 23:59:48 +07:00
Aaron Franke 97ee05e9b7
Rename version defines to GODOT_VERSION_* to match GDExtension godot-cpp 2025-03-12 11:11:38 +07:00
ocean 72045c8306 Scripting: Add script documentation cache to project
This PR adds a script documentation cache in the project folder.
It is loaded at alongside native documentation caches. This makes
scripts fully accessible through Search Help, including their
members, etc, right from project start, without having to compile
every single script.

Co-authored-by: Hilderin <81109165+Hilderin@users.noreply.github.com>
2025-03-12 13:44:41 +07:00
Yufeng Ying bebe037abf Add ConstIterator to Dictionary. 2025-03-13 01:28:46 +07:00
Thaddeus Crews 20651f1162
Merge pull request #99680 from YeldhamDev/multi_remote_selection
Allow to select multiple remote nodes at runtime
2025-03-11 14:00:56 +07:00
Thaddeus Crews c8ddbfbd38
Merge pull request #102940 from bruvzg/tab_ed
Add editor setting to override tablet driver.
2025-03-11 14:00:51 +07:00
Michael Alexsander 5c66129e62
Allow to select multiple remote nodes at runtime 2025-03-11 12:35:41 +07:00
Thaddeus Crews 6b6b633a2a
Merge pull request #103402 from ryevdokimov/Add-save-option-to-`Reload-Saved-Scene`
Add Save & Reload option to `Reload Saved Scene`
2025-03-11 09:34:54 +07:00
Thaddeus Crews 899d3376ad
Merge pull request #103044 from KoBeWi/ultimate_upgrade_tool_will_upgrade_your_life_too
Replace UID and Surface upgrade tools with universal one
2025-03-10 21:05:56 +07:00
Thaddeus Crews 590fa90722
Merge pull request #100339 from syntaxerror247/touch-actions-panel
Add a `TouchActionsPanel` to Android Editor
2025-03-10 21:05:43 +07:00
kobewi a3a1cf0a7f Replace UID and Surface upgrade tools with universal one 2025-03-10 16:41:02 +07:00
A Thousand Ships 331a43a9d8
Add `String::remove_char(s)` methods for performance and convenience 2025-03-10 13:19:28 +07:00
kobewi 68d983395f Enable changing editor language without restart 2025-03-10 13:02:50 +07:00
Pāvels Nadtočajevs 6d698cf185
[macOS] Fix editor loading crash on native menu click. 2025-03-10 08:41:17 +07:00
Haoyu Qiu 82a0290871 Add auto translate mode for items in PopupMenu and OptionButton 2025-03-09 23:50:11 +07:00
Thaddeus Crews 3c43508ed7
Merge pull request #102427 from AThousandShips/fix_substr
Clean up some uses of `String::substr`
2025-03-07 15:12:33 +07:00
kobewi c1b08dda36 Don't save unnecessarily with save_before_running 2025-03-07 19:14:50 +07:00
Anish Mishra e8625e70cf Add TouchActionsPanel to Android Editor 2025-03-07 19:45:03 +07:00
A Thousand Ships 5113022dfe
Clean up some uses of `String::substr`
Cases where the end position is either equvalent to the default or past
the end of the string.
2025-03-07 14:50:38 +07:00
Pāvels Nadtočajevs fd98c963ba [Editor] Change global menu icons theme independently of editor theme. 2025-03-07 08:59:52 +07:00
kobewi dade8bd66f Update script modified times when saved in EditorNode 2025-03-06 14:47:33 +07:00
Hilderin dba92c9354 Fix headless import always emits errors 2025-03-04 18:45:40 +07:00
Haoyu Qiu 7c8f81f1d0 Set editor's translation domain at root node 2025-03-02 08:52:27 +07:00
Robert Yevdokimov 1c55b9d38d Add Save & Reload option to `Reload Saved Scene` 2025-03-01 16:05:53 +07:00
shahriarlabib000 adfa7a733e update scene name on save as 2025-02-17 16:32:48 +07:00
kobewi 00d8f5f70c Ask before restarting project from settings 2025-02-16 15:00:51 +07:00
Pāvels Nadtočajevs b3c0eaeeb8 Add editor setting to override tablet driver. 2025-02-15 23:16:58 +07:00
Agustín Marsero 2ba64a57c5 Fix Global Class names cache not saved with upgrade to 4.4.
Co-authored-by: Hilderin <81109165+Hilderin@users.noreply.github.com>
2025-02-12 18:33:38 +07:00
kobewi 38d0e82a35 Store _custom_type_script meta as String 2025-02-12 01:22:09 +07:00
Thaddeus Crews 4bac259ced
Merge pull request #101435 from YYF233333/remote_tree_fix2
Return fast for built-in class icon
2025-02-10 12:21:35 +07:00
Hilderin 7f89294f1d Fix Plugin Scripts load twice on startup 2025-02-07 10:57:00 +07:00
Robert Yevdokimov 1c384e7b78 Prevent save confirmation dialog from trying to parent to itself 2025-02-05 06:17:36 +07:00
Yyf2333 dcf5244381 Refactor EditorNode get icon.
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2025-02-05 00:17:35 +07:00
Thaddeus Crews acddf31c39
Merge pull request #101489 from RandomShaper/optimize_classnames_enumeration
Optimize classnames enumeration
2025-02-04 09:03:59 +07:00
Thaddeus Crews 5696316a89
Merge pull request #102307 from KoBeWi/so_that's_what_it_does
Setup working directory when quitting to project manager
2025-02-03 08:16:00 +07:00
Thaddeus Crews 1bec1bfa5a
Merge pull request #101543 from MrJoermungandr/desynced_extension_preferences_🔄
Respect order of extensions for ResourceFormatSavers with `at_front`
2025-02-03 08:15:54 +07:00
kobewi 3b3b6661ad Setup working directory when quitting to project manager 2025-02-02 00:25:34 +07:00
Thaddeus Crews 9ee1873ae1
Merge pull request #102070 from ryevdokimov/reparent-save-confirmation
Make save confirmation a child of last exclusive window of EditorNode before popup
2025-01-30 11:39:05 +07:00
Thaddeus Crews 97c472e43f
Merge pull request #102026 from TokageItLab/fix-save-reset
Add saving flag hack to Skeleton and revert reset timing of animation
2025-01-30 11:39:03 +07:00
Thaddeus Crews 5f4a0bec2d
Merge pull request #102071 from Meorge/feat/uid-upgrader
Add UID upgrade tool
2025-01-30 11:39:02 +07:00
Malcolm Anderson d034d124b2 Add UID upgrade tool
Apply suggestions from code review

Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>

memdelete the UID upgrade tool

Remove redeclaration of singleton

Add note about committing .uid files to version control

Add "Learn more" button that links to Godot blog post about UIDs

Detect project from 4.3 or less and automatically display UID upgrade window

Display popup after first run of `_sources_changed`

Apply suggestions from code review

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>

Replace magic strings with constants

Update editor/editor_node.cpp

Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2025-01-30 08:42:07 +07:00
clayjohn d774f697d3 Fully enable HDR2D when the setting is changed. This allows toggling HDR2D without restarting. 2025-01-29 23:39:14 +07:00
Pedro J. Estébanez a20934c8e4 Optimize enumeration of global classes in create dialog and autocomplete 2025-01-29 09:39:50 +07:00
Robert Yevdokimov c7fd0bb740 Make save confirmation a child of last exclusive window of EditorNode before popup 2025-01-28 11:28:48 +07:00
Silc Lizard (Tokage) Renew cb7085340e Add saving flag hack to Skeleton and revert reset timing of animation 2025-01-28 03:52:01 +07:00
Hamza Ali 75272237d0 confirm before quitting editor while project is running 2025-01-27 01:40:18 +07:00
kobewi 8aa3ee6a35 Create .uid files in EditorFileSystem 2025-01-18 21:01:39 +07:00
kobewi 5d868a66c0 Don't initialize editor when exiting 2025-01-18 17:51:31 +07:00
Pāvels Nadtočajevs e127093fe8 Fix conversion plugin search showing errors on `TextFile` and `OtherFile`. 2025-01-15 11:36:46 +07:00
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