Commit graph

7910 commits

Author SHA1 Message Date
Rémi Verschelde
f5b2d7d393
Merge pull request #79774 from aaronfranke/scene-import-root-type-name
Improve overriding the root type or root name in the scene importer
2023-08-02 12:19:34 +02:00
Rémi Verschelde
d8cbb6d645
Merge pull request #79563 from danny88881/drag-and-drop-text-setting
Add drag'n'drop text option for `LineEdit` and `RichTextLabel`
2023-08-02 12:17:56 +02:00
Rémi Verschelde
2a9aaae8a5
Merge pull request #79293 from ItsNL/add-accept-dialog-close-on-unfocused
Check `FLAG_POPUP` to close an AcceptDialog when parent is focused
2023-08-02 12:17:06 +02:00
Rémi Verschelde
df616c9a17
Merge pull request #69816 from Mickeon/doc-peeves-rect2m
Overhaul Rect2 & Rect2i Documentation
2023-08-02 12:14:53 +02:00
Micky
69146f6b30 Overlay bool documentation 2023-08-02 09:54:20 +02:00
Aaron Franke
aa187d8d69
Improve overriding the root type or root name in the scene importer 2023-08-01 13:30:57 -05:00
Micky
ce95c83622 Overhaul Rect2 & Rect2i Documentation 2023-08-01 20:08:43 +02:00
Yuri Sizov
f37d192860 Merge pull request #80109 from timothyqiu/not-markdown
Fix invalid use of markdown syntax in classref
2023-08-01 20:04:00 +02:00
Yuri Sizov
defaac6058 Merge pull request #67791 from Sauermann/fix-visual-mouse-notifications
Refactor mouse_entered and mouse_exited signals
2023-08-01 20:03:33 +02:00
Yuri Sizov
f4b6bc0913 Merge pull request #79962 from viksl/update-tween-docs
Update C# example of `tween_method` with a parameter to the lambda method
2023-08-01 17:25:48 +02:00
Yuri Sizov
cc1ee3e599 Merge pull request #79911 from BastiaanOlij/fix_barrier_breakage
Add exceptions for breakage introduced in RD barriers
2023-08-01 17:25:40 +02:00
Yuri Sizov
1c40263665 Merge pull request #79606 from clayjohn/ShaderRD-compilation-groups
Shader rd compilation groups
2023-08-01 17:25:16 +02:00
Haoyu Qiu
c4b5161ed1 Fix invalid use of markdown syntax in classref
Also:
* changed `[b]true[/b]` to `[code]true[/code]`
* use `[i]` for mathematical constant "e"
* use `[b]` for button text & menu item text
* improve markups about "tap1" and "tap2" in AudioEffectDelay
2023-08-01 22:44:31 +08:00
Markus Sauermann
1c3c17c608 Refactor mouse_entered and mouse_exited notifications
The previous implementation for signals mouse_entered and mouse_exited
had shortcomings that relate to focused windows and pressed mouse buttons.
For example a Control can be hovered by mouse, even if it is occluded by
an embedded window.

This patch changes the behavior, so that Control and Viewport send
their mouse-enter/exit-notifications based solely on mouse position,
visible area, and input restrictions and not on which window has
focus or which mouse buttons are pressed. This implicitly also
changes when the mouse_entered and mouse_exited signals are sent.

