Commit Graph

49338 Commits

Author SHA1 Message Date
Nathan Franke aef261aa2a fix aabb errors on meshes with bones on multiple surfaces 2022-12-04 14:40:19 -06:00
Rémi Verschelde 015dc492de Merge pull request #69390 from Sauermann/fix-mouse-event-position
Fix incorrect mouse event position while hovering different window
2022-12-03 22:33:12 +01:00
Rémi Verschelde e80356bf3b Merge pull request #69449 from Riteo/x11-dynwrapper
Load X11 dynamically
2022-12-03 21:32:50 +01:00
Rémi Verschelde 82b1cd6753 Merge pull request #62675 from Jummit/tolerant_lookup
Allow drag-clicking before symbol lookup
2022-12-03 21:30:57 +01:00
Riteo 2dd5a792bb Load X11 dynamically
The loaders have been generated through hpvb's dynload-wrapper, although
they had to be heavily handpatched to workaround some already reported
issues with it. I added a note to each generated file to account for
that.

As GLAD uses X11 stuff directly, I had to define the GLAD_GLX_NO_X11
macro to not let do it that, and handle myself the display loading and
screen handling part myself, which wasn't that hard but it's still
something worth saying.

I plan to improve greatly the X11 backend (including this aspect) but,
as the release isn't that far and I'm also working on the Wayland
backend, this will do for now, I hope.
2022-12-03 19:23:43 +01:00
Rémi Verschelde daf168f4c8 Merge pull request #69522 from clayjohn/IBL-black-metal
Allow black metallic materials to reflect IBL
2022-12-03 12:46:30 +01:00
Rémi Verschelde 29ddbfa19a Merge pull request #69514 from clayjohn/IBL-roughness
Properly remap roughness when reading from radiance map
2022-12-03 12:46:25 +01:00
Rémi Verschelde e0f9bc6629 Merge pull request #64312 from KoBeWi/StringNameEdit
Improve usage of StringNames in GraphEdit
2022-12-03 12:45:53 +01:00
Rémi Verschelde 4a262209a1 Merge pull request #69520 from adamscott/fix-missing-parent-class-identifier
Fix missing parent class name identifier crash
2022-12-03 12:45:43 +01:00
Rémi Verschelde b8e5b16506 Merge pull request #69523 from m4gr3d/fix_navigation_control_default_main
Enable the navigation controls for touchscreen by default
2022-12-03 12:45:35 +01:00
Rémi Verschelde 33dd934111 Merge pull request #69239 from xiongyaohua/fix_69220
Fix `Curve3D::get_closest_point()` broken
2022-12-03 12:45:27 +01:00
Rémi Verschelde 8cf1beaea8 Merge pull request #67751 from touilleMan/gdextension-fix-gdnative-types-const-qualifier
Fix const qualifier for parameters in GDExtension api functions
2022-12-03 12:40:23 +01:00
Yaohua Xiong 69f84563a3 Fix Curve3D::get_closest_point() broken
The problem is caused by calling adaptive tessellation baking function by mistake, which produce too few points for straight lines. Calling the even length tessellation fix the problem.

The code for `get_closest_point()` and `get_closest_offset()` are also updated. They used to assume bake interval to be exact, which is no longer true.

