Commit graph

9570 commits

Author SHA1 Message Date
A Thousand Ships
034c0f1624 Replace sanity with safety for checks 2023-10-08 16:22:24 +02:00
Thaddeus Crews
d5d5af653e
C# - Fix inheritdoc links in Compat.cs 2023-10-08 09:14:28 -05:00
Omar Shehata
c25a2d832b Fix external editor hot reload 2023-10-07 22:14:54 -04:00
George Marques
4a7d49a89a
GDScript: Replace ptrcalls on MethodBind to validated calls
This improves the performance of typed calls to engine methods when the
argument types are exact.

Using validated calls delegate more of the work the core instead of
doing argument unpacking in the VM. It also does not need different
instructions for each return type, simplifying the code.
2023-10-06 11:15:44 -03:00
Rémi Verschelde
7f8c3124a8
Merge pull request #82752 from decacis/openxr_swapchain_error
OpenXR - Properly skip frame render when the XR runtime is not yet ready to let us acquire the next image from the swapchain
2023-10-06 12:52:52 +02:00
Rémi Verschelde
373c4b22d3
Fix various typos with codespell
Using 2.2.7.dev5+g2af65969.
2023-10-06 12:52:22 +02:00
Rémi Verschelde
1edf0f35b1
Merge pull request #82326 from adeneve/gdscript_dict_highlighter_fix
Fix for GDScriptHighlighter dictionaries as function arguments
2023-10-05 22:49:47 +02:00
Andrew de Neve
978fcaf1b4 Fix for gdscript_highlighter dictionaries as arguments
Fix for gdscript_highlighter. When passing a dictionary
as a function argument, the dictionary values were being
highlighted green as if they were types.
2023-10-05 12:38:39 -07:00
clayjohn
51ed3aef63 Vertex and attribute compression to reduce the size of the vertex format.
This allows Godot to automatically compress meshes to save a lot of bandwidth.

In general, this requires no interaction from the user and should result in
no noticable quality loss.

This scheme is not backwards compatible, so we have provided an upgrade
mechanism, and a mesh versioning mechanism.

