Commit graph

14825 commits

Author SHA1 Message Date
David Snopek
ac88acde6f Allow export plugins to override export option values 2024-02-14 10:51:16 -06:00
Rémi Verschelde
a10b4bdb81
Export: Unify settings for PC texture formats
S3TC and BPTC should always be used together, and likewise for ETC2 and ASTC.
2024-02-14 17:16:43 +01:00
Rémi Verschelde
e457f41f9b
Remove code relative to obsoleted ETC texture format
Co-authored-by: BlueCube3310 <53150244+BlueCube3310@users.noreply.github.com>
2024-02-14 17:16:41 +01:00
Martin Capitanio
8e8f8e92fb FileSystem dock: Fix open a terminal
The previous implementation of opening a terminal
in the FileSystem dock was causing errors due to the use
of a bash builtin command that does not work outside the shell.

This resulted in the following error messages:

	ERROR: Could not create child process: command
		at: execute (drivers/unix/os_unix.cpp:553)
	ERROR: Could not create child process: command
		at: execute (drivers/unix/os_unix.cpp:553)
	...

To resolve this issue,
+ the command is now executed inside a bash shell,
+ if the `terminal_emulator_flags` editor option is empty,
  the working directory for gnome-terminal and urxvt is now properly set.
2024-02-14 14:29:03 +01:00
Rémi Verschelde
907db8eebc
Merge pull request #87563 from jsjtxietian/fix-filesystem-infinite
Fix editor will freeze when modifying filesystem filter path in Split Mode
2024-02-14 14:08:08 +01:00
Rémi Verschelde
a1cc37966c
Merge pull request #87126 from ryevdokimov/fix-84424(2)
Fix position and basis of 3D Scenes instantiated via drag and drop
2024-02-14 14:07:58 +01:00
Bitlytic
f9e03459e8
Add an option to center children around the new parent when reparenting 2024-02-14 13:46:04 +01:00
Paul Joannon
9fa2355cef
Disable signal callback generation in C# 2024-02-14 13:26:45 +01:00
Rémi Verschelde
28258dfc48
Merge pull request #88318 from dalexeev/editor-fix-skip-categories
Editor: Fix skipping normal category followed by custom one
2024-02-14 10:59:59 +01:00
Rémi Verschelde
c5050f9772
Merge pull request #88229 from ckaiser/feature/asset_library_ux_cleanup
Asset Library author link, description popup size and UX details
2024-02-14 10:59:49 +01:00
Rémi Verschelde
a33a87d535
Merge pull request #84953 from rakkarage/asset-install-conflict
Fix conflicted indeterminate state in asset importer
2024-02-14 10:59:36 +01:00
Christian Kaiser
38ac946af7 Asset Library author link, description popup size and UX details 2024-02-14 06:01:10 -03:00
Danil Alexeev
b2f62658a2
Editor: Fix skipping normal category followed by custom one 2024-02-14 11:28:53 +03:00
passivestar
c2c791fed2 Add support for search shortcut to signal connection dialog 2024-02-14 11:47:15 +04:00
Silc Lizard (Tokage) Renew
dc4b7bc364 Add option to silence some warnings in AnimationMixer caching 2024-02-14 14:48:02 +09:00
Rémi Verschelde
9fb52d969b
Merge pull request #88302 from CookieBadger/bezier-remove-unused-signals
Remove unused signals in AnimationBezierTrackEdit
2024-02-13 23:43:57 +01:00
Rémi Verschelde
81184941bc
Merge pull request #88290 from Calinou/tilemap-editor-tweak-no-source-message
Tweak TileMap editor's missing source message to use "bottom panel" term
2024-02-13 23:43:46 +01: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 +01:00
Rémi Verschelde
85869957e9
Merge pull request #88182 from RedMser/fix-88176-inspector
Only update inspector if configuration warning change was relevant
2024-02-13 23:43:37 +01:00
Rémi Verschelde
3252995b41
Merge pull request #88088 from bruvzg/img_font_more
[Font] Allow overriding advances, offsets and kerning in the ImageFont import settings.
2024-02-13 23:43:29 +01: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 +01:00
Rémi Verschelde
7b30203174
Merge pull request #83819 from bruvzg/mac_native_help
[macOS] Add support for native help menu search callbacks, integrate editor help.
2024-02-13 23:43:06 +01:00
Rémi Verschelde
ab54569912
Merge pull request #63529 from KoBeWi/fake_features_v2
Allow to set custom feature tags for testing
2024-02-13 23:43:03 +01:00
emild
e4d491a880 remove unused signals in AnimationBezierTrackEdit 2024-02-13 22:52:54 +01:00
Robert Yevdokimov
be0104a129 Fix position and basis of 3D Scenes instantiated via drag and drop 2024-02-13 12:43:22 -05:00
Hugo Locurcio
53dce9a84e
Tweak TileMap editor's missing source message to use "bottom panel" term
This term is used throughout the editor (including EditorPlugin)
as these bottom panels are technically not tabs.
2024-02-13 18:27:42 +01:00
bruvzg
42ec133dbe
[Font] Allow overriding advances, offsets and kerning in the ImageFont import settings. Fix bitmap font kerning override. 2024-02-13 18:49:47 +02:00
kobewi
1b2c7bfe77 Allow to set custom feature tags for testing 2024-02-13 17:38:45 +01:00
bruvzg
deffe6a3be
[macOS] Add support for native help menu search callbacks, integrate editor help. 2024-02-13 18:37:37 +02:00
Rémi Verschelde
e0b1e79251
Merge pull request #88279 from kleonc/editor-plugins-2d3d-drag-drop-transform-calculation-fix
Fix `CanvasItem`/`Node3D` editor plugin drag drop transform calculation
2024-02-13 17:24:28 +01: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 +01:00
Rémi Verschelde
48e2f43ccf
Merge pull request #87479 from kitbdev/apply-ime
Fix TextEdit IME issues
2024-02-13 17:23:55 +01:00
Rémi Verschelde
eb77418075
Merge pull request #87006 from AThousandShips/frame_fix
Fix member names of `AudioFrame` to match extension
2024-02-13 17:23:37 +01:00
Rémi Verschelde
32b0834609
Merge pull request #84763 from KoBeWi/all-knowing_theme_editor
Fetch theme editor items from ThemeDB
2024-02-13 17:23:07 +01:00
Rémi Verschelde
e53e60e0fe
Merge pull request #83856 from BlueCube3310/animation-import-crash
Fix Scene Importer crashing when animation or mesh save paths are invalid
2024-02-13 17:23:03 +01:00
kobewi
8ec86e29c8 Rework how script is edited when clicking icon 2024-02-13 16:54:33 +01:00
A Thousand Ships
d8b29efe66
Fix member names of AudioFrame to match extension 2024-02-13 15:37:09 +01:00
bruvzg
8da36031e4
Implement support for application status indicators (tray icons). 2024-02-13 15:59:35 +02:00
kleonc
c0a1b4f32d Fix CanvasItem/Node3D editor plugin drag drop transform calculation 2024-02-13 13:52:37 +01:00
Rémi Verschelde
dfe226b933
Merge pull request #88270 from TokageItLab/avoid-near-far
Avoid unqualified-id "near" and "far" in Node3DEditor/Viewport
2024-02-13 11:25:24 +01:00
Rémi Verschelde
fbe8a1dfa2
Merge pull request #88269 from MajorMcDoom/live-debug-local-transform
Fix an edge case bug in drag-and-drop Node3D spawning.
2024-02-13 11:25:20 +01:00
Rémi Verschelde
4e2181b3b5
Merge pull request #87857 from CookieBadger/animation-bezier-editor-fix-zoom-factor
Fix vertical zoom factor in Animation Bezier Editor
2024-02-13 11:24:58 +01:00
Rémi Verschelde
3834fb432e
Merge pull request #87145 from AThousandShips/atlas_fix_size
Allow configuring the maximum width for atlas import
2024-02-13 11:24:54 +01:00
Rémi Verschelde
76170379b3
Merge pull request #86633 from rune-scape/regression-79882
Fix possible crash (use after free) in ScriptTextEditor
2024-02-13 11:24:51 +01:00
Rémi Verschelde
391a8e5327
Merge pull request #85868 from KoBeWi/knowyourtiles
Add descriptions for tile properties
2024-02-13 11:24:42 +01:00
Silc Lizard (Tokage) Renew
67e38709fd Avoid unqualified-id "near" and "far" in Node3DEditor/Viewport 2024-02-13 18:53:21 +09:00
emild
b66b188cf9
Fix vertical zoom factor in Animation Bezier Editor 2024-02-13 10:32:50 +01:00
A Thousand Ships
8b3c12d8df
Allow configuring the maximum width for atlas import 2024-02-13 10:30:44 +01:00
Zi Ye
123dbdb4af Fixed an edge case bug in drag-and-drop Node3D spawning. 2024-02-12 22:29:31 -06:00
Rémi Verschelde
08b4dddf4c
Merge pull request #88106 from Calinou/editor-dev-build-show-update-spinner
Show update spinner by default in `dev_build=yes` editor builds
2024-02-12 13:34:38 +01:00
Rémi Verschelde
687f840354
Merge pull request #87379 from groud/change_tilemap_editor_to_tilemaplayer_editor
Change TileMapEditor to TileMapLayerEditor
2024-02-12 13:34:04 +01:00
Rémi Verschelde
f879160018
Merge pull request #87255 from Mickeon/documentation-overridden-property-colour
Add color in built-in documentation for overridden properties
2024-02-12 13:34:00 +01:00
Rémi Verschelde
75255bd15c
Merge pull request #87250 from CookieBadger/animation-copy-paste-keyframe
Implement consistent functionality for select, copy, paste, and duplicate in AnimationPlayer
2024-02-12 13:33:57 +01:00
Rémi Verschelde
966a3ffbba
Merge pull request #86659 from MajorMcDoom/live-debug-local-transform
Improved synchronization of Transforms during live debug sessions
2024-02-12 13:33:35 +01:00
Rémi Verschelde
7b1525236a
Merge pull request #85367 from KoBeWi/elephant_in_the_editor
Fix custom type icon sizes in animation tracks
2024-02-12 13:33:27 +01:00
Rémi Verschelde
62fcc7e5d3
Merge pull request #78990 from RedMser/class-reference-keywords
Add search keywords to the class reference
2024-02-12 13:33:12 +01:00
Gilles Roudière
5a999d67ec Change TileMapEditor to TileMapLayerEditor 2024-02-12 10:11:45 +01:00
Micky
fbc584d4f2 Add color in built-in documentation for overridden properties 2024-02-11 17:30:54 +01:00
Michael Alexsander
cc52d7a281
Use highlighted version of the tab icon in the bottom file system dock 2024-02-11 00:09:59 -03:00
RedMser
a53793472e Only update inspector if configuration warning change relevant
Fixes #88176
2024-02-10 20:46:09 +01: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 +01:00
RedMser
db798b29b2 Add keywords to the class reference
Allows for finding methods, properties, signals, constants,
theme items and annotations more easily.