The out dated document for `get_closest_point()` is also updated.
2022-12-03 17:01:03 +08:00
Fredia Huya-Kouadio 18b924def7 Enable the navigation controls for touchscreen by default 2022-12-02 20:47:32 -08:00
clayjohn 1e05dd3504 Allow black metallic materials to reflect IBL 2022-12-02 19:54:59 -08:00
Clay John 30800d20f4 Merge pull request #69515 from Error-In-Code/basematerial3d-doc-cleanup
BaseMaterial3D Docs: Fix wrong descriptions on roughness and refraction texture channels
2022-12-02 19:38:15 -08:00
Adam Scott 7bcaa9df9e Fix missing parent class name identifier crash 2022-12-02 21:30:19 -05:00
[Error:27] 2d7793ed4a Make Roughness and Refraction not mention AO
Removes the mentions of ambient occlusion in the descriptions and replaces them with the appropriate texture channel.
2022-12-02 21:03:42 -05:00
clayjohn b2b89d7294 Properly remap roughness when reading from radiance map
This ensures that we consistently use perceptual roughness which matches the behaviour of most other PBR renderers like Blender, Ue4 and Godot 3
2022-12-02 15:39:20 -08:00
Emmanuel Leblond 61c900ac6f Fix const qualifier for parameters in GDExtension api functions 2022-12-02 23:00:01 +01:00
kobewi 5490c22ffb Improve usage of StringNames in GraphEdit 2022-12-02 22:57:23 +01:00
Ignacio Roldán Etcheverry 6f1d4fd887 Merge pull request #69498 from raulsntos/dotnet/float64
C#: Always convert float Variants to System.Double
2022-12-02 20:46:44 +01:00
Raul Santos fbd41a6eda C#: Always convert float Variants to System.Double
Godot floats are always 64-bit.
The real_t feature only affects vectors, not scalars.
2022-12-02 17:04:11 +01:00
Rémi Verschelde f3c68d6c83 Merge pull request #69391 from NeilKleistGao/sln
Fix C# Solution Directory Project Settings
2022-12-02 16:48:30 +01:00
Rémi Verschelde d746b618be Merge pull request #69428 from neikeq/no
C#: Cleanup of Marshaling methods
2022-12-02 16:48:17 +01:00
Rémi Verschelde 92b6991d2f Merge pull request #69484 from akien-mga/scons-gcc-clang-strip-non-debug
SCons: Strip symbol table for builds with `debug_symbols=no`
2022-12-02 16:48:09 +01:00
NeilKleistGao 2bab84c8c7 Fix C# solution directory settings
Co-authored-by: Ignacio Roldán Etcheverry <neikeq@users.noreply.github.com>
2022-12-02 22:01:15 +08:00
Ignacio Roldán Etcheverry 17b2838f39 C#: Cleanup Variant marshaling code in source/bindings generators
This change aims to reduce the number of places that need to be changed
when adding or editing a Godot type to the bindings.

Since the addition of `Variant.From<T>/As<T>` and
`VariantUtils.CreateFrom<T>/ConvertTo<T>`, we can now replace a lot of
the previous code in the bindings generator and the source generators
that specify these conversions for each type manually.

The only exceptions are the generic Godot collections (`Array<T>` and
`Dictionary<TKey, TValue>`) which still use the old version, as that
one cannot be matched by our new conversion methods (limitation in the
language with generics, forcing us to use delegate pointers).

The cleanup applies to:

- Bindings generator:
  - `TypeInterface.cs_variant_to_managed`
  - `TypeInterface.cs_managed_to_variant`
- Source generators:
  - `MarshalUtils.AppendNativeVariantToManagedExpr`
  - `MarshalUtils.AppendManagedToNativeVariantExpr`
  - `MarshalUtils.AppendVariantToManagedExpr`
  - `MarshalUtils.AppendManagedToVariantExpr`
2022-12-02 14:47:12 +01:00
Ignacio Roldán Etcheverry f86c6b6ac4 C#: Replace most conversions between Variant and System.Object
This commit replaces most usages of `ConvertManagedObjectToVariant` and
`ConvertVariantToManagedObjectOfType`, by using the `Godot.Variant`
struct instead of `System.Object`.

The most notable change is to the `GetGodotPropertyDefaultValues` method
that's generated for scripts. The dictionary it returns now stores
`Godot.Variant` values.

Remaining usages are:

- The `DelegateUtils` class, for the serialization of closure display
  classes during assembly reloading by the editor. These display classes
  are compiler generated classes to store values captured by a closure.
  Since it's generated by the compiler, the only way we have to access
  the fields is through reflection. This leads to using `System.Object`.
- Converting parameters when invoking constructors from the engine.
  This will be replaced with source generators in the future.
- Legacy support for old `GetGodotPropertyDefaultValues` return values.
  We need to keep supporting the old version of this generated method
  for some time. Otherwise, if loading a project built with the previous
  version, it could lead to the loss of exported property values.
  Ideally, we should remove this legacy support before a stable release.
2022-12-02 14:47:12 +01:00
Rémi Verschelde 01ae54615e SCons: Strip symbol table for builds with debug_symbols=no
This is equivalent to calling `strip` on the resulting binary, which is what
we do for official builds.