Existing meshes can still be used as a result, but users can get a
performance boost by reimporting assets.
2023-10-05 12:02:23 -06:00
Rémi Verschelde
cd7c50fdf1
Merge pull request #82843 from dalexeev/gds-export-node-only-in-nodes
GDScript: Add error when exporting node in non `Node`-derived classes
2023-10-05 16:33:04 +02:00
Danil Alexeev
9e2273abc7
GDScript: Add error when exporting node in non [Node]-derived classes 2023-10-05 13:50:26 +03:00
kobewi
09b30be86d Add vararg call() method to C++ Callable 2023-10-05 11:35:29 +02:00
Rémi Verschelde
7c1abe8599
Merge pull request #82789 from dalexeev/gds-fix-unresolved-type-for-incomplete-bin-op
GDScript: Fix unresolved datatype for incomplete binary operator
2023-10-05 10:10:33 +02:00
Rémi Verschelde
a05c800a56
Merge pull request #82784 from dalexeev/gds-fix-empty-native-class
GDScript: Fix `native_type` is empty for autoload without script
2023-10-05 10:10:09 +02:00
Rémi Verschelde
5cee7b0264
Merge pull request #82767 from dalexeev/core-make-object-has-method-virtual
Core: Fix `Object::has_method()` for script static methods
2023-10-05 10:09:45 +02:00
Rémi Verschelde
5c26550b86
Merge pull request #82715 from BastiaanOlij/openxr_hand_joint_validity_flags
OpenXR - add access to hand joint validity flags
2023-10-05 10:09:22 +02:00
Rémi Verschelde
b9bf46de9e
Merge pull request #82067 from dalexeev/gds-docgen-fix-metatypes-and-values
GDScript DocGen: Fix and improve appearance of metatypes and values
2023-10-05 10:07:43 +02:00
Daniel Castellanos
771ec958af Fixing incorrect swapchain release timing
Applied a couple of checks suggested by @dhoverml for when the
XrResult is not XR_SUCCESS but is also not a failure. Also simplified
checks from @BastiaanOlij feedback.
2023-10-05 01:34:51 -06:00
Bastiaan Olij
50693a5420 OpenXR - add access to hand joint validity flags 2023-10-05 13:37:26 +11:00
Danil Alexeev
ed0b3c08e1
Core: Fix Object::has_method() for script static methods 2023-10-04 19:44:32 +03:00
Danil Alexeev
2c5636c135
GDScript: Fix unresolved datatype for incomplete binary operator 2023-10-04 17:07:37 +03:00
Rémi Verschelde
bfd78bb917
Merge pull request #82779 from emacser0/typo
Fix some typos in source
2023-10-04 15:46:29 +02:00
Rémi Verschelde
46b8f4a859
Merge pull request #82740 from raulsntos/dotnet/compat4.2
Add C# compat members for 4.2 changes
2023-10-04 15:44:05 +02:00
Rémi Verschelde
d7bca20359
Merge pull request #82722 from BastiaanOlij/openxr_fix_hand_tracking_issues
OpenXR: Fix small hand tracking issues
2023-10-04 15:43:18 +02:00
Rémi Verschelde
1e544505be
Merge pull request #82691 from YuriSizov/rst-validate-with-exceptions
Validate `code` tags for class and member references
2023-10-04 15:42:42 +02:00
Rémi Verschelde
a874344938
Merge pull request #82683 from raulsntos/dotnet/fix-transient-parent-or-something-idk
Fix C# editor dialogs
2023-10-04 15:36:47 +02:00
Danil Alexeev
6767de9b69
GDScript: Fix native_type is empty for autoload without script 2023-10-04 16:09:18 +03:00
emacser0
4c65ff52e4 Fix some typos in source. 2023-10-04 19:55:11 +09:00
Bastiaan Olij
c60ef33175 OpenXR Fix small hand tracking issues 2023-10-04 13:18:31 +11:00
Raul Santos
1dbecc3ff1
Add C# compat members for 4.2 changes 2023-10-03 19:34:39 +02:00
Rémi Verschelde
3a5d524287
Merge pull request #82614 from m4gr3d/openxr_eye_gaze_interaction
Add support for the OpenXR Eye gaze interaction extension
2023-10-03 17:25:52 +02:00
Rémi Verschelde
e41582f42f
Merge pull request #82547 from dalexeev/gds-fix-unsafe-call-arg-variant-constructors
GDScript: Fix `UNSAFE_CALL_ARGUMENT` warning for `Variant` constructors
2023-10-03 17:25:28 +02:00
Rémi Verschelde
2af3229ce7
Merge pull request #82516 from dalexeev/gds-improve-hl-types
GDScript: Improve highlighting of types
2023-10-03 17:24:32 +02:00
Rémi Verschelde
9af1983af2
Merge pull request #82475 from bruvzg/ts_spacing_var
[TextServer] Store font extra spacing variations without making a full copy of font.
2023-10-03 17:23:43 +02:00
Rémi Verschelde
6de06138c0
Merge pull request #79425 from vnen/gdscript-load-classes-for-debug-tests
GDScript: Load global classes when running debug tests
2023-10-03 17:11:01 +02:00
Danil Alexeev
e750c59cf8
GDScript: Improve highlighting of types 2023-10-03 17:32:27 +03:00
Yuri Sizov
cc0eebd9d8 Validate code tags for class and member references
This commit also adds means to manually disable warnings
in `code` tags where it's a false positive with the new
`skip-lint` attribute.

Warnings are now enabled on CI to prevent future errors.
2023-10-03 15:48:31 +02:00
Bastiaan Olij
9e56e7a3ce Add support for the OpenXR Eye gaze interaction extension
Co-authored-by: Bastiaan Olij <mux213@gmail.com>
2023-10-02 14:02:23 -07:00
Raul Santos
404fd0b2dc
Fix C# editor dialogs
- Use `EditorInterface` to open C# editor dialogs.
- Ensure C# editor dialogs are open after `EditorProgress` finishes.
2023-10-02 17:50:33 +02:00
Jakub Janšta
74c937079c Add type_string() utility 2023-10-02 17:41:20 +02:00
Rémi Verschelde
6bebd9c961
Merge pull request #82664 from hackerzhuli/master
Fixed an error in `Vector3.BezierDerivative` in mono module
2023-10-02 13:17:02 +02:00
Rémi Verschelde
3cf17679ca
Merge pull request #81194 from rcorre/blend-import-76338
Update blender export flags for 3.6.
2023-10-02 13:16:11 +02:00
Rémi Verschelde
e95b7e84a4
Merge pull request #80844 from dalexeev/fix-callable-expected-argc
Fix expected argument count for `Callable` call errors
2023-10-02 13:15:53 +02:00
Rémi Verschelde
7588e3ff0d
Merge pull request #80225 from ettiSurreal/rotate-toward
Add `rotate_toward` and `angle_difference` methods.
2023-10-02 13:15:49 +02:00
朱力
bceba81b54 Fixed an error in Vector3.BezierDerivative in mono module 2023-10-02 15:00:05 +08:00
etti
3a39de4e2f Add rotate_toward and angle_difference to GDScript and C# 2023-10-01 22:19:42 +02:00
Ithamar R. Adema
36ff0591f2 Add build option for MP1/MP2 audio format support.
Enabling this adds 3.5k to the template size (Win/64bits).

