Commit graph

49338 commits

Author SHA1 Message Date
NumbuhFour
1b09fd5410 Implement CAMERA_VISIBLE_LAYERS as built-in shader variable 2022-12-03 22:41:27 -08: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