- Allow "keywords" attribute in aforementioned locations
  in the class reference XMLs
- Extends doctool, to preserve these attributes
- Update the XSD schema for the class reference
- Update the RST generator to include a meta tag for class keywords
- Update the editor help to support filtering by keywords
2024-02-09 18:13:23 +01:00
Rémi Verschelde
27e575a4dd
Merge pull request #88124 from Rubonnek/fix-efs-scan-done-race
Fix data race against `EditorFileSystem.scanning_changes_done`
2024-02-09 18:09:18 +01:00
Rémi Verschelde
b457a30311
Merge pull request #87628 from YuriSizov/assets-bigger-better-errors
Improve error reporting in the asset library and in related types
2024-02-09 18:09:16 +01:00
Rémi Verschelde
d00dc8facf
Merge pull request #87371 from AThousandShips/size_err_check
Replace error checks against `size` with `is_empty`
2024-02-09 18:09:11 +01:00
Rémi Verschelde
d584ce0122
Merge pull request #80544 from MewPurPur/buff-editorspinslider-2
Fix read-only EditorSpinSlider display
2024-02-09 18:08:55 +01:00
Wilson E. Alvarez
9790b992ba
Fix data race against EditorFileSystem.scanning_changes_done 2024-02-09 07:48:01 -05:00
A Thousand Ships
684752e75b
Replace error checks against size with is_empty 2024-02-09 12:50:15 +01:00
Rémi Verschelde
a1e1002ba4
Merge pull request #88084 from ckaiser/feature/use_indeterminate_progressbar
Use indeterminate progressbars for editor downloads (export templates & assets)
2024-02-09 12:35:53 +01:00
Rémi Verschelde
77af6ca8ad
Merge pull request #87634 from vnen/gdscript-binary-tokens
GDScript: Reintroduce binary tokenization on export
2024-02-09 12:35:00 +01:00
Rémi Verschelde
1774c17b64
Merge pull request #87625 from YuriSizov/editor-lightweight-script-previews
Generate script resource preview without parsing
2024-02-09 12:34:36 +01:00
Rémi Verschelde
b1d135ccb9
Merge pull request #84396 from quirkylemon/hide-private-enums
Hide private enums from documentation
2024-02-09 12:13:34 +01:00
RedMser
bf37a9bac6 Allow configuration warnings to refer to a property
This is used by the inspector so it can show a warning icon on
a specific property.
2024-02-08 23:05:20 +01:00
George Marques
72e5f8c31e
GDScript: Enable compression on export
Besides the regular option to export GDScript as binary tokens, this
also includes a compression option on top of it. The binary format
needs to encode some information which generally makes it bigger than
the source text. This option reduces that difference by using Zstandard
compression on the buffer.
2024-02-08 11:20:07 -03:00
George Marques
b4d0a09f15
GDScript: Reintroduce binary tokenization on export
This adds back a function available in 3.x: exporting the GDScript
files in a binary form by converting the tokens recognized by the
tokenizer into a data format.

