Commit graph

49889 commits

Author SHA1 Message Date
Rémi Verschelde
5efa254964
Merge pull request #67387 from NumbuhFour/cam_vis_layers_shader_var
Implement CAMERA_VISIBLE_LAYERS as built-in shader variable
2022-12-05 00:05:39 +01:00
Rémi Verschelde
92b5e616ae
Merge pull request #69561 from AThousandShips/tree_select_fix
Fix TreeItem::set_as_cursor check
2022-12-05 00:05:23 +01:00
Rémi Verschelde
12775703ba
Merge pull request #69562 from timothyqiu/tileset-editor
Fix heap-use-after-free when exiting editor after editing TileSet
2022-12-05 00:05:17 +01:00
Rémi Verschelde
bb7dbdf1d1
Merge pull request #69312 from RumblingTurtle/double-click-editor-fix
Editor doubleclick jumping in certain positions fix
2022-12-05 00:04:36 +01:00
clayjohn
7bc11b5fe8 Exposure emulated *Unorm4x8 glsl functions in non-android builds
Originally these functions were exposed on all GLSL ES 300 devices. However, that causes a build error as Android devices expose the *Unorm4x8 functions despite them not being in the ES 300 spec
2022-12-04 14:05:14 -08:00
Bastiaan Olij
80824e9858 Fix recurrense issue with setting current origin node 2022-12-05 08:18:51 +11:00
bruvzg
08d7c24ebe
[TextMesh] Fix autotranslate. 2022-12-04 23:04:48 +02:00
Nathan Franke
aef261aa2a
fix aabb errors on meshes with bones on multiple surfaces 2022-12-04 14:40:19 -06:00
bruvzg
889bcff24f
[RTL] Fix search method not taking nested frame and line wraps into account. 2022-12-04 22:11:21 +02:00
David Snopek
5af751bfb7 [opengl] Don't flip render target when blitting it to screen if it wasn't rendered upside down 2022-12-04 14:09:52 -06:00
David Snopek
61cec0b023 Clean up DisplayServerAndroid::window_get_native_handle() with the GLES3 renderer 2022-12-04 13:07:51 -06:00
Hugo Locurcio
e6d8357685
Improve command line help to fit on narrower displays
- Update shell completions to reference recently added CLI arguments.
2022-12-04 19:36:28 +01:00
bruvzg
ecec415988
Use system fonts as fallback and improve system font handling.
Add support for font weight and stretch selection when using system fonts.
Add function to get system fallback font from a font name, style, text, and language code.
Implement system font support for Android.
Use system fonts as a last resort fallback.
2022-12-04 18:44:20 +02:00
kobewi
05993e8a35 Fix dependency reload triggered too early 2022-12-04 17:28:30 +01:00
rune-scape
6f8ffd5591 GDScript: preload should make native type 2022-12-04 05:36:17 -05:00
Ninni Pipping
f90d3554cf Fix TreeItem::set_as_cursor check 2022-12-04 09:57:47 +01:00
Haoyu Qiu
480d9d10ed Fix heap-use-after-free when exiting editor after editing TileSet 2022-12-04 16:52:26 +08:00
Haoyu Qiu
3f2d6f5f6c Add note about GROUP_CALL_UNIQUE not considering arguments 2022-12-04 15:05:59 +08:00
NumbuhFour
1b09fd5410 Implement CAMERA_VISIBLE_LAYERS as built-in shader variable 2022-12-03 22:41:27 -08:00
nyanpasu64
0cbd1c85a9
Fix burning CPU with udev disabled on Flatpak
Fixes #67355.
2022-12-03 20:10:48 -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
Eduard Zalyaev
b663a825a6 Script editor: Fix edge case when double-click incorrectly updates caret position
Fixes #68898.
2022-12-03 15:51:10 +03: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
eacb29c007 Minor tweaks/polish to the navigation controls to prevent interference:
- Reduce controls size
- Enable opacity on hover to increase visibility
2022-12-02 23:17:38 -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