Commit Graph

59045 Commits

Author SHA1 Message Date
Rémi Verschelde 273410ba5a Merge pull request #67139 from PucklaMotzer09/insert_caret_at_carets
Add Caret Insert Below and Above shortcuts to TextEdit
2022-10-31 10:32:07 +01:00
Rémi Verschelde 996f7e5142 Merge pull request #66352 from arkology/progressbar_atlastexture_radial
Support AtlasTexture in radial modes of TextureProgressBar
2022-10-31 10:31:07 +01:00
Haoyu Qiu 3ded27c62d Make Marker3D gizmo resizable 2022-10-31 15:19:48 +08:00
Ignacio Roldán Etcheverry 256c0079b0 Merge pull request #67987 from neikeq/dotnet-more-static-marshaling
C#: Reflection-less delegate callables and nested generic Godot collections
2022-10-31 04:21:13 +01:00
streq de66acc624 clarify [member polygons] functionality in the Polygon2D class documentation 2022-10-30 20:32:36 -03:00
zCubed3 b7f0ab13a4 Fix math utility functions crashing when invalid args passed 2022-10-30 15:18:03 -07:00
kleonc d135957987 SpriteFramesEditor Fix calculating frame index from mouse position 2022-10-30 21:26:58 +01:00
Dave Palais 3d0a9b2bec Remove the usage of pointers in signal call, to fix #67941
The signal was emitted right as the node was being disposed of. Since
the connection was deferred, the receiving method received an already
freed pointer. Instead, we listen to the text_changed signal and keep
record of the edited text which we then use to update node name when
the LineEdit goes out of focus.
2022-10-30 12:50:27 -05:00
Max Hilbrunner aaa931659e Merge pull request #68050 from Anutrix/int-float-docs
Added missing docs to built-in types float and int
2022-10-30 18:48:23 +01:00
Mark Riedesel 5cb07486db Add buffer size check to Image.load_tga_from_buffer(). Fixes #67985 2022-10-30 11:20:50 -05:00
Hei 293ed314fd Fix typo minimize button -> maximize button
Seems like a typo.
2022-10-30 16:28:44 +02:00
kleonc 221a89f2ef Docs Clarify Array.fill behavior when reference type is passed in 2022-10-30 13:42:24 +01:00
Anutrix c9b467ac15 Added missing docs to built-in types float and int 2022-10-30 17:53:59 +05:30
Max Hilbrunner ad3f2a2340 Merge pull request #67945 from Mickeon/doc-consistency-inspector
Doc consistency: tweak "inspector" Vs. "Inspector"
2022-10-30 12:09:47 +01:00
Max Hilbrunner 9fb481334a Merge pull request #68039 from Anutrix/docs-fix-signal-syntax
Fixed signal connection examples to use new callable syntax in the docs
2022-10-30 12:03:37 +01:00
Adam Scott 26f0afdce2 [godot#68001] Fix property getter with custom return type 2022-10-29 20:38:26 -04:00
Anutrix 7984598e33 Fixed signal connection examples to use new callable syntax in the docs 2022-10-30 05:26:46 +05:30
Ignacio Roldán Etcheverry f66a352c0f C#: Add Variant conversion callbacks for generic Godot collections
This allows using generic Godot collections as type arguments for other
generic Godot collections. This also allows generic Godot collections
as parameter or return type in dynamic Callable invocations.
2022-10-30 01:24:15 +02:00
Ignacio Roldán Etcheverry 282bd37e5c C#: Remove need for reflection to invoking callable delegates
We aim to make the C# API reflection-free, mainly for concerns about
performance, and to be able to target NativeAOT in refletion-free mode,
which reduces the binary size.

One of the main usages of reflection still left was the dynamic
invokation of callable delegates, and for some time I wasn't sure
I would find an alternative solution that I'd be happy with.

The new solution uses trampoline functions to invoke the delegates:

```
static void Trampoline(object delegateObj, NativeVariantPtrArgs args, out godot_variant ret)
{
    if (args.Count != 1)
        throw new ArgumentException($"Callable expected 1 arguments but received {args.Count}.");

    string res = ((Func<int, string>)delegateObj)(
        VariantConversionCallbacks.GetToManagedCallback<int>()(args[0])
    );

    ret = VariantConversionCallbacks.GetToVariantCallback<string>()(res);
}

Callable.CreateWithUnsafeTrampoline((int num) => "Foo" + num, &Trampoline);
```

Of course, this is too much boilerplate for user code. To improve this,
the `Callable.From` methods were added. These are overloads that take
`Action` and `Func` delegates, which covers the most common use cases:
lambdas and method groups:

```
// Lambda
Callable.From((int num) => "Foo" + num);

// Method group
string AppendNum(int num) => "Foo" + num;
Callable.From(AppendNum);
```

Unfortunately, due to limitations in the C# language, implicit
conversions from delegates to `Callable` are not supported.

`Callable.From` does not support custom delegates. These should be
uncommon, but the Godot C# API actually uses them for event signals.
As such, the bindings generator was updated to generate trampoline
functions for event signals. It was also optimized to use `Action`
instead of a custom delegate for parameterless signals, which removes
the need for the trampoline functions for those signals.

The change to reflection-free invokation removes one of the last needs
for `ConvertVariantToManagedObjectOfType`. The only remaining usage is
from calling script constructors with parameters from the engine
(`CreateManagedForGodotObjectScriptInstance`). Once that one is made
reflection-free, `ConvertVariantToManagedObjectOfType` can be removed.
2022-10-30 01:24:15 +02:00
Max Hilbrunner f013315980 Merge pull request #67754 from kleonc/tilemap-fix-collision-shapes-debug-draw
Fix `TileMap` collision shapes debug draw
2022-10-30 00:15:42 +02:00
Max Hilbrunner 6ac7afe7a7 Merge pull request #67836 from stevecotton/particles_demo_link
doc: link GPUParticles2D to a more appropriate demo
2022-10-30 00:10:56 +02:00
Max Hilbrunner a889c1d7a2 Merge pull request #67909 from Calinou/doc-enetpacketpeer
Document the ENetPacketPeer class
2022-10-30 00:09:24 +02:00
Max Hilbrunner f3e2f78b21 Merge pull request #67923 from Calinou/doc-displayserver
Document the DisplayServer class
2022-10-30 00:08:50 +02:00
Max Hilbrunner 11d74d606a Merge pull request #67980 from DeeJayLSP/webpcase
Change all WEBP strings and comments to WebP
2022-10-29 19:28:47 +02:00
Haoyu Qiu 877cb1cbc0 Improve dragging scene into 3D viewport
* When there's nothing to collide with:
    * Place the new scene on XZ plane when possible.
    * When the camera does not point toward the XZ plane or the
      intersection is too far away, place the new scene on a plane that
      is in front of the camera and parallel to the frame.
* Fixes positioning when in orthogonal view.
    * Place on physical collision point or the XZ plane when possible.
    * Otherwise, place it on the plane in front of the camera as if the
      camera was perspective.
* Makes use of snap settings when placing the new scene.
2022-10-29 23:34:39 +08:00
Markus Sauermann 35956d9128 Fix event-content and mouse-signals with 3D-capture-on-drag
Fix for 3D-physics processing:
- with enabled input_capture_on_drag now report correct position and
normals in _input_event
- mouse_enter and mouse_exit signals are emitted when the mouse cursor
leaves the visible area of the 3D-object, independently of pressed mouse
button or input_capture_on_drag
- make sure that collision input events are sent in the right order with
respect to mouse_enter and mouse_exit signals
2022-10-29 12:59:46 +02:00
Haoyu Qiu 03bbacfdca Hide axis gizmo after translating 3D nodes 2022-10-29 16:17:28 +08:00
Haoyu Qiu eb5bfe158e Fix type mismatch error when deselecting a 3D gizmo 2022-10-29 15:15:28 +08:00
Haoyu Qiu ca9063fe4e Make Camera3D gizmo clickable 2022-10-29 12:38:21 +08:00
dogboydog 16b35b59d1 set exit code EXIT_FAILURE when --build-solutions fails 2022-10-29 00:37:47 -04:00
Haoyu Qiu 3aed3edc06 Allow selecting SpinBox & LineEdit text when focus enters 2022-10-29 09:58:42 +08:00
Michael Alexsander 4b6e6c6758 Stop centering clicked suggestions in the autocomplete popup 2022-10-28 20:22:28 -03:00
Yuri Rubinsky 11e1bac768 Merge pull request #67112 from Chaosus/fix_boolean_uniform_instances 2022-10-28 23:17:23 +03:00
Clay John 3fa339cfc4 Merge pull request #67849 from kdada/fix-built-in-script-crash
Fix built-in script path of GDScript to prevent crash
2022-10-28 13:04:36 -07:00
Clay John 04ac91f786 Merge pull request #67790 from kdada/fix-flash-window
Make creating window do not flicker when specify custom position
2022-10-28 13:02:58 -07:00
Fabio Alessandrelli 39f3d9d59e [MP] Add MultiplayerPeer disconnect_peer, close.
Update ENet, WebRTC, and WebSocket to support peer disconnection and
unify the close function.
2022-10-28 21:18:01 +02:00
clayjohn 2ec234ff67 Add 2D shadows and canvas SDF to OpenGL3 renderer
This is an initial implementation based on the current RD implementation

Performance will improve later
2022-10-28 11:33:23 -07:00
Clay John 282e50ac88 Merge pull request #67903 from Sauermann/fix-startup-windows-mouse-exit-event
Fix differences between Windows and linuxbsd Display Server
2022-10-28 11:20:36 -07:00
DeeJayLSP dd64ceab47 Change all WEBP strings and comments to WebP 2022-10-28 15:17:49 -03:00
Clay John c2caaff96a Merge pull request #67978 from DeeJayLSP/rename-layered-modes
ResourceImporterLayeredTexture: rename compress modes to match enum
2022-10-28 10:58:37 -07:00
Clay John ada2661a2c Merge pull request #67956 from RedMser/safe-velocity-type
Fix type of `safe_velocity` parameter
2022-10-28 10:57:46 -07:00
Clay John e3b66ff9e3 Merge pull request #67621 from groud/resource_saver_expose_recognize_path
Expose the logic to recognize a save path in ResourceSaver
2022-10-28 10:56:32 -07:00
DeeJayLSP 0619bd44da ResourceImporterLayeredTexture: rename compress modes to match enum 2022-10-28 14:24:32 -03:00
Yuri Rubinsky 999df8cdbf Merge pull request #67974 from Mickeon/spaaaaaaace 2022-10-28 17:40:11 +03:00
Alfred Reinold Baudisch e46e70f8ee Improved TextEdit::add_selection_for_next_occurrence test case
It covers additional selections of different words, as well manually adding a cursor in between and selecting the next occurrence. The previous test also was outdated in regards of not testing the implicit call to `select_word_under_caret` made by `add_selection_for_next_occurrence` in case there's no selection.
2022-10-28 15:35:43 +02:00
Micky 0e0a233859 Fix spacing of few PROPERTY_HINT_ENUM hint_strings 2022-10-28 14:51:26 +02:00
Max Hilbrunner 028db9f2b5 Merge pull request #67914 from Calinou/displayserverx11-no-native-icon
Fix `DisplayServer.has_feature()` claiming X11 has native icon support
2022-10-28 12:46:57 +02:00
Gilles Roudière e23f82f3c1 Expose the logic to recognize a save path in ResourceSaver 2022-10-28 11:15:25 +02:00
Markus Sauermann 4bd601d82a Fix differences between Windows and linuxbsd Display Server
Fix that Windows receive WINDOW_EVENT_MOUSE_EXIT on startup.

When moving the mouse cursor from one window to a different one, make sure that the first window receives the WINDOW_EVENT_MOUSE_EXIT event before the second window receives the WINDOW_EVENT_MOUSE_ENTER event.

Send Mouse-Move events also for Windows, that are currently not focused.

For determining the currently hovered window, consider not just the currently focused window, but also other windows.

Send mouse move events to focused window instead of hovered window.
2022-10-28 09:32:25 +02:00
Yuri Rubinsky 468762b3b7 Merge pull request #67498 from Chaosus/fix_shader_crash 2022-10-28 09:25:07 +03:00