It is enabled by default on export but can be manually disabled. The
format helps with loading times since, the tokens are easily
reconstructed, and with hiding the source code, since recovering it
would require a specialized tool. Code comments are not stored in this
format.

The `--test` command can also include a `--use-binary-tokens` flag
which will run the GDScript tests with the binary format instead of the
regular source code by converting them in-memory before the test runs.
2024-02-08 11:20:05 -03:00
QuirkyLemon
a5a8f0a881 Hide private enums from documentation 2024-02-08 08:10:43 -06:00
Christian Kaiser
edcb581627 Use indeterminate progressbars for downloads (export templates & assets) 2024-02-08 11:08:11 -03:00
Rémi Verschelde
f8020d1364
Merge pull request #88026 from Calinou/editor-default-enable-add-type-hints
Enable Add Type Hints editor setting by default
2024-02-08 10:53:58 +01:00
Rémi Verschelde
4a30fe5e7c
Merge pull request #86564 from Giwayume/feature/canvas-item-shader-custom-data
Support CUSTOM shader attributes in 2D
2024-02-08 10:53:24 +01:00
Rémi Verschelde
163c00eb4d
Merge pull request #81655 from nlupugla/editor-interface-can-popup-dialogs
Expose `SceneTreeDialog` and `PropertySelector` via `EditorInterface`
2024-02-08 10:53:13 +01:00
Rémi Verschelde
0ebda8e0f4
Merge pull request #65753 from KoBeWi/run_1000000_instances
Add a dialog to customize run instances
2024-02-08 10:53:06 +01: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 +01:00
Rémi Verschelde
eac2091345
Merge pull request #87923 from smix8/meshlib_export_recursive
Make MeshLibrary export do recursive depth-search for MeshInstance3D nodes
2024-02-07 11:00:55 +01:00
Rémi Verschelde
bc9acde764
Merge pull request #87781 from aaronfranke/fix-crash-mesh-root
Fix crash when previewing a scene with a mesh as the root node
2024-02-07 10:58:52 +01:00
Hugo Locurcio
345f09d125
Enable Add Type Hints editor setting by default
Now that GDScript type hints improve performance since Godot 4.0
and the community is increasingly getting used to typed GDScript,
it makes sense to add type hints by default.