Co-authored-by: Riteo <riteo@posteo.net>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-09-30 21:46:59 +02:00
Ryan Roden-Corrent
7e64c6c399
Update blender export flags for 3.6.
Fixes #76338.

Blender 3.6 imports fail with:

```
TypeError: Converting py args to operator properties: : keyword "export_nla_strips" unrecognized
```

The `export_nla_strips` flag was removed and replaced with `export_animation_mode`.
In 3.6.0-3.6.21, this option does not exist at all and causes the failure above.
In 3.6.22, this option was re-added, but does nothing.
See 96a73cb664.

We now need to check the blender version to determine what flags to use.
This adds an additional shell command before every import.
We might consider caching the version, but we'd have to invalidate the cache if the blender version or path changes.

As an aside, the "group animations" setting in Godot does the opposite of what I'd expect.
When `group_tracks=true`, each animation is exported individually.
When `group_tracks=false`, all animations are exported as a single track.
This seems backwards, but I've kept the 3.6 behavior consistent with 3.5.

From https://docs.blender.org/api/3.6/bpy.ops.export_scene.html:

> ACTIONS Actions – Export actions (actives and on NLA tracks) as separate animations.
> ACTIVE_ACTIONS Active actions merged – All the currently assigned actions become one glTF animation.

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-09-30 11:32:21 -04:00
Danil Alexeev
ba96d4f631
GDScript: Fix UNSAFE_CALL_ARGUMENT warning for Variant constructors 2023-09-30 13:57:09 +03:00
Rémi Verschelde
2566cbec5c
Merge pull request #82542 from capnm/update_godot4.2_tip_from_0.10.7_revision_to_thorvg_0.11.0_release
ThorVG: update to v0.11.0 release.
2023-09-30 11:03:32 +02:00
Martin Capitanio
aab650f2ef ThorVG: update to v0.11.0 release.
See https://github.com/thorvg/thorvg/releases/tag/v0.11.0

+ Infrastructure
    Repository folder structure was make it more intuitive and coherent.
        "thorvg/src/lib" -> "thorvg/src/common"
            (providing essential common functionalities
                used internally among the renderer and sub-modules)
        "thorvg/src/lib" -> "thorvg/src/renderer"
            (for vector drawing features)

+ SVG related
    Fix stroke regression https://github.com/thorvg/thorvg/issues/1670
    Support stroke dash offset function https://github.com/thorvg/thorvg/issues/1591#issuecomment-1681319321
    Support Focal property in Radial Gradient https://github.com/thorvg/thorvg/issues/1558
2023-09-29 19:50:19 +02:00
Rémi Verschelde
dd3dda797c
Merge pull request #82533 from DarioSamo/no-dilate-before-denoise
Make the lightmapper not dilate before denoising.
2023-09-29 19:47:29 +02:00
Danil Alexeev
aff767ef07
Fix expected argument count for Callable call errors 2023-09-29 20:00:10 +03:00
Dario
ac90ca714c Make the lightmapper not dilate before denoising.
Dilating noisy data caused issues for the denoiser. Fixes #82526.
2023-09-29 12:36:36 -03:00
Hugo Locurcio
d6d640f158
Disable lightmapper_rd module in non-editor builds (and in Android editor)
This is consistent with `xatlas_unwrap`, which isn't enabled in non-editor
builds and the Android editor either. There is currently no way to
use the lightmapper in a non-editor build anyway, as it doesn't expose
any methods (and even if there was, there would be no way to perform
UV2 unwrapping in the exported project).

This reduces binary size of a stripped Linux x86_64 export template
build by ~164 KB.