This functionality can not be implemented as a part of
Viewport::_gui_input_event, because of its interplay with Windows and
because Viewport::_gui_input_event is based on input and not on
visibility.
2023-08-01 13:28:49 +02:00
Marcin Nowak
34ab1c8a36 Implement loading DDS textures at run-time 2023-07-31 21:31:26 +02:00
Yuri Sizov
dcd187da95 Merge pull request #80066 from timothyqiu/no-pun-intended
Avoid punning `[param enabled]` in documentation
2023-07-31 21:01:50 +02:00
Yuri Sizov
3de7dd902c Merge pull request #79880 from dalexeev/gds-fix-id-shadowing-below
GDScript: Fix bug with identifier shadowed below in current scope
2023-07-31 21:01:36 +02:00
Yuri Sizov
79d3468246 Merge pull request #79696 from reduz/call-on-render-thread
Add ability to call code on rendering thread
2023-07-31 21:01:21 +02:00
Haoyu Qiu
f3dc1bc7c2 Avoid punning [param enabled] in documentation 2023-07-31 00:31:23 +08:00
viksl
45b757e5df Update C# example of tween_method in Tween class with a parameter to the lambda method 2023-07-28 13:46:33 +02:00
detomon
d275a7487d Initialize MSDF parameters in BaseMaterial3D with default 2023-07-28 13:24:44 +02:00
Bastiaan Olij
10f796dae3 Add exceptions for breakage introduced in RD barriers and prevent future breakage 2023-07-28 14:21:34 +10:00
Yuri Sizov
da81ca62a5
Merge pull request #79405 from Calinou/doc-import-options
Fill in descriptions for import options in the class reference
2023-07-27 20:32:04 +02:00
Hugo Locurcio
bc58a8a34e Fill in descriptions for import options in the class reference 2023-07-27 19:18:27 +02:00
Yuri Sizov
6c11fcd01a
Merge pull request #74717 from KoBeWi/tilesetmap_handler_plugin
Add separate editor plugin for TileMap and TileSet
2023-07-27 19:11:37 +02:00
Yuri Sizov
7a9a0dc51f Merge pull request #79934 from Sauermann/fix-mousefilter-doc
Add note about mouse movement input events in `MouseFilter` constants
2023-07-27 15:22:50 +02:00
Yuri Sizov
1fe49e7271 Merge pull request #79142 from BastiaanOlij/register_render_buffers
Expose RenderSceneBuffers(RD) through ClassDB
2023-07-27 15:22:27 +02:00
Yuri Sizov
37c3e2e55b Merge pull request #68259 from konczg/openxr_extension_wrapper_gdextension
Add GDExtension support for OpenXR extension wrappers
2023-07-27 15:22:22 +02:00
Yuri Sizov
0c2399d6ec Merge pull request #63826 from deakcor/dev_clipboard
Add `clipboard_has/get_image` methods to DisplayServer
2023-07-27 15:22:16 +02:00
Yuri Sizov
41a7f6b380
Merge pull request #77537 from henriquelalves/feature/ei_save_all_scenes
Expose `save_all_scenes` method to EditorInterface
2023-07-26 23:43:08 +02:00
Markus Sauermann
3330f2cf2f Add note about mouse movement input events in MouseFilter constants 2023-07-26 19:33:40 +02:00
Yuri Sizov
e25a368133 Merge pull request #79401 from smix8/navagent_desc_4.x
Add detail to NavigationAgent signal descriptions
2023-07-26 18:40:10 +02:00
Yuri Sizov
d49ea2b7d8 Merge pull request #79288 from BastiaanOlij/custom_texture_api
Add custom texture create function
2023-07-26 18:40:01 +02:00
Yuri Sizov
67873d0d5d Merge pull request #79248 from Sauermann/fix-svc-focus-propagation
Make `SubViewportContainer` event propagation aware of focused Control
2023-07-26 18:39:57 +02:00
Yuri Sizov
6f6f7db911 Merge pull request #79129 from smix8/navbase_enabled_4.x
Add NavigationServer API to enable regions and links
2023-07-26 18:39:47 +02:00
Yuri Sizov
e8df8c5e2c Merge pull request #78988 from RandomShaper/fix_change_scene
Reimplement scene change
2023-07-26 18:39:43 +02:00
Yuri Sizov
c4e582262f Merge pull request #76582 from reduz/threaded-debugger
Support threads in the script debugger
2023-07-26 18:39:16 +02:00
Yuri Sizov
1ad95f27ab Merge pull request #72664 from paddy-exe/additional-vs-nodes
Add more useful Visual Shader nodes
2023-07-26 18:39:12 +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
ec24d50469 Add separate editor plugin for TileMap and TileSet 2023-07-26 17:23:41 +02:00
Bastiaan Olij
4874b96033 Expose RenderingSceneBuffers through ClassDB 2023-07-26 23:48:30 +10:00
Bastiaan Olij
63d6e9c557 Add custom texture create function 2023-07-26 20:46:34 +10:00
Juan Linietsky
c7fb6cea3d Add ability to call code on rendering thread
As more users use compute in Godot 4, the way they do is most likely incompatible when running
on separate threads and will start erroring soon as we improve the thread safety of the render thread.