Official demos will also be moving to type hints at some point
in the future, further increasing the relevance of enabling type
hints out of the box.
2024-02-06 19:41:26 +01:00
emild
a5cb760d90 implement consistent select, copy, paste, duplicate in animation player 2024-02-06 18:57:10 +01: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 +01:00
kobewi
5ab9e50461 Add a dialog to customize run instances 2024-02-05 19:07:31 +01:00
kobewi
808f4e8cb9 Check if history exists before discarding 2024-02-05 17:42:37 +01:00
Rémi Verschelde
710c56e6b1
Merge pull request #87948 from ryevdokimov/always-default-to-region-select
Fix new region select with selection when over geometry
2024-02-05 14:54:10 +01:00
Rémi Verschelde
64cee8a99f
Merge pull request #87922 from ryevdokimov/all-tools-can-select-regression-2
Fix a regression when multiple nodes are selected and drag transform is attempted w/o gizmo
2024-02-05 14:51:48 +01:00
Rémi Verschelde
45e9d20d60
Merge pull request #87834 from TokageItLab/remove-dupecall-scene-tree-dock
Remove duplicated callings `set()` from SceneTreeDock
2024-02-05 14:50:09 +01:00
Rémi Verschelde
474d9b7e2e
Merge pull request #87771 from jsjtxietian/region-mismatch
Fix `TextureRegionEditor::_pan_callback` deferred called with only one argument
2024-02-05 14:49:45 +01:00
Rémi Verschelde
07655a0e11
Merge pull request #87623 from Calinou/editor-scene-drag-and-drop-tweak-modifier
Change scene drag-and-drop modifier behavior in the 2D and 3D editors
2024-02-05 14:49:21 +01:00
Rémi Verschelde
e096be85c4
Merge pull request #87125 from ryevdokimov/fix-removing-preview-nodes-on-ui-cancel
Clear drag preview nodes on `NOTIFICATION_DRAG_END`
2024-02-05 14:48:56 +01:00
Robert Yevdokimov
6718a9e4cf Fix bug that translates node during region select over geometry by always defaulting to region select 2024-02-04 13:34:18 -05:00
jsjtxietian
d06c526fb0 Fix TextureRegionEditor::_pan_callback deferred called with only one arg 2024-02-04 12:10:05 +08: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 +01:00
Robert Yevdokimov
677bd9783a Fix a regression when multiple nodes are selected. and drag transform is attempted w/o gizmo 2024-02-03 21:45:08 -05:00
Robert Yevdokimov
7a2c386e28 Clear drag preview nodes on NOTIFICATION_DRAG_END 2024-02-03 18:50:33 -05:00
Rémi Verschelde
b4e2a24c1f
Merge pull request #87915 from dalexeev/editor-fix-parse-category-for-custom-categories
Editor: Fix `_parse_category()` is not called for custom categories
2024-02-03 23:23:21 +01:00
Rémi Verschelde
f69aa5e649
Merge pull request #87887 from jtakakura/fix-unintentional-translation-in-animation-tree
Fix unintentional translations in AnimationTree
2024-02-03 23:21:24 +01:00
Rémi Verschelde
607a3b2409
Merge pull request #87631 from ryevdokimov/decouple-message-from-framerate
Make viewport message dependent on framerate not physics step
2024-02-03 23:19:50 +01:00
Rémi Verschelde
0465027878
Merge pull request #87419 from KoBeWi/very_important_i
Fix shortcut name consistency in SceneTreeDock
2024-02-03 23:18:59 +01:00
Danil Alexeev
547f03b6d7
Editor: Fix _parse_category() is not called for custom categories 2024-02-03 23:54:32 +03:00
Junji Takakura
dcf4d82fb5 Fix unintentional translations in AnimationTree 2024-02-03 10:49:04 +09:00
Silc Lizard (Tokage) Renew
87ab959ae0 Remove duplicated set() methods from SceneTreeDock 2024-02-03 10:01:27 +09:00
viksl
93334eb6d0 Select nodes on drag and drop in 3D viewport 2024-02-02 23:03:21 +01:00
Robert Yevdokimov
17e9fd06ce Make viewport message dependent on framerate not physics step 2024-02-02 14:47:30 -05:00
Robbie Cooper
30914c0434 Fix bounding boxes
Each time an AABB is rotated, it gets bigger. That means opposite rotations don't cancel out.