This also moves the PrimitiveMesh texel size project setting
so that it's defined when the module is disabled,
and adds a property hint to it.
2023-09-29 11:30:15 +02:00
Aaron Franke
7bd894ba7a
Fix skeletons when generating multiple Godot scenes from one GLTF 2023-09-28 17:48:33 -05:00
Yuri Sizov
b25f1f9c79 Merge pull request #82477 from dalexeev/gds-covariance-and-contravariance
GDScript: Add return type covariance and parameter type contravariance
2023-09-28 20:04:37 +02:00
Yuri Sizov
4c95ebddd6 Merge pull request #82291 from bitsawer/fix_occlusion_culling_leak
Fix RaycastOcclusionCull World3D scenario memory leak
2023-09-28 20:04:25 +02:00
Yuri Sizov
78483a1df2 Merge pull request #82186 from dalexeev/gds-fix-property-duplication
GDScript: Fix duplication of inherited script properties
2023-09-28 20:04:18 +02:00
Yuri Sizov
73252669b1 Merge pull request #82030 from dalexeev/gds-make-for-loop-array-literal-typed
GDScript: Make array literal typed if `for` loop variable type is specified
2023-09-28 20:04:12 +02:00
Yuri Sizov
813cd1dfc8 Merge pull request #80085 from vnen/gdscript-pattern-guards
GDScript: Implement pattern guards for match statement
2023-09-28 20:03:57 +02:00
Danil Alexeev
cb8b89fd95
GDScript: Add return type covariance and parameter type contravariance 2023-09-28 12:27:36 +03:00
bruvzg
4a167fc740
[TextServer] Store font extra spacing variations without making a full copy of font. 2023-09-28 10:45:09 +03:00
Yuri Sizov
aa82cccc41 Merge pull request #81659 from DarioSamo/nlm-denoiser
Replace OIDN denoiser in Lightmapper with a JNLM denoiser compute shader.
2023-09-27 19:08:01 +02:00
Yuri Sizov
aa474c9feb Merge pull request #75988 from dalexeev/gds-unsafe-call-argument
GDScript: Improve call analysis
2023-09-27 19:07:46 +02:00
George Marques
54a1414500
GDScript: Implement pattern guards for match statement
Within a match statement, it is now possible to add guards in each
branch:

	var a = 0
	match a:
		0 when false: print("does not run")
		0 when true: print("but this does")

