1
0
Fork 0
Commit Graph

707 Commits

Author SHA1 Message Date
Rémi Verschelde 109203d472
Merge pull request #85331 from RobProductions/customize-navigation-controls
Add full customization of 3D navigation controls
2024-08-28 00:10:19 +02:00
Rémi Verschelde 012ccbc301
Merge pull request #95048 from KoBeWi/keep_the_party_going
Add `keep_screen_on` editor setting
2024-08-27 22:27:35 +02:00
Rémi Verschelde 3db976bdb7
Merge pull request #95906 from larspet/change-2d-zoom
Add a zoom speed setting to the 2D editor
2024-08-27 16:55:02 +02:00
Rémi Verschelde b34aa7b44d
Merge pull request #76085 from spanzeri/better_remember_editor_window
Remember editor window mode, screen, size and position on restart
2024-08-26 23:27:55 +02:00
Lars Pettersson dfdf7ebcda
Add a zoom speed setting to the 2D editor 2024-08-23 07:13:16 +02:00
kobewi 84e8831b89 Don't mark settings as modified while loading 2024-08-17 19:23:06 +02:00
Rémi Verschelde f01e052162
Merge pull request #95549 from timothyqiu/split-translation-server
Split `TranslationServer` into its own file
2024-08-16 14:36:16 +02:00
Haoyu Qiu 7343dc3a5d Split TranslationServer into its own file 2024-08-15 15:00:47 +08:00
bruvzg 600e770f39
[Editor] Allow MSDF font rendering for custom fonts, add editor setting to control it. 2024-08-08 10:59:33 +03:00
kobewi ab4c23583a Add keep_screen_on editor setting 2024-08-02 03:44:29 +02:00
Hilderin 20f4d26510 Fix editor settings still displayed when replaced 2024-07-30 17:35:26 -04:00
Samuele Panzeri d0bcac8197 Remember editor window mode, screen, size and position on restart 2024-07-23 00:32:12 +02:00
Hilderin 650981a080 Fix editor crash when editor settings resource is invalid 2024-07-21 13:26:15 -04:00
Rémi Verschelde a4312eebaa
Merge pull request #94468 from m4gr3d/restart_editor_when_updating_touchscreen_settings
[Android Editor] Resolve issues with the editor touchscreen settings
2024-07-17 12:24:14 +02:00
Fredia Huya-Kouadio 8f7dc86223 Enable `restart_if_changed` for the touchscreen editor settings
The alternative was to regenerate the theme which caused the Android Editor to freeze while the regeneration was ongoing.
2024-07-17 02:30:30 -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
Rémi Verschelde d2fc2a35b3
Merge pull request #92985 from KoBeWi/confirm_insert_shift
Restore "Confirm Insert Track" editor setting
2024-07-05 15:07:29 +02:00
Fredia Huya-Kouadio 6b6428d779 Fix ANRs reported by the Google Play Console
- Add support for dispatching input on the render thread (UI thread is the current default) when `input_buffering` and `accumulated_input` are disabled. At the expense of latency, this helps prevent 'heavy' applications / games from blocking the UI thread (the default behavior)  which may cause the application to ANR.

- Remove GLSurfaceView logic causing the UI thread to wait on the GL thread during lifecycle events. The removed logic would cause the UI thread to ANR when the GL thread is blocked.
2024-07-04 05:18:50 -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 -04:00
Rémi Verschelde b63df071bd
Merge pull request #92514 from /addWordSeparators 2024-06-25 09:19:35 +02:00
Volkan Gezer e60678f193 enable custom separators to treat different characters as words 2024-06-24 20:43:13 +02:00
Rémi Verschelde f11e8d033d
Remove editor pseudolocalization debug feature
We've seen multiple users enable it by mistake and get utterly confused,
reporting as a bug that the interface text is garbled.

On the other hand we haven't really seen much use of the feature by editor
UI developers, so we can likely simply remove it.

If there's a need eventually, we can re-add it as a command line option
(which is also better than an editor setting as one would typically want
to toggle it during development).
2024-06-24 17:08:26 +02:00
Hugo Locurcio cf09cc2115
Decrease the default idle parse delay in the script editor
This makes errors reported 0.5 seconds faster compared to the previous
default value, and is closer to other code editors' behavior such as
VS Code.
2024-06-22 00:40:21 +02:00
Hugo Locurcio 010d02a6ee
Tweak property name style selector in the editor inspector
A preview is now displayed in the options' text:

- Raw (e.g. "z_index")
- Capitalized (e.g. "Z Index")
- Localized (e.g. "Z Index")
  - "Z Index" is localized in the user's language.
2024-06-20 00:27:48 +02:00
kobewi 21345defe9 Restore "Confirm Insert Track" editor setting 2024-06-10 17:47:59 +02:00
Rémi Verschelde 7728839247
Rename FBX2glTF binary path setting back to 4.2 name
This preserves compatibility when upgrading Godot 4.2 projects which relied on that
path being configured in the editor settings.

The old name also makes sense for this one, it's fine for fbx2gltf_path to be under
a generic fbx category which could have more settings also impacting ufbx.
2024-05-30 23:42:11 +02:00
Rémi Verschelde 838eb5a0fd
Merge pull request #87099 from bitwise-aiden/ba-add-trim-newlines
Implement `trim_final_newlines` setting and functionality
2024-05-30 11:47:28 +02:00
Rémi Verschelde c42751cae2
Merge pull request #91033 from Hilderin/keep_current_bottom_panel_on_play
Add editor setting to keep bottom panel state on play and stop game
2024-05-29 22:13:45 +02:00
Hilderin 76205d4276 Add editor setting to keep bottom panel state on play and stop game 2024-05-29 05:45:17 -04:00
bruvzg 151788f7e8
[Editor] Add editor setting to control "disable_embedded_bitmaps" property of the editor fonts. 2024-05-14 09:26:22 +03:00
Rémi Verschelde a9a1d0a162
Merge pull request #91619 from AThousandShips/find_improve
Replace `find` with `contains/has` where applicable
2024-05-08 14:35:44 +02:00
Rémi Verschelde 0fcd30180f
Merge pull request #91039 from timothyqiu/dock-icons
Allow setting editor dock tabs to icon only
2024-05-08 14:35:29 +02:00
A Thousand Ships a0dbdcc3ab
Replace `find` with `contains/has` where applicable
* Replaces `find(...) != -1` with `contains` for `String`
* Replaces `find(...) == -1` with `!contains` for `String`
* Replaces `find(...) != -1` with `has` for containers
* Replaces `find(...) == -1` with `!has` for containers
2024-05-08 12:37:42 +02:00
Rémi Verschelde 039aa28a60
Merge pull request #89574 from Riteo/scale-your-expectations-with-this-one
Wayland: Workaround API limitation in screen/UI scale logic
2024-05-07 21:52:44 +02:00
Riteo 1bb8199342 Wayland: Workaround API limitation in screen/UI scale logic
Mainly, this fixes auto UI scaling with _single-monitor_ fractional
setups (see the comment in `display_server_wayland.cpp` for more info).

