* This implementation adds threads on the side of the client (script debugger).
* Some functions of the debugger are optimized.
* The profile is also now thread safe using atomics.
* The editor can switch between multiple threads when debugging.
This PR adds threaded support for the script language debugger. Every thread has its own thread local data and it will connect to the debugger using multiple thread IDs.
This means that, now, the editor can receive multiple threads entering debug mode at the same time.
- reduz
PR 76582
Will be available here after it's merged:
6b176671c4
When enabled, this scales the editor icons to improve usability on touchscreen devices.
In addition this commit fixes touch detection for the collision_shape_2d_editor_plugin so it scales with the icons size.
- m4gr3d
b78935ef51
The follow options were added to the (new) `run/window_placement/android_window` editor setting:
- `Auto`: choose how to run the project based on the device screen size
- `Same as Editor`: run the project in the same window as the editor
- `Side-by-side with Editor`: run the project in an adjacent window to the editor
- m4gr3d
b5a908c985
Removed my force launch adjacent solution in favor of this.
`const` is used on all methods, even when they cause modification of the server. This reworks the methods of the server to only use `const` on method that don't change the state of the server.
- DarkKilauea
a0715b30f9
Contrary to the entire rest of the engine NavigationAgent's and NavigationLinks decided to deal with locations instead of positions.
- smix8
bf1571979c
- Adds more customization options to ProjectSettings.
- Displays navregion edge connections and navigation polygon edges in editor and at runtime.
- Majority of debug code moved from SceneTree to NavigationServer.
- Removes the irritating debug MeshInstance child node from NavigationRegion3D and replaces it with direct RenderingServer API.
- smix8
c394ea518e
Add benchmarking measuring methods to `OS` to allow for platform specific overrides (e.g: can be used to hook into platform specific benchmarking and tracing capabilities).
- m4gr3d
Also contains some mouse pointer improvements.
Adds the option to change the audio driver to the Dummy driver and back at runtime, with a set of MuteState flags - Disabled (user control), Silence (period of silence), Focus Loss (when app is not in focus), and Paused (when app is paused).
Control for the flags is added for the editor in EditorSettings, and for the project in ProjectSettings.
Editor defaults to muted (Dummy driver) when there is no audio output, and automatically switches to active on output. This significantly reduces CPU usage.
- lawnjelly
cedb01fb84
Android devices will typically be powered from battery. This PR defaults the editor on Android to use `update_vital_only` mode, using as little power as possible, in order to conserve battery.
Also shows the update spinner by default, to emphasize that vital updates only is occurring, and allow easy switching out of the mode.
- lawnjelly
0876a16bde
- Extacted all syntax highlighting code from text edit
- Removed enable syntax highlighting from text edit
- Added line_edited_from signal to text_edit
- Renamed get/set_syntax_highlighting to get/set_syntax_highlighter
- Added EditorSyntaxHighligher
- Paulb23
bc4cee4458
This is due to the `p_field` in the `EditorProperty::emit_changed`.
`p_field` only works for `MultiNodeEdit`, not for other objects.
- Rindbee and timothyqiu
9056cc9c2a
Print mismatched header contents and file size, which can provide more clues to users when debugging.
(cherry picked from commit f5d256b118914817e2c7ac5c35421e2767fc1e79)
The position (left/right) of the Cancel and OK buttons in AcceptDialog
are DisplayServer specific, as Windows uses OK/Cancel and macOS uses Cancel/OK.
Linux/X11 currently uses the macOS convention which is also the GTK+/GNOME one,
though it's not consistent with Qt/KDE applications which follow the Windows
convention.
Since that can't satisfy everyone, it's best if it's configurable also for the
editor (it's already configurable for the project).
Fixes#59379.
(cherry picked from commit 9bb05de89fcc286a0d78bea12dc779a56c274fb0)
Only import dependency we know how to import, since custom resource may have .gd in dependency list which doesn't have an importer
(cherry picked from commit 0463a445c4470509d581747bd272b0a76227c723)
Instantiating a new ProjectSettings is *not* the way to go.
ConfigFile works just fine to read/change a single value.
Fixes memory leaks as the instantiated ProjectSettings was never freed.
Forbid doing this to prevent such problems.
Fixes#25661.
- akien-mga
9a340a2868
The editor inspector will now get the edited class name from the MultiNodeEdit when it is used.
The name of the selected nodes is searched in the scene and if not found in the parent class(es).
This is a mostly clean backport from Godot 4.0.
In the process, the initialization logic is updated to show an error message and gracefully close the engine when setup errors occur.
- m4gr3d
4be7c91cd9
Cherrypick of #58457 in master
Caused by reusing icons from the main editor in the code editor. These
icons were converted based on the main editor theme and not the code
editor theme.
- Create new icons for use specifically in the code editor
- Add these icons to the exceptions when converting dark theme icons
to light theme automatically
- Change the default value of the code folding color to match previous
color
- Code folding icon is now pure white by default to correctly match
the color defined in settings
Also adds a note on the tooltip if the Script is tool.
The color is the same one used on the Script Editor's script list.
(cherry picked from commit ad5ff9f78fe0bab4572085803f224026273fd4aa)
This allows backporting documentation from the `master` branch more easily,
as it already features the `[kbd]` tag.
Co-authored-by: Yuri Sizov <11782833+YuriSizov@users.noreply.github.com>
Redo edited subresource (and resource) saving in a much more simplified way.
I think this should work (unless I am missing something) and be faster than what is there.
It should also supersede #55885.
I am not 100% entirely convinced that this approach works, but I think it should so please test.
(cherry picked from commit 9eb5f2a0d79fb761235e77d369ee2f38fceb094a)
Makes the Perspective menu consistent with the View menu in the 3D
viewport. This allows for quicker inspection of the scene, and makes
missclicks more forgiving.
(cherry picked from commit e3ab344af9839bbe1ffa690093acd9ea7ffde554)
Settings defined in editor plugins are missing (about 100 of them),
but all other settings (about 200 of them) can now be documented in the
EditorSettings class.
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
(cherry picked from commit 63ce655e75e9d46c8b588ff258c3f50d5290c553)