This allows more complex logic for deciding which branch to take.
2023-09-27 11:25:25 -03:00
Rémi Verschelde
214c978f4b
Merge pull request #81862 from akien-mga/thorvg-0.10.6
thorvg: Update to 0.10.7
2023-09-27 14:03:38 +02:00
Rémi Verschelde
3228f73127
Merge pull request #82413 from Calinou/3d-editor-gizmos-ignore-fog
Make 3D editor gizmos and debug shapes ignore fog
2023-09-27 09:21:35 +02:00
Rémi Verschelde
c7a5a284d3
Merge pull request #80260 from raulsntos/dotnet/msbuild-panel
C#: Redesign MSBuild panel
2023-09-27 09:20:19 +02:00
Raul Santos
f19694a8d6
C#: Redesign MSBuild panel
- Redesign panel to look closer to the look of other Godot panels such as Output and Debugger.
- Moved list of problems and output log to separate tabs instead of using a HSplit.
- Added Tree/List layouts to the problems tab.
- Added search box to filter problems tab.
- Added `FileTree` icon, made from `FileList`. Both are used for the button that toggles the Tree/List layouts.
2023-09-27 02:53:27 +02:00
Hugo Locurcio
fcbf7011cc
Make 3D editor gizmos and debug shapes ignore fog
This makes them easier to see in their intended colors in scenes with fog.
2023-09-27 00:54:57 +02:00
Rémi Verschelde
81949c2cd2
thorvg: Update to 0.10.7
Fixes #81618.
2023-09-26 22:43:44 +02:00
bitsawer
7654e7852e Fix RaycastOcclusionCull World3D scenario memory leak 2023-09-26 21:53:17 +03:00
Rémi Verschelde
dc14f02892
Merge pull request #81851 from aaronfranke/gltf-single-root
GLTF: Add root node export options and GODOT_single_root extension
2023-09-26 17:52:51 +02:00
Aaron Franke
446893fdd1
GLTF: Add GODOT_single_root extension 2023-09-26 10:18:52 -05:00
A Thousand Ships
517e9f8aef [Modules] Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-09-26 16:44:52 +02:00
Rémi Verschelde
da91cf9367
Merge pull request #82347 from SaracenOne/dir_access_checks
Add error checks for DirAccess creation
2023-09-26 16:36:47 +02:00
Rémi Verschelde
9b0b441cf3
Merge pull request #82139 from dalexeev/gds-add-inferred-declaration-warning
GDScript: Add `INFERRED_DECLARATION` warning
2023-09-26 16:36:39 +02:00
Rémi Verschelde
4410b0b0e1
Merge pull request #67304 from wscalf/master
Allow readonly and writeonly C# properties to be accessed from GDScript
2023-09-26 16:36:33 +02:00
Rémi Verschelde
e9e99775f1
Merge pull request #82375 from raulsntos/dotnet/fix-compat
C#: Remove compat method that is now generated
2023-09-26 16:36:27 +02:00
Rémi Verschelde
e0b1171396
Merge pull request #82368 from kleonc/NavMeshGenerator2D-dev-assert-assignment-typo
Fix typo in dev assert in NavMeshGenerator2D
2023-09-26 16:36:19 +02:00
Raul Santos
f60cff1cb2
C#: Remove compat method that is now generated 2023-09-26 16:12:10 +02:00
kleonc
5904c2ca19 Fix typo in dev assert in NavMeshGenerator2D 2023-09-26 14:30:23 +02:00
Rémi Verschelde
42011d8673
Merge pull request #82240 from jaros3/vector2i-gethashcode
[C#] Use `HashCode.Combine()` for basic composite types instead of xor
2023-09-26 13:45:18 +02:00
Rémi Verschelde
10c3941a9a
Merge pull request #80587 from garychia/shadowed_class_name
Check if any global script class is shadowed by a variable
2023-09-26 13:44:56 +02:00
Rémi Verschelde
017541bcec
Merge pull request #80527 from raulsntos/dotnet/generate-compat-methods-from-classdb
C#: Generate and use compat methods
2023-09-26 13:44:52 +02:00
Chia-Hsiang Cheng
ceda13720b Check if any global script class is shadowed by a variable 2023-09-26 16:47:17 +08:00
bruvzg
bc6585a5a7
[RTL] Add support for image dynamic updating, padding, tooltips and size in percent. 2023-09-26 09:39:51 +03:00
Rémi Verschelde
0c626bdfb0
Merge pull request #82294 from dalexeev/gds-fix-gdsnc-crash
GDScript: Fix crash with `GDScriptNativeClass`
2023-09-26 08:31:26 +02:00
Rémi Verschelde
446c1fa8b7
Merge pull request #82225 from BrunoArmondBraga/improves_regextests
Adds additional tests for RegEx class
2023-09-26 08:30:12 +02:00
Rémi Verschelde
b45933931b
Merge pull request #81219 from akien-mga/vulkan-sdk-1.3.261.1
vulkan: Update all components to Vulkan SDK 1.3.261.1
2023-09-26 08:18:23 +02:00
Rémi Verschelde
7dccb9e039
Merge pull request #80796 from smix8/navgenerator_2d_4.x
Add 2D navigation mesh baking
2023-09-26 08:17:58 +02:00
Saracen
3f4513d4de Add error checks for DirAccess creation. 2023-09-26 03:07:43 +01:00
Fabio Alessandrelli
e0140601a5 [Crypto] Fix generate_random_bytes for large chunks
Properly handle mbedtls errors, ensure we don't ask more bytes than
allowed for each iteration.
2023-09-25 22:16:36 +02:00
Dario
ab65effed0 Remove denoise module and thirdparty OIDN.
This is replaced by a much lighter weight and faster JNLM denoiser. OIDN is still much more accurate, and may be provided as an optional backend in the future, but the JNLM denoiser seems good enough for most use cases and removing OIDN reduces the build system complexity, binary size, and build times very significantly.
2023-09-25 14:53:45 -03:00
Dario
1b2b726502 Replace OIDN denoiser with a JNLM denoiser compute shader implementation. 2023-09-25 14:53:45 -03:00
smix8
0ee7e3102b Add 2D navigation mesh baking
Adds 2D navigation mesh baking.
2023-09-25 19:48:14 +02:00
Rémi Verschelde
34de6c624c
Merge pull request #82272 from darksylinc/matias-gltf-color
Fix gltf importer forcing vertex colors on all materials
2023-09-25 18:38:25 +02:00
Rémi Verschelde
e4cfd4e26a
Merge pull request #82195 from AThousandShips/radian_fix
Replace `radians` range hint with `radians_as_degrees`
2023-09-25 17:18:38 +02:00
Rémi Verschelde
8ddf73c74d
Merge pull request #81939 from YuriSizov/gui-flat-and-depressed
Replace flat buttons with flat-styled buttons with a visible pressed state
2023-09-25 17:18:29 +02:00