The previous implementation repeatedly rotates children AABBs as it climbs up the tree. This often resulted in selection boxes looking bigger than their contents.

This implementation calculates and applies a single final transformation to each AABB before it is merged with the others. After merging, there are no additional rotations, so AABBs remain accurate.

Co-Authored-By: Robert Yevdokimov <105675984+ryevdokimov@users.noreply.github.com>
2024-02-02 07:59:47 -05:00
Rémi Verschelde
7f5079f7c8
Merge pull request #87757 from hakro/vampire-origins
Do not reflect the origin lines in a mirror
2024-02-02 12:03:35 +01:00
Rémi Verschelde
8fc2407085
Merge pull request #86654 from ryevdokimov/fix-listening-for-input-escape
Prevent escape key from closing Editor Settings window when filtering for shortcuts
2024-02-02 12:01:52 +01:00
Rémi Verschelde
e0eccaeb60
i18n: Sync translations with Weblate
Still tracking 4.2 translations for now.

(cherry picked from commit 991454b8bd)
2024-02-02 11:38:01 +01:00
kobewi
a2c2caa2f4 Fix shortcut name consistency in SceneTreeDock 2024-02-01 22:40:23 +01:00
Aaron Franke
d1de00a2c8
Fix crash when previewing a scene with a mesh as the root node 2024-01-31 06:26:24 -06:00
kobewi
e86750dcaa Fetch theme editor items from ThemeDB 2024-01-31 13:17:11 +01:00
Rémi Verschelde
a3d50f7714
Merge pull request #87769 from ryevdokimov/fix-all-tools-can-select-regression
Fix a regression that breaks gizmo transforming when 'View Gizmos' is off
2024-01-31 10:56:30 +01:00
Rémi Verschelde
3939a881f0
Merge pull request #87755 from KoBeWi/tidy_for_no_reason
Some editor code cleanup
2024-01-31 10:55:43 +01:00
bruvzg
32939f82f1
Fix script editor undo shortcut with global menu enabled. 2024-01-31 07:48:58 +02:00
Robert Yevdokimov
87d97fe7d8 Fix a regression in #86804 that breaks gizmos transforming when 'View Gizmos' is off 2024-01-30 22:31:52 -05: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 +01:00
Hugo Locurcio
253ad63005
Clarify the FOV setting in the 3D editor camera is vertical FOV 2024-01-31 01:20:21 +01:00
Hakim
59c75b074a Do not reflect the origin lines in a mirror 2024-01-30 22:57:02 +01:00
kobewi
4ad74a5663 Some editor code cleanup 2024-01-30 21:33:31 +01:00
Rémi Verschelde
0cce6eb150
Merge pull request #87443 from YuriSizov/pms-hotter-younger-cousin
Improve layout and UX of the project manager
2024-01-30 19:10:46 +01:00
Yuri Sizov
f923b58f88 Correctly handle failures to open a project 2024-01-30 17:52:31 +01:00
Yuri Sizov
28e8a4c0ee Replace empty list dialog with an integrated panel 2024-01-30 17:52:25 +01: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 +01:00
Yuri Sizov
4d97c33503 Add a network mode setting to bring the editor offline
This PR also adds default font styles for RichTextLabels
in the editor, and improves the introduction dialog
when you don't have any local projects available.