This is the result of a bunch of current limitations, mainly the fact
that the UI scale is static (it's probed at startup) and the fact that
Wayland exposes fractional scales only at the window-level, by design.

The `screen_get_scale` special case should help in 99% of cases, while
the auto UI scale part will unfortunately only help with single-screen
situations, as multi-screen fractional scaling requires dynamic UI
scale changing.
2024-05-07 19:50:48 +02:00
Rémi Verschelde 594498e718
Merge pull request #90966 from Calinou/debug-draw-use-runtime-colors
Use same colors for editor and running project for collision/path debug
2024-05-07 16:49:31 +02:00
A Thousand Ships fd8a31b53d
[Editor] Prevent some shortcut errors when generating docs 2024-05-03 17:43:54 +02:00
ajreckof cba9606611 Add colored margin in Inspector for arrays and dictionaries.
Apply suggestions from code review

Co-Authored-By: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-Authored-By: Tomek <kobewi4e@gmail.com>
2024-05-03 10:56:23 +02:00
Aiden Storey b4c1634b52 Implement trim_final_newlines functionality 2024-05-02 22:57:34 -04:00
Sofox b823724e00 Add line limit to Editor Output Log 2024-05-02 13:28:59 +01:00
Haoyu Qiu 1e20612940 Allow setting editor dock tabs to icon only 2024-04-30 09:34:14 +08:00
Rémi Verschelde ba804f1be7
Merge pull request #90875 from KoBeWi/minor_problem
Use minor version in EditorSettings file name
2024-04-23 19:11:35 +02:00
Hugo Locurcio b1a2394b3b
Use same colors for editor and running project for collision/path debug
This harmonizes the appearance of collision shapes and paths between
the editor and running project, in both 2D and 3D.

This means that in 3D, paths are now green and shapes are now cyan
instead of light blue.
2024-04-21 00:58:08 +02:00
Rémi Verschelde 1bd6fe81ea
Merge pull request #89538 from CrayolaEater/feature/custom-aabb-gizmos
Add Gizmo to display 3D custom AABB
2024-04-19 16:27:16 +02:00
Bogdan Inculet 8caa1b8783 Add Gizmo to display 3D custom AABB 2024-04-19 02:31:30 +03:00
kobewi 12f39befa9 Use minor version in EditorSettings file name 2024-04-19 00:13:06 +02:00
Hugo Locurcio ed540964ee
Add an editor setting to import resources while unfocused
This can be used to speed up iteration by starting the import process
earlier when saving files in the project folder. This also allows getting
visual feedback on changes without having to click the editor window,
which is useful with multi-monitor setups.

The downside is that this increases idle CPU usage and may steal CPU
time from other applications when importing resources, so this is
disabled by default.
2024-04-15 19:40:04 +02:00
kobewi 49e69fabba Add automatic checking for engine updates 2024-04-15 15:08:27 +02: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 +02:00
Gilles Roudière 3cd4b2859c Expose TileMapLayer 2024-04-03 11:02:34 +02:00
bruvzg 61f7145f43
[Native File Dialog] Add support for using native dialogs in the editor. 2024-03-28 11:53:03 +02:00
VolTer de8b6f7a3c Add editor settings for autocompletion with NodePath and StringName 2024-03-19 17:23:54 +02:00
passivestar 3199c294f9 Allow connecting signals to existing methods without opening the script editor 2024-03-12 15:50:54 +04:00
Nathan Franke 2130f1121a
Automatically create folder in project manager create/import/install 2024-03-08 12:27:50 -06:00
Rémi Verschelde 2d408f48e7
Merge pull request #88546 from bruvzg/indent_wrap
[TextEdit] Add support for optional wrapped line indentation.
2024-03-05 09:55:51 +01:00
Micky adbe238332 Add autocompletion for EditorSettings' methods 2024-03-01 14:58:28 +01:00
Michael Alexsander d70c45b5c8
Add option to add built-in strings in the POT generation 2024-02-28 11:34:26 -03:00
smix8 10e8f3698b Auto-bake edited NavigationPolygons in the Editor on a timer
Auto-bakes edited NavigationPolygons in the Editor on a timer.
2024-02-27 20:51:38 +01:00
Muller-Castro 1638c1b28f Add const lvalue ref to editor/* container parameters 2024-02-26 15:28:15 -03:00
bruvzg dad4aae386
[TextEdit] Add support for optional wrapped line indentation. 2024-02-26 08:20:14 +02:00
Robert Yevdokimov 13e82094ee Remove word duplicates in comments and strings, and fix casing and punctuation 2024-02-23 17:28:28 -05:00
K. S. Ernest (iFire) Lee 04d43947bf
Add ufbx for FBX importing
This update introduces a new import method for FBX files using ufbx. If the fbx2gltf import fails, it will use the most recently cached scene from the ufbx import. The process is sped up by introducing threads to load the ufbx portion.

Key changes include:

- Support for importing geometry helper nodes in FBX files.
- Addition of cameras and lights with updated names.
- Removal of the fbx importer manager.
- Introduction of ModelDocument3D and updates to its methods.
- Changes to FBX import options and visibility.
- Updating the documentation and handling some errors.
- Store the original non-unique node, mesh and animation names in FBX and glTF.

Co-Authored-By: bqqbarbhg <bqqbarbhg@gmail.com>
2024-02-23 22:33:04 +01:00
Rémi Verschelde 213c835cde
Merge pull request #85017 from Geometror/vs-redesign
Redesign the graph editor for visual shaders
2024-02-22 23:34:19 +01:00
Hendrik Brucker 02a33b67a8 Redesign the graph editor for visual shaders 2024-02-22 20:40:09 +01: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 +01: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 +01:00
Joseph DiGiovanni 7eacb6ddbf Add follow system theme settings 2024-02-14 15:31:21 -05:00
Bitlytic f9e03459e8
Add an option to center children around the new parent when reparenting 2024-02-14 13:46:04 +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
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
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
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
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 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
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
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
Yuri Sizov 45eedba1fa Improve editor theme generation after the refactor 2024-01-17 15:16:53 +01:00
Yuri Sizov dc3b07e551 Introduce editor theme spacing presets
This change adds a new editor setting related to theming
which controls base and additional spacing used in the
generated editor theme. These values can also be changed
manually by the user to customize their experience.

Limited effort was applied to make sure both Compact and
Spacious presets work and look fine, but further tuning
and adjustments are totally expected. Some controls will
require layout changes or additional fixes to their constants.
2024-01-16 11:57:45 +01:00
Yuri Sizov 13d34d6a2b Merge pull request #85923 from Calinou/editor-filesystem-dock-add-open-in-terminal
Add a editor FileSystem dock action to open a terminal in selected folder
2023-12-22 17:19:53 +01:00
Yuri Sizov e18659c69d Merge pull request #82872 from jsjtxietian/require-editor-restart-when-csg-gizmo-color-changed
Prompt require editor restart to user when gizmo color changed
2023-12-19 20:32:20 +01:00
msreis f1cc14d525 Fix missing time for some script functions in profiler
Fixes the issue by adding a mechanism by which the functions that were
previously disappearing can be profiled too. This is optional with
an editor setting, since collecting more information naturally slows the engine
further while profiling.

Fixes #23715, #40251, #29049
2023-12-19 19:42:21 +01:00
Hugo Locurcio 0e97acff84
Add a editor FileSystem dock action to open a terminal in selected folder
This is useful to enter some commands without having to open a separate
terminal and `cd` to the project folder.
2023-12-19 15:04:02 +01: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 +01:00
Yuri Sizov 92e024aac5 Merge pull request #79785 from KoBeWi/ioioioio
Load project metadata file only when needed
2023-12-19 13:00:54 +01:00
bruvzg 932174fedf
[Editor] Add option to override editor UI layout direction. 2023-11-17 14:56:45 +02:00
bruvzg 899e56de5d
Re-add optional OIDN denoise as an external executable. 2023-10-11 19:52:18 +03:00
Danil Alexeev de7cbe8789
Highlight doc comments in a different color 2023-10-08 19:26:10 +03:00
jsjtxietian b0ccd5c84f Prompt require editor restart to user when gizmo color changed 2023-10-06 15:02:03 +08:00
Saracen 3f4513d4de Add error checks for DirAccess creation. 2023-09-26 03:07:43 +01:00
Hugo Locurcio e732a9d41b
Add XML files to default TextFile extensions in the editor
This allows opening `*.xml` files by double-clicking them in the
FileSystem dock.
2023-09-13 20:44:15 +02:00
Rémi Verschelde 006a88c855
Merge pull request #80975 from Calinou/editor-property-auto-refresh-add-property-hint
Add a property hint range to Auto Refresh Interval editor setting
2023-09-12 08:49:08 +02:00
Hugo Locurcio 9359e0b91d
Add a property hint range to Auto Refresh Interval editor setting
This prevents using zero or negative values, which are invalid and
will cause various issues in the editor (such as the inspector never
updating until the editor is closed and reopened).
2023-09-11 19:46:21 +02:00
Jean-Michel Bernard 67dce301aa Add code region folding to CodeEdit 2023-09-11 18:36:40 +02:00
Yuri Rubinsky 35802374ac Add coloring for completion of vector components 2023-08-30 21:13:25 +03:00
KurtBliss 300ecfab89 Fixed editor filesystem/import properties not being caught by the doctool
Defined glft editor properties in editor_settings
Added documentation descriptions and entries
2023-08-14 06:06:28 -04:00
Ninni Pipping e2a91309d0 Fix API hash related crash in `EditorSettings` 2023-07-31 16:35:41 +02:00
Yuri Sizov 92960b7a22 Merge pull request #78615 from RandomShaper/fix_doc_cache
Re-enable docs cache with fixes
2023-07-26 18:39:22 +02:00
Yuri Sizov 3bc842b1b1 Merge pull request #54524 from Calinou/animation-editor-add-bypass-confirmation
Skip keyframe creation dialog when holding Shift in the animation editor
2023-07-26 18:39:01 +02:00
kobewi 3dc47b0b84 Load project metadata file only when needed 2023-07-23 17:51:42 +02:00
Hugo Locurcio a39190a18f
Allow using floating-point bone sizes and outline widths in the 2D editor
This is useful when animating pixel art sprites in the 2D editor,
as a value of `1` is often too large when zoomed in.
2023-07-17 12:44:09 +02:00