This applies for GCC/Clang.
For MSVC `/DEBUG:NONE` should already be the default.
2022-12-02 13:23:46 +01:00
Rémi Verschelde 7bffdca41c Merge pull request #69380 from bruvzg/mac_max_ws
[macOS] Improve maximized and non-resizable modes handling.
2022-12-02 12:25:25 +01:00
Rémi Verschelde 23c58be800 Merge pull request #69483 from akien-mga/openxr-3d-only
SCons: Disable openxr module with disable_3d=yes
2022-12-02 12:24:58 +01:00
Rémi Verschelde 7ef9947d0e Merge pull request #68870 from dsnopek/master-webxr-input
Get WebXR fully working in Godot 4!
2022-12-02 12:24:40 +01:00
Rémi Verschelde 8c094207a0 Merge pull request #61958 from jtnicholl/animation_connections
Add `animation_changed` signal to `AnimationLibrary`, have `AnimationPlayer` connect to it instead of `Animation`'s `changed`
2022-12-02 12:24:32 +01:00
Rémi Verschelde 10e9a85607 Merge pull request #69336 from TokageItLab/get-anim-keys-more-exactly
Refactor process of animation to retrive keys more exactly
2022-12-02 12:24:24 +01:00
Rémi Verschelde 3ce539cad9 Merge pull request #69475 from bruvzg/rtl_fx_idx
[RichTextEffect] Restore missing `relative_index` property.
2022-12-02 12:24:13 +01:00
Rémi Verschelde e9b67569f7 Merge pull request #69474 from TokageItLab/fix-animation-cache-signal
Fix animation signal `caches_cleared` firing timing
2022-12-02 12:24:06 +01:00
Rémi Verschelde 801080a6ab Merge pull request #69448 from BastiaanOlij/fix_etc_rgba_bgra_issue
ETCPAK expects BGRA data for ETC
2022-12-02 12:23:49 +01:00
Rémi Verschelde 75d5dfe591 SCons: Disable openxr module with disable_3d=yes
Fixes #69470.
2022-12-02 11:40:24 +01:00
bruvzg 0541c746ee [RichTextEffect] Restore missing relative_index property. 2022-12-02 09:50:54 +02:00
Silc Renew 962b6a3e8f Fix animation signal caches_cleared firing timing 2022-12-02 15:02:36 +09:00
David Snopek 310bf39cd3 Get WebXR fully working in Godot 4! 2022-12-01 21:46:30 -06:00
Ignacio Roldán Etcheverry 3afeb28560 C#: Remove ConvertVariantToManagedObject
Its two usages were:

- The Array `ICollection.CopyTo` implementation.
  It's possible that this class shouldn't be implementing the
  non-generic `ICollection`, but this commit doesn't change that.
  The new implementation stores the elements as boxed `Variant` values.
- The `Variant.Obj` property.
  I'm not sure if this property's existence is justified, but for now
  I rewrote it as a simpler version of `ConvertVariantToManagedObject`.
2022-12-02 03:34:40 +01:00
Ignacio Roldán Etcheverry bcc061edae Merge pull request #67023 from raulsntos/dotnet/fix-signal-callback-generation
C#: Fix signature of generated signal callbacks
2022-12-02 03:19:49 +01:00
Yuri Sizov bf9cf7d034 Merge pull request #69166 from souplamp/icon-annotation-not-working
Update docs to clarify `@icon` only works with global script classes
2022-12-02 03:04:23 +03:00
Rémi Verschelde 1bd7b0b269 Merge pull request #69430 from Rindbee/fix-clip-contents
Fix child nodes still being drawn when the visible area of a control with `clip_contents` enabled is `0`
2022-12-01 23:55:18 +01:00
Rémi Verschelde d47daf0187 Merge pull request #69344 from DeeJayLSP/update_thorvg
Update thorvg to 0.8.3
2022-12-01 23:51:33 +01:00
Rémi Verschelde 8177e5d7de Merge pull request #69325 from clayjohn/GLES3-skeletons
Add Skeletons and Blend Shapes to the OpenGL renderer
2022-12-01 23:22:42 +01:00
souplamp 369c7d2422 Update docs to mention @icon only works with global script classes
Update the docs to clarify that the `@icon` annotation does not work
when only attaching a script to a node, and clarify that the script itself
must be a globally accessible script type.
2022-12-01 12:52:58 -06:00
Rémi Verschelde 1e3919c409 Merge pull request #69364 from m4gr3d/add_navigation_controls_main
Add navigation control to the node3d editor viewport
2022-12-01 18:11:14 +01:00