The offline mode is implemented in the asset library
plugin, alongside some code improvements.
2024-01-30 17:52:08 +01:00
Yuri Sizov
bac037b1e0 Improve the project manager UI 2024-01-30 17:52:01 +01: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 +01:00
Riteo
7e0f7d3abd Add Wayland support
Not everything is yet implemented, either for Godot or personal
limitations (I don't have all hardware in the world). A brief list of
the most important issues follows:

- Single-window only: the `DisplayServer` API doesn't expose enough
information for properly creating XDG shell windows.

- Very dumb rendering loop: this is very complicated, just know that
the low consumption mode is forced to 2000 Hz and some clever hacks are
in place to overcome a specific Wayland limitation. This will be
improved to the extent possible both downstream and upstream.

- Features to implement yet: IME, touch input, native file dialog,
drawing tablet (commented out due to a refactor), screen recording.

- Mouse passthrough can't be implement through a poly API, we need a
rect-based one.

- The cursor doesn't yet support fractional scaling.

- Auto scale is rounded up when using fractional scaling as we don't
have a per-window scale query API (basically we need
`DisplayServer::window_get_scale`).

- Building with `x11=no wayland=yes opengl=yes openxr=yes` fails.

This also adds a new project property and editor setting for selecting the
default DisplayServer to start, to allow this backend to start first in
exported projects (X11 is still the default for now). The editor setting
always overrides the project setting.

Special thanks to Drew Devault, toger5, Sebastian Krzyszkowiak, Leandro
Benedet Garcia, Subhransu, Yury Zhuravlev and Mara Huldra.
2024-01-30 16:44:47 +01:00
Robert Yevdokimov
bacdc6ae91 Maintain editor properties vector ratio when set to 0 2024-01-30 08:59:44 -05:00
Rémi Verschelde
9ab5cedef6
Merge pull request #87712 from akien-mga/revert-gdscript-uid-annotations-for-now
Revert "Add UID support to GDScript files" (for now)
2024-01-29 21:34:59 +01:00
Rémi Verschelde
1d3722a6aa
Merge pull request #87170 from AThousandShips/run_fix
Fix reloading current scene forgetting path
2024-01-29 21:33:26 +01:00
Rémi Verschelde
6a47a53273
Merge pull request #86765 from reduz/filesystem-to-bottom
Allow to move FileSystem dock to bottom and drag resources across bottom docks
2024-01-29 21:32:35 +01:00
Rémi Verschelde
6c2f412cc7
Merge pull request #84760 from KoBeWi/ultimate_get_property_list_reloaded
Fetch override list from ThemeDB
2024-01-29 21:32:10 +01:00
kit
a6af442b05 Apply TextEdit IME on most actions 2024-01-29 15:07:19 -05:00
Rémi Verschelde
745f8e112f
Revert "Add UID support to GDScript files"
This reverts commit c7f68a27ec.

We still think GDScript files need UIDs to allow safe refactoring,
but we're still debating what form those should take exactly.

So far there seems to be agreement that it shouldn't be done via an
annotation as implemented here, so we're reverting this one for now,
to revisit the feature in a future PR.
2024-01-29 21:00:26 +01:00
kobewi
7d6ded2027 Fetch override list from ThemeDB 2024-01-29 16:41:57 +01: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 +01:00
Hugo Locurcio
085629a7c9
Extend minimum/maximum zoom level of TextureRegion editor
This also applies a similar change to the SpriteFrames editor.
2024-01-29 14:58:40 +01:00
Rémi Verschelde
fa48a51183
Merge pull request #87688 from AThousandShips/what_is_this
Remove unnecessary `this->` expressions
2024-01-29 13:18:09 +01:00
Rémi Verschelde
75d2cf3075
Merge pull request #87616 from ryevdokimov/cancel-transformation-2d
Add cancel transformation shortcut to 2D to match 3D
2024-01-29 13:17:33 +01:00
Rémi Verschelde
ef9cb3dfa5
Merge pull request #87535 from Mickeon/scene-tree-configuration-warnings-cleanup
Improve appearance of Node configuration warnings
2024-01-29 13:17:17 +01:00
Rémi Verschelde
061c776228
Merge pull request #87381 from YuriSizov/core-sneaky-properties
Better hide internal properties from users
2024-01-29 13:16:55 +01:00
Rémi Verschelde
8febe50797
Merge pull request #85448 from mxaddict/master
Update `blender_path` behavior to require exact path to executable instead of trying to guess it
2024-01-29 13:16:05 +01: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 +01:00
Rémi Verschelde
07d290e67e
Merge pull request #83747 from Riteo/gdext-doc
GDExtension: Add an interface for loading extra documentation
2024-01-29 13:15:57 +01: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 +01:00
Rémi Verschelde
f220d46cdc
Merge pull request #80231 from romlok/input-key-location
Support detecting and mapping ctrl/alt/shift/meta by their left/right physical location
2024-01-29 13:15:42 +01:00
Yuri Sizov
d644b9b640 Better hide internal properties from users 2024-01-29 12:35:10 +01:00
A Thousand Ships
15369fdb1d
Remove unnecessary this-> expressions 2024-01-29 09:59:18 +01:00
jsjtxietian
650b9d62e4 Fix editor will freeze when modifying filesystem filter path in Split Mode 2024-01-29 11:04:06 +08:00
baptr
90a5f23e79 Fix editor profiler script function sort order
The engine internally limits the number of functions reported back (to
16 by default). To this point, it's been sort the profiling info in
*ascending* order of time spent, then trimming the list. This meant
we may only see the best (fastest) functions, instead of the worst
that you probably want when profiling.

Now the servers_debugger sort more closely matches the local_debugger
one, which worked fine.
2024-01-27 17:12:27 -08: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 +01:00
Micky
3e4e0f08c4 Improve appearance of Node configuration warnings 2024-01-27 13:03:07 +01:00
Yuri Sizov
815038962f Improve error reporting in the asset library and in related types
This also makes errors related to asset image loading
verbose-only, because, frankly, users can't do much about
those errors. Spamming them with error messages
about some assets on the frontend being broken
is pointless.
2024-01-26 20:33:22 +01:00
Yuri Sizov
9c919ea285 Generate script resource preview without parsing 2024-01-26 19:04:10 +01:00
Yuri Sizov
c848bfc1bb Benchmark resource preview generator with a verbose print 2024-01-26 18:55:45 +01:00
Hugo Locurcio
341ca31be8
Change scene drag-and-drop modifier behavior in the 2D and 3D editors
Behavior is now consistent across 2D and 3D editors.

- By default, drag-and-dropping adds the scene as a child of the selected
  node. Hold Alt when releasing the mouse to add the scene as a child
  of the root node, or Shift to add the scene as a sibling of the selected
  node.
- To choose a different node type in the 2D editor when drag-and-dropping
  a texture resource, hold Alt + Shift (instead of just Alt).
- If multiple nodes are selected, only the first one is taken into account.
  This was previously the behavior in 2D, but not in 3D (an error dialog
  appeared instead). This makes the UI more forgiving.
2024-01-26 18:05:58 +01:00
mxaddict
ad106a283b Update blender_path behavior to require exact path to executable instead of trying to guess it 2024-01-27 00:41:53 +08:00
Nông Văn Tình
c051c44df9 Allow Editor to reload external changes of scripts 2024-01-26 21:05:36 +07:00
Mel Collins
8406e60522 Add InputEventKey.location to tell left from right
This adds a new enum `KeyLocation` and associated property
`InputEventKey.location`, which indicates the left/right location of key
events which may come from one of two physical keys, eg. Shift, Ctrl.

It also adds simulation of missing Shift KEYUP events for Windows.
When multiple Shifts are held down at the same time, Windows natively
only sends a KEYUP for the last one to be released.
2024-01-26 14:42:28 +01:00
Robert Yevdokimov
d9057c8b56 Add cancel transformation shortcut to 2D 2024-01-26 08:30:13 -05:00
Riteo
f468e59efd GDExtension: add an interface for loading extra documentation
Adds two new GDExtension interface methods:
 - `editor_help_load_xml_from_utf8_chars`
 - `editor_help_load_xml_from_utf8_chars_and_len`

Both of these methods parse the XML passed into an extra documentation
container which, when needed, is merged into the main doc container.

Co-Authored-By: Rémi Verschelde <rverschelde@gmail.com>
2024-01-26 13:53:33 +01:00
Rémi Verschelde
c26a338430
Merge pull request #87356 from jsjtxietian/connection-error
Check if the ref shader is valid in visual shader's `_update_option_menu`
2024-01-26 11:44:13 +01:00
jsjtxietian
ff089f8cea Check is the ref shader valid in visual shader's update_option_menu 2024-01-25 11:54:23 +08:00
Yuri Sizov
07132860dc Remove incorrect C# rename from the project converter 2024-01-24 16:36:11 +01:00
Yuri Sizov
10945f752c Merge pull request #87510 from adamscott/make-text-editor-consistent-with-script-editor
Make the text editor consistent with the script editor
2024-01-24 14:08:57 +01:00
Yuri Sizov
a32a2eaedc Merge pull request #87417 from AThousandShips/tree_clear
Use callable for `TreeItem` custom draw
2024-01-24 14:08:36 +01:00
Yuri Sizov
adcfe3d1a0 Merge pull request #87252 from ajreckof/Fix-renaming-a-node-to-the-name-of-its-siblings-breaking-NodePath
Fix renaming a node to the name of its siblings breaking NodePath
2024-01-24 14:08:20 +01:00
Yuri Sizov
6d2a827f73 Merge pull request #79374 from raulsntos/ignore-directories-in-tpz
Ignore directory entries in TPZ
2024-01-24 14:07:30 +01:00
Giwayume
bb83c4adec Add custom shader attributes to Canvas Item Shaders 2024-01-23 14:36:39 -05:00
Adam Scott
12c84836b7
Make the text editor consistent with the script editor 2024-01-23 11:27:00 -05:00
A Thousand Ships
257d03681c
Use callable for TreeItem custom draw
Deprecating old functionality
2024-01-23 12:07:43 +01:00
Yuri Sizov
6fea273ed3 Merge pull request #87476 from AThousandShips/search_fix
Fix selection regression in `EditorHelpSearch`
2024-01-22 20:39:40 +01:00
Yuri Sizov
b5f033476c Merge pull request #87470 from AThousandShips/tile_thread_fix
[Editor] Fix threading problems with `TileMap` preview
2024-01-22 20:39:32 +01:00
Yuri Sizov
8f51117445 Merge pull request #87343 from ryevdokimov/fix-2d-top-level-2
Update the viewport if CanvasItem top level is changed
2024-01-22 20:39:11 +01:00
Yuri Sizov
3755b7286c Merge pull request #87332 from AThousandShips/scene_saved
[Editor] Add `EditorPlugin::scene_saved` signal
2024-01-22 20:39:07 +01:00
Yuri Sizov
bbfad3d7a5 Merge pull request #87200 from passivestar/dock-shortcuts
Add support for search shortcut to all docks
2024-01-22 20:38:59 +01:00
Yuri Sizov
feb1157276 Merge pull request #83510 from Geometror/vs-connection-ops
Add connection related functionality to VisualShader (deleting, dropping/inserting a node)
2024-01-22 20:38:30 +01:00
passivestar
97a77c5193 Add support for search shortcut to all docks 2024-01-22 22:37:59 +04:00
Robert Yevdokimov
3bed6b1cb0 Update the viewport if CanvasItem top level is changed 2024-01-22 13:10:54 -05: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 +01:00
A Thousand Ships
3b7b484300
Fix selection regression in EditorHelpSearch 2024-01-22 17:06:42 +01:00
A Thousand Ships
dbcd82ba67
[Editor] Fix threading problems with TileMap preview 2024-01-22 13:44:36 +01:00
nlupugla
558c2763e7 EditorInterface can popup SceneTreeDialog and PropertySelector. 2024-01-19 14:16:29 -05:00
Hendrik Brucker
f59419bfe0 Add connection-related VisualShader operations
- Insert a node in a connection
- Drop an unconnected node on a connection to insert it
- Delete a connection
2024-01-19 11:38:59 +01:00
Rémi Verschelde
bf5b877636
Merge pull request #87345 from ryevdokimov/removed-unused-prev-rot-variable
Remove unused `prev_rot` variable
2024-01-19 10:19:29 +01:00
Yuri Sizov
66b0bd9203 Merge pull request #86158 from Geometror/ge-connection-rework
Rework `GraphEdit` connections (drawing, API, optimizations)
2024-01-18 19:26:56 +01:00
Yuri Sizov
de95a3effe Merge pull request #85117 from BastiaanOlij/openxr_runtime_select
OpenXR: Add runtime selection dropdown
2024-01-18 19:26:52 +01:00
Robert Yevdokimov
ecc8493e17 Remove unused prev_rot variable 2024-01-18 11:24:22 -05:00
Hendrik Brucker
9d7c2978f4 Rework GraphEdit connections (drawing, API, optimizations)
- GraphEdit now uses Line2D nodes to draw connection lines and uses a dedicated canvas item shader for them
2024-01-18 16:53:15 +01:00
Rémi Verschelde
33f3511241
Merge pull request #87293 from YuriSizov/editor-theme-a-rehashed-follow-up
Improve editor theme generation after the refactor
2024-01-18 16:34:50 +01:00
Rémi Verschelde
f3fd668a02
Merge pull request #87266 from YuriSizov/pm-gets-a-chris-hemsworth-treatment
Reorganize project manager code
2024-01-18 16:34:26 +01:00
Rémi Verschelde
d3003c48b3
Merge pull request #67132 from KoBeWi/This_commit_message_is_auto-generated._Do_not_modify_it-
Add UID support to GDScript files
2024-01-18 16:33:14 +01:00
Bastiaan Olij
afd1dcf1b1 OpenXR: Add runtime selection dropdown 2024-01-18 15:59:22 +01:00
Rémi Verschelde
fa81059b9d
Merge pull request #85939 from adamscott/single-threaded-godot-4
Add `THREADS_ENABLED` macro in order to compile Godot to run on the main thread
2024-01-18 09:33:52 +01:00
kobewi
c7f68a27ec Add UID support to GDScript files 2024-01-17 22:30:56 +01:00