Commit Graph

100 Commits

Author SHA1 Message Date
f058c87868 Backported from godot4: Rework Navigation Avoidance
Rework Navigation Avoidance.
- smix8
a6ac305f96
2023-06-10 20:58:49 +02:00
8b18898609 Backported from godot4: Rework const on NavigationServer methods
`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
2023-06-09 22:03:42 +02:00
0438c3cc3f Backported from godot4: Added node for Navigation links .
- DarkKilauea
3dd59013f4
2023-06-08 20:46:09 +02:00
1af5c4c412 Removed the old NavigationPolygonEditorPlugin. 2023-06-06 23:09:16 +02:00
25078b1437 Ported from godot4: Remove / Replace old Navigation Debug Visualization
- removes / replaces leftovers from old navigation debug code
- cleanes SceneTree and ProjectSettings from old navigation debug
- smix8
d7f75fab60
2023-06-05 18:56:41 +02:00
68b9f4c90e Ported from godot4: Add more detailed Navigation Debug Visualization
- 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
2023-06-05 18:05:15 +02:00
ca982ac507 Ported: Add benchmark logic
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.
2023-05-01 15:32:01 +02:00
Haoyu Qiu
6b51409db3 Fix inconsistent file dialog settings usage 2023-05-01 12:25:23 +02:00
40a9b72afb Ported from godot-plus: Add ability to mute AudioServer.
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
2023-04-10 19:42:23 +02:00
054332ae8d Fix selecting the script editor even if it's not the 3rd in the editor_tables array. 2023-03-19 10:24:21 +01:00
1d5008de07 Ported: Default update_vital_only to true for Android and Web editor
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
2023-03-12 12:54:07 +01:00
6026725f3b Renamed ScriptEditor to EditorScriptEditor. 2023-02-18 16:52:26 +01:00
990f8aaecd Prefix filenames in the editor_script_editor module with editor_. 2023-02-18 16:22:59 +01:00
6e88ad5bae Moved the editor_code_editor module to the editor_modules folder. 2023-02-18 15:45:50 +01:00
a14821587f Renamed the code_editor module to editor_code_editor. 2023-02-18 15:31:58 +01:00
65c91c6899 Moved ScriptEditorPlugin and ScriptEditor out from the editor folder. 2023-02-18 15:08:56 +01:00
e32e63242b Moved ScriptEditor and ScriptEditorPlugin to a new editor subfolder. 2023-02-18 14:36:51 +01:00
4dd84847eb Moved ScriptEditor to it's own file. 2023-02-18 13:22:43 +01:00
7c946c9ba9 Separated shader editor into a new module. 2023-02-18 09:44:05 +01:00
8d7090241a Make sure that the editor can be built even when the new code_editor module is disabled. 2023-02-17 23:20:10 +01:00
1b30a48d65 Move out script editor's initialization from EditorNode. 2023-02-17 21:29:44 +01:00
9cd2927fcc Move the editor's script text editor into the new code_editor module. 2023-02-17 20:57:16 +01:00
2cd4e4d828 Renamed Set to RBSet. 2023-01-15 19:42:08 +01:00
1b0aac6028 Renamed Map to RBMap. 2023-01-15 19:12:50 +01:00
Haoyu Qiu
4a51392d12 Add open scene button in Inspector for PackedScene resource 2022-12-22 14:35:00 +01:00
Marius Hanl
a32008c1ea Update project window title when a project setting was changed
Co-authored-by: Haoyu Qiu <timothyqiu32@gmail.com>
2022-12-11 19:05:02 +01:00
Rémi Verschelde
f3801032b8 Add editor setting for AcceptDialog OK/Cancel buttons positioning
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)
2022-12-11 18:33:23 +01:00
Alfred Reinold Baudisch
1d8716a903 Cast dragged file extension name to lowercase, closes #68104
(cherry picked from commit 07e367cb0b07f02fef92420fde53e05be3d4b247)
2022-11-30 19:21:43 +01:00
Hendrik Brucker
b85a3cbce3 Add Gradient resource preview generator
Co-Authored-By: Haoyu Qiu <timothyqiu32@gmail.com>
2022-11-30 14:51:39 +01:00
Jean-Michel Bernard
52fdae0600 Prevent docks to be reset to first tab when switching dock visibility 2022-11-13 00:52:35 +01:00
829aeda5b1 Remove unused code. 2022-10-11 12:19:37 +02:00
04bc4be35c Remove unused file selector from EditorNode. 2022-10-08 23:36:08 +02:00
48d50bed1d Now menu items can be added to the convert menu in the editor. 2022-10-08 22:32:52 +02:00
ce58de4e2e Added an option to automatically reload or save instead of asking what to do after a file changed outside the editor. 2022-10-04 17:59:33 +02:00
f30076a9f5 Ported: Disable menus and functionality that are not relevant on the Android Editor port - m4gr3d
1f23bac645
2022-09-17 17:36:35 +02:00
6b9e851e5c Ported: Fix issue causing the project manager to crash because of missing path argument
In the process, the initialization logic is updated to show an error message and gracefully close the engine when setup errors occur.
- m4gr3d
4be7c91cd9
2022-09-17 17:27:50 +02:00
reduz
95f8c781e1 Simplify Subresource Saving
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)
2022-09-16 21:23:31 +02:00
b886d14cf5 Added _3d postfix to the end of the World3D related getters and setters in Viewport. 2022-08-29 17:54:41 +02:00
24a1580dbf Renamed the files aswell. 2022-08-29 17:33:10 +02:00
e4ae7f2ebc Renamed Environment to Environment3D, and WorldEnvironment to WorldEnvironment3D. 2022-08-29 17:21:40 +02:00
dc28777321 Moved Skeleton and it's related classes to a module. 2022-08-28 15:46:12 +02:00
b9f3d3b26a Moved Skeleton2D and it's related classes into a module. 2022-08-28 13:57:25 +02:00
bfc1679f14 Actually register EditorInterface, SpatialEditor, CanvasItemEditor, and WebNodeEditor as globals. 2022-08-23 13:21:09 +02:00
8d4e878ff6 Don't treat a hidden main button as an indicator that their editor plugin is disabled. This behavior was used to be a part of editor feature profiles, which I removed a long time ago. 2022-08-20 19:36:33 +02:00
98acdf8270 Now full screen editor plugins have the ability to hide their tab button in the top bar. 2022-08-20 17:20:34 +02:00
bafd6d1d8d Renamed AFTER_GUI_INPUT_DESELECT to AFTER_GUI_INPUT_NO_DESELECT. 2022-08-20 01:01:18 +02:00
e2d42db711 Also renamed the files. 2022-08-19 21:24:36 +02:00
cffe742085 Renamed the VisualServer to RenderringServer like in Godot4, as I think it's a lot better name for it. I did not yet rename the files. 2022-08-19 20:50:20 +02:00
521934ff55 Ported from Godot4: New and improved IK system for Skeleton2D
This PR and commit adds a new IK system for 2D with the Skeleton2D node
that adds several new IK solvers, a way to control bones in a Skeleton2D
node similar to that in Skeleton3D. It also adds additional changes
and functionality.
This work was sponsored by GSoC 2020 and TwistedTwigleg.
Full list of changes:
* Adds a SkeletonModifier2D resource
  * This resource is the base where all IK code is written and executed
  * Has a function for clamping angles, since it is so commonly used
  * Modifiers are unique when duplicated so it works with instancing
* Adds a SkeletonModifierStack2D resource
  * This resource manages a series of SkeletonModification2Ds
  * This is what the Skeleton2D directly interfaces with to make IK possible
* Adds SkeletonModifier2D resources for LookAt, CCDIK, FABRIK, Jiggle, and TwoBoneIK
  * Each modification is in its own file
  * There is also a SkeletonModifier2D resource that acts as a stack for using multiple stacks together
* Adds a PhysicalBone2D node
  * Works similar to the PhysicalBone3D node, but uses a RigidBody2D node
* Changes to Skeleton2D listed below:
  * Skeleton2D now holds a single SkeletonModificationStack2D for IK
  * Skeleton2D now has a local_pose_override, which overrides the Bone2D position similar to how the overrides work in Skeleton3D
* Changes to Bone2D listed below:
  * The default_length property has been changed to length. Length is the length of the bone to its child bone node
  * New bone_angle property, which is the angle the bone has to its first child bone node
  * Bone2D caches its transform when not modified by IK for IK interpolation purposes
  * Bone2D draws its own editor gizmo, though this is stated to change in the future
* Changes to CanvasItemEditor listed below:
  * Bone2D gizmo drawing code removed
  * The 2D IK code is removed. Now Bone2D is the only bone system for 2D
* Transform2D now has a looking_at function for rotating to face a position
* Two new node notifications: NOTIFICATION_EDITOR_PRE_SAVE and NOTIFICATION_EDITOR_POST_SAVE
  * These notifications only are called in the editor right before and after saving a scene
  * Needed for not saving the IK position when executing IK in the editor
* Documentation for all the changes listed above.
- TwistedTwigleg
8aa3c2f091
2022-08-18 18:47:30 +02:00
4c4e19223e Added _theme_ infix to the theme helper methods in Control. 2022-08-17 20:57:16 +02:00