To properly run code on the render thread, this function was added. Use like this:

```GDScript

func initialize_compute_code():
	....

func update_compute_code(custom_data):
	...

func _ready():
	RenderingServer.call_on_render_thread( initialize_compute_code )

func _process():
	RenderingServer.call_on_render_thread( update_compute_code.bind(with_data) )

```
2023-07-26 12:28:00 +02:00
Juan Linietsky
5e512b705e Support threads in the script debugger
* 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.
2023-07-26 12:06:45 +02:00
Gabor Koncz
d600e6eb1b Add GDExtension support for OpenXR extension wrappers
This commit adds the classes OpenXRExtensionWrapperExtension and OpenXRAPIExtension
that can be used in GDExtensions to define OpenXR extension wrappers.
It modifies extension wrapper registration so that they can be registered
before OpenXRAPI instantiation (e.g. in core level initialization of GDExtensions).

Developed by Migeran (https://migeran.com)
2023-07-26 10:27:14 +02:00
Danil Alexeev
d53fc92b4c
GDScript: Fix bug with identifier shadowed below in current scope 2023-07-26 11:26:57 +03:00
smix8
69fad39cf5 Add NavigationServer API to enable regions and links
Adds NavigationServer API to enable regions and links.
2023-07-26 01:20:15 +02:00
Patrick
65b0989f68 Additional Visual Shader Nodes
* RotationByAxis Visual Shader Node added
* WorldPositionFromDepth Visual Shader Node added
* ScreenNormalWorldSpace Visual Shader Node added
2023-07-26 00:39:12 +02:00
smix8
99e70ab6ef Add detail to NavigationAgent signal descriptions
Adds detail to NavigationAgent signal descriptions.
2023-07-25 23:35:03 +02:00
Yuri Sizov
a581bf0a24 Merge pull request #79879 from KoBeWi/the_tweenld
Improve and clarify paused Tweens
2023-07-25 21:51:35 +02:00
Yuri Sizov
9d118c28b4 Merge pull request #79794 from DarthKitten2130/master
Update outdated C# code sample in `AStarGrid2D` documentation
2023-07-25 21:26:20 +02:00
Yuri Sizov
ee1be950a1 Merge pull request #79786 from smix8/navmesh_max_edge_len_4.x
Disable NavigationMesh `edge_max_length` property by default
2023-07-25 21:26:16 +02:00
Yuri Sizov
8ba8b9581a Merge pull request #79764 from kulkalkul/fix_docs_set_multiplayer_authority_propagate
Clarify `set_multiplayer_authority` documentation regarding propagation
2023-07-25 21:26:13 +02:00
Yuri Sizov
d60f42a64e Merge pull request #79720 from clayjohn/Particles-emitting-docs
Add detail to emitting docs for particles
2023-07-25 21:26:06 +02:00
Yuri Sizov
4b0d1026af Merge pull request #78365 from smix8/ps_navmap_default_up_4.x
Add ProjectSettings navigation map default up
2023-07-25 21:25:50 +02:00
kobewi
dbecf8bd1a Improve and clarify paused Tweens 2023-07-25 13:29:30 +02:00
Yuri Sizov
bec47cdbbc Merge pull request #79846 from Faless/web/no_body_length
[Web] Always return -1 as body length in HTTPClientWeb
2023-07-24 19:33:48 +02:00
Yuri Sizov
3ca4943fdc Merge pull request #79781 from AThousandShips/doc_dim_fix
Fix some mixups between 2D/3D in documentation
2023-07-24 19:33:31 +02:00
Yuri Sizov
9199649c40 Merge pull request #79656 from josefalanga/master
Clarify when the `changed` signal is emitted for `Resource` and `Material`
2023-07-24 19:33:01 +02:00
Yuri Sizov
2f4c962929 Merge pull request #79434 from Calinou/2d-editor-allow-float-bone-size
Allow using floating-point bone sizes and outline widths in the 2D editor
2023-07-24 19:32:42 +02:00
Yuri Sizov
fb2c3ae8f7 Merge pull request #79308 from Geometror/refactor-graphedit
Clean up/refactor GraphEdit
2023-07-24 19:32:33 +02:00
Yuri Sizov
52078dc994 Merge pull request #79157 from smix8/navmesh_clear_4.x
Add `clear` function to NavigationMesh / NavigationPolygon
2023-07-24 19:32:24 +02:00
Yuri Sizov
c3727c35d1 Merge pull request #74382 from RedMser/feature-profile-api
Allow changing feature profile via `EditorInterface`
2023-07-24 19:32:16 +02:00
Yuri Sizov
2bd904e3db Merge pull request #73196 from Vilcrow/fix-lookup-symbol
Fix jumping to function definition using `Ctrl+LMB` or the "Lookup Symbol" button
2023-07-24 19:32:12 +02:00
RedMser
8e0e81ced3 Allow changing feature profile via EditorInterface 2023-07-24 18:46:36 +02:00
Hendrik Brucker
a38fd09669 Clean up/refactor GraphEdit 2023-07-24 18:37:23 +02:00
Yuri Sizov
91258e52be
Merge pull request #79307 from Geometror/remove-graph-node-comment
Remove GraphNode's comment property and related functionality
2023-07-24 16:56:41 +02:00
Jose Falanga
bf62fb059c Clarify when the changed signal is emitted for Resource and ShaderMaterial 2023-07-24 10:31:57 -03:00
Fabio Alessandrelli
f4713d235a [Web] Always return -1 as body length in HTTPClientWeb.
Body length cannot be reliably retrieved from the web.
Reading the "content-length" value will return a meaningless value when
the response is compressed, as reading will return uncompressed chunks
in any case, resulting in a mismatch between the detected body size and
the actual size returned by repeatedly calling read_response_body_chunk.

Additionally, while "content-length" is considered a safe CORS header,
"content-encoding" is not, so using the "content-encoding" to decide if
"content-length" is meaningful is not an option either.

We simply must accept the fact that browsers are awful when it comes to
networking APIs.
2023-07-24 08:57:02 +02:00
Ninni Pipping
7512d88e22 Fix some mixups between 2D/3D in documentation 2023-07-23 09:02:52 +02:00
Sathvik Mulukutla
5b3f14cc82
Updated Deprecated Method in C# Example Size to Region 2023-07-22 22:04:38 +05:30
smix8
c63125c317 Disable NavigationMesh edge_max_length property by default
Disables NavigationMesh edge_max_length property by default.
2023-07-22 14:09:15 +02:00
Bora
7280d1d4f0 Fix docs set_multiplayer_authority on propagation 2023-07-22 00:24:40 +03:00
Yuri Sizov
6588a4a29a Merge pull request #79661 from sepTN/fix-typo-batch
Fix many typos in documentation
2023-07-21 17:55:06 +02:00
Yuri Sizov
818d90f1e5 Merge pull request #79353 from sepTN/fix-docs-for-consistency
Fix documentation for consistency
2023-07-21 17:54:26 +02:00
Yuri Sizov
ac0204b201 Merge pull request #78328 from groud/tilemap_layers_as_another_class
Move TileMap layers to their own class
2023-07-21 17:15:18 +02:00
clayjohn
e970f5249c Add Shader compile groups to RD Shader system
This allows us to specify a subset of variants to compile at load time and conditionally other variants later.

This works seamlessly with shader caching.

Needed to ensure that users only pay the cost for variants they use
2023-07-21 16:42:30 +02:00
clayjohn
e52e46036e Add detail to emitting docs for particles
Highlight when emitting will and won't restart emission
2023-07-21 11:43:03 +02:00
Gilles Roudière
d6379e9a93 Move TileMap layers to their own class 2023-07-20 17:23:38 +02:00
Yuri Roubinski
01101134f4 Make the dragging connections more user-friendly in visual shaders 2023-07-20 15:00:19 +03:00
unknown
cfe98c57b9 Add drag and drop option for line edit and rich text label 2023-07-19 22:18:34 -04:00
Henrique Alves
8ef2e3d76c Add save_all_scenes method to Editor Interface
Update documentation

(squash) fix docs

(squash) Improve docs
2023-07-19 18:05:15 +03:00
NL
a77d8b3eb5 Check FLAG_POPUP to close an AcceptDialog when parent is focused 2023-07-19 16:06:02 +02:00
Septian
2857b91385 Fix many typos in documentation 2023-07-19 19:56:06 +07:00
Yuri Sizov
8f175a8649
Merge pull request #78958 from m4gr3d/refactor_android_plugin_packaging_main
Re-architect how Android plugins are packaged and handled at export time
2023-07-18 20:47:41 +02:00
Fredia Huya-Kouadio
d17811c814 Re-architect how Android plugins are packaged and handled at export time
The previous packaging format for Godot Android plugins consisted of the plugin's `gdap` config file accompanied by binaries defined in the `gdap` file.
This format is now deprecated (starting with Godot 4.2), and instead Godot Android plugins are now packaged as `EditorExportPlugin` plugins.

The `EditorExportPlugin` class has been updated with the following methods to provide the necessary set of functionality:
- `_supports_platform`: returns true if the plugin supports the given platform
- `_get_android_dependencies`: retrieve the set of android dependencies (e.g: `org.godot.example:my-plugin:0.0.0`) provided by the plugin
- `_get_android_dependencies_maven_repos`: retrieve the urls of the maven repos for the provided android dependencies
- `_get_android_libraries`: retrieve the local paths of the android libraries (AAR files) provided by the plugin
- `_get_android_manifest_activity_element_contents`: update the contents of the `<activity>` element in the generated Android manifest
- `_get_android_manifest_application_element_contents`: update the contents of the `<application>` element in the generated Android manifest
- `_get_android_manifest_element_contents`: update the contents of the `<manifest>` element in the generated Android manifest
2023-07-18 19:14:53 +02:00
Yuri Sizov
e8aa8c17d2
Merge pull request #79574 from bruvzg/win_nat_d
[Windows] Implement native file selection dialog support.
2023-07-18 19:04:40 +02:00
bruvzg
d3ca91ad6a [Windows] Implement native file selection dialog support. 2023-07-18 17:23:58 +03:00
kobewi
b883f32188 Check for unsaved changes when closing a scene 2023-07-18 14:27:56 +02:00
kobewi
6dc5dc3479 Add _get_unsaved_status() method to EditorPlugin 2023-07-18 14:18:36 +02:00
Yuri Sizov
d70488892c Merge pull request #79483 from smix8/nav2d_pj_props_4.x
Change 2D navigation ProjectSettings from integers to floats
2023-07-18 13:15:23 +02:00
Vincent D
c13e3a9fb0 add clipboard get image methods for windows and macos
Co-Authored-By: RedworkDE <10944644+RedworkDE@users.noreply.github.com>
Co-Authored-By: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-07-17 23:47:27 +02:00
Markus Sauermann
e6386bc843 Make SubViewportContainer event propagation aware of focused Control
Propagate `InputEvents` without position either
- during the Input-stage, when it has focus or
- during the Unhandled-Input-stage, otherwise

This makes sure that Gui-Input happens in the correct order.

Move "Unhandled key Input" handling before "Unhandled Input" handling,
so that Unicode input with Alt / Ctrl modifiers are sent to the nodes
in the correct order.

Change the default focus mode of `SubViewportContainer` from
`FOCUS_NONE` to `FOCUS_CLICK`, to automatically remove focus from
other `Control`-nodes, when clicking inside a `SubViewport`.
2023-07-17 22:38:35 +02:00
kobewi
de4a3fa151 Unify and streamline connecting to Resource changes 2023-07-17 19:35:57 +02:00
Yuri Sizov
3d04a22d7c
Merge pull request #79103 from AThousandShips/array_slice_range
Fix range error for `Array.slice`
2023-07-17 16:48:48 +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
Hugo Locurcio
5e117ee7bf
Skip keyframe creation dialog when holding Shift in the animation editor
The editor setting to always bypass the confirmation dialog was removed,
since the new shortcut effectively supersedes it in a more granular way.
2023-07-17 12:09:32 +02:00
Yuri Roubinski
5f56aa88f8 Add the fill region methods to the AStarGrid2D 2023-07-15 16:52:29 +03:00
Bastiaan Olij
a22f495a3c Split raster barrier into vertex and fragment barrier 2023-07-15 12:30:32 +10:00
smix8
2852fb43f7 Change 2D navigation ProjectSettings from integers to floats
Changes 2D navigation ProjectSettings from integers to floats.
2023-07-14 22:36:06 +02:00