Commit Graph

10584 Commits

Author SHA1 Message Date
bqqbarbhg
b9ab0e46e2 Fix handling missing skins using ufbx importer
Previously, _asset_parse_skins() would mess with the order of skin indices.
However, the rest of the code expected these to match to ufbx skin indices.
To fix this, retain the original skin indices in FBXState::original_skin_indices.
2024-05-03 20:46:26 +03:00
Thaddeus Crews
64f2e8b64f
Dotnet: Fix attributes for sln/csproj files 2024-05-03 12:21:51 -05:00
Rémi Verschelde
baec8da3b3
.NET: Prevent generating mono glue in project folder
Fixes #83128.
2024-05-03 14:24:35 +02:00
Rémi Verschelde
03e6fbb010
Merge pull request #85474 from fire/packedvector4array
Add `PackedVector4Array` Variant type
2024-05-03 12:25:26 +02:00
Luca Martinelli (laptop)
c02540bd66 fixed StringExtensions.CompareTo IndexOutOfRangeException
fixes #91118
marked CompareTo obsolete
dropped CompareTo [-1,1] range

Co-authored-by: Raul Santos <raulsntos@gmail.com>
2024-05-03 10:13:06 +02:00
Bastiaan Olij
9042ddf19f Improvements to VRS/Foveated rendering 2024-05-03 17:20:30 +10:00
Rémi Verschelde
4d43fe1c96
Merge pull request #91472 from vnen/gdscript-default-static-variables-non-tool
GDScript: Initialize static variables with defaults in-editor
2024-05-03 01:21:40 +02:00
Rémi Verschelde
25fe3d4b46
Merge pull request #81639 from MJacred/is_letter
Add `is_valid_letter()` to `TextServer`
2024-05-03 01:21:34 +02:00
K. S. Ernest (iFire) Lee
f9b488508c
Add PackedVector4Array Variant type
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-05-03 00:58:27 +02:00
MJacred
717513a62d Add is_valid_letter() to TextServer 2024-05-02 21:32:20 +02:00
George Marques
22236380c0
GDScript: Initialize static variables with defaults in-editor
When the script is not marked as `@tool` the static constructor is not
called and thus the variables contain `null` by default. But since some
validated operations requires a valid value, this would cause a crash.

This commit solves this by initializing the static variables with a
default value based on their types in the editor, when they are not
marked as `@tool`, so if some `@tool` script access them, they will have
a valid typed value, avoiding the crash.
2024-05-02 15:09:22 -03:00
Rémi Verschelde
7fef538223
Merge pull request #91464 from groud/fix_tilemap_layer_navmesh_baking
Fix TileMapLayer navmesh baking
2024-05-02 19:06:06 +02:00
Gilles Roudière
23b9a9f2de Fix TileMapLayer navmesh baking 2024-05-02 18:06:23 +02:00
Rémi Verschelde
76f642b962
Merge pull request #91412 from dalexeev/gds-fix-non-static-access-in-static-context
GDScript: Fix access non-static members in static context
2024-05-02 17:31:39 +02:00
Rémi Verschelde
a7029e4c8a
Merge pull request #91364 from vnen/gdscript-implicit-ready-base-first
GDScript: Call implicit ready on base script first
2024-05-02 17:31:32 +02:00
Rémi Verschelde
7a968c619d
Merge pull request #91140 from RadiantUwU/add-mobile-vr-screen-rect
Add a new property named `offset_rect` to `MobileVRInterface`
2024-05-02 17:31:28 +02:00
George Marques
99b702ea3d
GDScript: Call implicit ready on base script first
It is generally expected that the base class is called before the
inherited clas. This commit implements this behavior for the implicit
ready function (`@onready` annotation) to make it consistent with the
expectations.
2024-05-02 11:25:52 -03:00
Radiant
9be2f7090a Implement offset_rect property to MobileVRInterface to allow changing screen area. 2024-05-02 16:25:48 +03:00
Rémi Verschelde
28a18cf1b8
Merge pull request #88763 from BlueCube3310/image-is-compressed-static
Image: Add static `is_format_compressed` function.
2024-05-02 14:01:18 +02:00
A Thousand Ships
0f5e0d1637
Expose Vector* component-wise and scalar min/max to scripting 2024-05-02 13:02:40 +02:00
Rémi Verschelde
4eaafc8fa8
Merge pull request #91375 from paulloz/dotnet/prevent-generator-crash-on-exported-unconstructed-generic-arrays
C#: Fix generator crash w/ generic arrays
2024-05-02 12:46:42 +02:00
Rémi Verschelde
9122286553
Merge pull request #89426 from BlueCube3310/basisu-mult-of-4
BasisUniversal: Fix artifacts on images with resolutions not divisible by 4
2024-05-02 12:46:25 +02:00
Rémi Verschelde
0b6c29f2d2
Merge pull request #89114 from AThousandShips/vec_elem_scalar
[Core] Add scalar versions of `Vector*` `min/max/clamp/snap(ped)`
2024-05-02 12:46:22 +02:00
BlueCube3310
c71490043a Fix BasisU compression on images with resolutions not divisible by 4. 2024-05-02 12:15:02 +02:00
Bastiaan Olij
527c30c594 Add support for OpenXR hand interaction extension 2024-05-02 19:15:02 +10:00
A Thousand Ships
308dbb8c63
[Core] Add scalar versions of Vector* min/max/clamp/snap(ped)
Convenience for a number of cases operating on single values
2024-05-02 10:31:13 +02:00
Danil Alexeev
8122a27eac
GDScript: Fix access non-static members in static context 2024-05-01 19:55:40 +03:00
A Thousand Ships
c4e24d2b3b
[GDScript] Correctly report invalid read-only access 2024-05-01 12:28:47 +02:00
Rémi Verschelde
0e0ef3cd69
Merge pull request #91368 from raulsntos/dotnet/must-be-variant-dynamic
C#: Ignore late bound methods in MustBeVariantAnalyzer
2024-05-01 09:55:21 +02:00
Rémi Verschelde
731ea17dd4
Merge pull request #91192 from vnen/gdscript-validated-native-static-calls
GDScript: Perform validated calls with static methods
2024-05-01 09:55:04 +02:00
Rémi Verschelde
70247adf25
Merge pull request #89734 from BastiaanOlij/openxr_reorder_wait_frame
OpenXR: Change timing of xrWaitFrame and fix XR multithreading issues
2024-05-01 09:54:51 +02:00
Rémi Verschelde
273a643145
Merge pull request #89647 from AThousandShips/read_only_dict
[Core] Fix property access on read-only `Dictionary`
2024-05-01 09:54:48 +02:00
Bastiaan Olij
cbab7dc049 OpenXR: Change timing of xrWaitFrame and add thread safety features to OpenXR 2024-05-01 14:24:41 +10:00
Raul Santos
1510f88ae1
C#: Ignore late bound methods in MustBeVariantAnalyzer
If symbol is late bound (as is the case when using `dynamic`) we can't obtain the symbol to analyze the usage of `[MustBeVariant]`.
2024-05-01 03:18:21 +02:00
Paul Joannon
aba787393f
C#: Fix generator crash w/ generic arrays 2024-04-30 22:22:09 +02:00
Rémi Verschelde
d282e4f0e6
Merge pull request #91360 from bruvzg/arm_win_build
Fix arm64/Windows build.
2024-04-30 17:03:58 +02:00
bruvzg
986d297ed3
Fix arm64/Windows build. 2024-04-30 16:26:42 +03:00
Thaddeus Crews
dec2a121a9
SCons: Fixes for warn/error colorization 2024-04-29 11:56:21 -05:00
Rémi Verschelde
f03301ca1a
Merge pull request #91305 from BastiaanOlij/fix_mobile_vr_gyro
MobileVR: Orientation is progressive and needs to be initialized
2024-04-29 15:20:32 +02:00
Bastiaan Olij
d83aaeea17 MobileVR: orientation is progressive and needs to be initialised 2024-04-29 21:46:28 +10:00
Rémi Verschelde
c4733e8003
Merge pull request #90860 from vnen/gdscript-get-dependencies
GDScript: Implement `get_dependencies()`
2024-04-29 12:30:12 +02:00
Rémi Verschelde
296758a8f8
Merge pull request #90552 from vnen/gdscript-constructor-callable-release
GDScript: Assume constructor to be accessible from class
2024-04-29 12:30:08 +02:00
Rémi Verschelde
d216a385a6
Merge pull request #90498 from vnen/gdscript-resolve-scene-autoload-types
GDScript: Resolve types from autoload scenes
2024-04-29 12:30:02 +02:00
Rémi Verschelde
dee1231ce6
Merge pull request #91220 from Repiteo/scons/colorize-warn-error
SCons: Colorize warnings/errors during generation
2024-04-29 10:10:16 +02:00
Rémi Verschelde
13fbd42c37
Merge pull request #90975 from aaronfranke/plugin-org
Organize existing code for editor plugins
2024-04-29 10:09:45 +02:00
Rémi Verschelde
c33cd94509
Merge pull request #90949 from rhofour/gdignore
LSP: Have `GDScriptWorkspace::list_script_files` respect `.gdignore`.
2024-04-29 10:09:42 +02:00
Thaddeus Crews
e0e8ce1fc0
SCons: Colorize warnings/errors during generation 2024-04-28 16:24:48 -05:00
Aaron Franke
1bcbbe96c4
Organize existing code for editor plugins 2024-04-27 11:59:58 -07:00
George Marques
8b7fc225f0
GDScript: Resolve types from autoload scenes
When the autoload is a scene, it now extracts the script from it and
use it to further infer nested types.
2024-04-26 10:46:19 -03:00
Rémi Verschelde
38d2928fca
Merge pull request #91144 from Konstantin-Kretov/k.kretov/add_copyright_to_csproj_files
Fill copyright field in .csproj files to ensure that nuget packages will have both license and copyright fields filled
2024-04-26 15:13:37 +02:00
Konstantin Kretov
2b46e009fa
Fill copyright field in .csproj files
This ensures that nuget packages will have both license and copyright fields filled.
2024-04-26 11:41:04 +02:00
Rémi Verschelde
0d589abcbd
Merge pull request #91130 from Malcolmnixon/xrhandtracker-dotnet-name-collision
Remove the Hand enum from XRHandTracker
2024-04-26 11:08:44 +02:00
Rémi Verschelde
36833c6871
Merge pull request #91036 from bqqbarbhg/ufbx-bind-pose-fix
Resolve bind poses from FBX clusters instead of FBX poses.
2024-04-26 11:08:38 +02:00
Rémi Verschelde
643afab6b7
Merge pull request #89639 from dalexeev/gds-fix-object-iterator-opcodes
GDScript: Fix object iterator opcodes
2024-04-26 11:08:22 +02:00
Rémi Verschelde
cb01094ccd
Merge pull request #88301 from aaronfranke/gltf-explicit-compound-triggers
Add support for explicitly-defined compound triggers in GLTF files
2024-04-26 11:08:19 +02:00
Danil Alexeev
2778069025
GDScript: Fix object iterator opcodes 2024-04-26 09:21:55 +03:00
George Marques
7ca038effa
GDScript: Perform validated calls with static methods
When the types are validated at compile time, this type of call runs
faster. It is already used for instance methods, this adds this
optimization to native static methods as well.
2024-04-25 21:19:40 -03:00
Malcolm Nixon
e00e5c0386 Remove the Hand enum from XRHandTracker to fix name-collision with the hand property of the base class.
Co-Authored-By: David Snopek <191561+dsnopek@users.noreply.github.com>
2024-04-25 19:38:57 -04:00
bqqbarbhg
095569011c Resolve bind poses from FBX clusters instead of FBX poses
Turns out that the information in FBX Pose objects is relatively often broken.
Using skin cluster bind poses seems more reliable, but cannot capture the bind pose of the root bone.
2024-04-25 21:13:50 +03:00
Rémi Verschelde
f859400c6b
Merge pull request #91078 from aaronp64/import_skip_crash
Fix errors/crashes related to skipped imports
2024-04-25 17:12:38 +02:00
aaronp64
e63d0983d0 Fix errors/crashes related to skipped imports
- Added check for "animation/fps" key before attempting to use it in EditorSceneFormatImporterBlend::import_scene, to give error instead of crashing

- Don't show "Advanced..." button if last import used "Keep File" or "Skip File"

- Don't try to call ResourceLoader::load on kept/skipped file when changing importer, which would give an error

Fixes #90324
2024-04-25 10:33:59 -04:00
Danil Alexeev
4136ed7fc8
GDScript: Fix test reset_uninit_local_vars.gd failure 2024-04-24 20:49:52 +03:00
Rémi Verschelde
69a23e64e4
Merge pull request #89990 from dalexeev/gds-reset-uninit-local-vars
GDScript: Fix uninitialized local variables not being reset
2024-04-24 18:54:56 +02:00
Rémi Verschelde
ba3007d127
Merge pull request #91079 from paulloz/dotnet/enforce-use-sdk-8
Enforce using .NET SDK >= 8
2024-04-24 09:59:53 +02:00
Rémi Verschelde
17d9c52ad9
Merge pull request #90894 from lyuma/animation_step_30
Set animation step from importers. Increase default step from 10 to 30FPS
2024-04-24 09:59:21 +02:00
Rémi Verschelde
4e46e9ae74
Merge pull request #89929 from smix8/ClipperD
Change 2D navigation mesh baking to use floating point coordinates
2024-04-24 09:59:07 +02:00
Paul Joannon
f2efa545d6
Enforce using .NET SDK >= 8 in modules/mono/ 2024-04-23 22:54:22 +02:00
Rémi Verschelde
515404486b
Merge pull request #91045 from lyuma/fbx_root_node
fbx: Avoid name conflict with humanoid "Root" bone
2024-04-23 19:12:14 +02:00
Rémi Verschelde
ad4dff27ba
Merge pull request #90027 from Faless/mp/cache_no_spam
[MP] Gracefully handle cache confirmation of deleted nodes
2024-04-23 19:11:05 +02:00
Rémi Verschelde
6b28cb6721
Merge pull request #89884 from HolonProduction/tests-batch-2
Completion Tests: Add script to owner
2024-04-23 19:10:57 +02:00
Rémi Verschelde
13b66bcea2
Merge pull request #89738 from dalexeev/gds-docgen-improve-non-constant
GDScript: Improve DocGen for non-constant expressions
2024-04-23 19:10:51 +02:00
Lyuma
33e977ee34 fbx: Avoid name conflict with humanoid "Root" bone
The importer forces name uniqueness, even for the root. "RootNode" is less likely to conflict.
2024-04-23 01:43:03 -07:00
smix8
6a4d8d4b5c Change 2D navigation mesh baking to use floating point coordinates
Replaces internal uses of Clipper2 integer structs to their floating point equivalents.
2024-04-23 10:28:43 +02:00
Rémi Verschelde
e8eca0b3f0
Merge pull request #90601 from rune-scape/rune-gdscript-dependant-parser-ref-errors
GDScript: Fix out of date errors in depended scripts
2024-04-22 22:18:15 +02:00
A Thousand Ships
ec29c3e784
[Core] Fix property access on read-only Dictionary 2024-04-22 13:57:34 +02:00
Rémi Verschelde
2b42352c99
Merge pull request #90968 from raulsntos/fix-gdscript-analyzer-with-overloaded-dotnet-methods
C#: Don't return MethodInfo for overloaded methods
2024-04-22 12:53:47 +02:00
Rémi Verschelde
8931a3ec14
Merge pull request #90912 from clayjohn/CVTT-decomp
Avoid writing out of range data over valid data in CVTT decompress methods when decompressing small mip levels
2024-04-22 12:53:24 +02:00
Rémi Verschelde
8c474ddd49
Merge pull request #90710 from m4gr3d/fix_jstring_leaks
Fix leakage of JNI object references
2024-04-22 12:52:16 +02:00
Rémi Verschelde
bffaa98b13
Merge pull request #90645 from Malcolmnixon/unified-xr-trackers
Rework XR Trackers to have a common ancestor
2024-04-22 12:52:07 +02:00
Rémi Verschelde
1a6e4ce906
Merge pull request #90002 from raulsntos/dotnet/expose-property-accessors
C#: Make internal properties and property accessors public (but hidden)
2024-04-22 12:51:42 +02:00
Raul Santos
7316918a0f
C#: Don't return MethodInfo for overloaded methods
This means the GDScript analyzer loses the method signature information so it can't do type checking for the parameters.
2024-04-21 05:32:47 +02:00
R. Alex Hofer
2452176990 Have GDScriptWorkspace::list_script_files respect .gdignore. 2024-04-20 13:29:27 -04:00
clayjohn
98dacc14ea Avoid writing out of range data over valid data in CVTT decompress methods when decompressing small mip levels 2024-04-19 10:16:36 -07:00
Rémi Verschelde
fba6803486
Merge pull request #90876 from smix8/source_geometry_callback
Add navigation mesh source geometry parsers and callbacks
2024-04-19 16:28:30 +02:00
Rémi Verschelde
81f08c396c
Merge pull request #90837 from paulloz/dotnet/callable-deserialization-order
Change order of operation for C# types reloading
2024-04-19 16:27:49 +02:00
Rémi Verschelde
931f878390
Merge pull request #88899 from AThousandShips/gdscript_clean
[GDScript] Clean up some unused code
2024-04-19 16:26:58 +02:00
smix8
58593d1bb7 Add navigation source geometry parser callbacks
Adds navigation source geometry parser callbacks so that externals can hook their own geometry into the navigation mesh baking process.
2024-04-19 12:10:57 +02:00
Lyuma
bb9674c1b1 Set animation step from importers. Increase default step from 10 to 30 FPS. 2024-04-19 03:02:20 -07:00
Malcolm Nixon
823ae7b3fa Rework XR Trackers to have a common ancestor. Allow creation of XRNode3D to drive node positions and visibility. 2024-04-18 20:04:01 -04:00
rune-scape
6b88c86cec GDScript: invalidate GDScriptParserRef when reloading 2024-04-18 14:05:58 -07:00
George Marques
dc73440f89
GDScript: Implement get_dependencies()
The parser and analyzer now track the dependencies of the script and
return the list when the resource loader ask for them.

What is considered a dependency:

- Any `preload()` call.
- The base script this one extends.
- Any identifier, including types, that refers to global scripts.
- Any autoload singleton reference.
2024-04-18 11:54:37 -03:00
Rémi Verschelde
2efbc6bfb3
Merge pull request #90848 from BlueCube3310/lightmapper-dir-seam-fix
LightmapGI: Fix seam blending with directional lightmaps
2024-04-18 15:17:21 +02:00
Rémi Verschelde
978d206f34
Merge pull request #90794 from vnen/gdscript-no-unused-constant-warning-with-underscore
GDScript: Suppress unused constant warning with underscore
2024-04-18 15:17:13 +02:00
George Marques
a3b3a20ac0
GDScript: Suppress unused constant warning with underscore
The warning message mentions that local constants prefixed with `_` does
not generate the warning. This commit actually implements this warning
suppression.
2024-04-18 09:58:23 -03:00
BlueCube3310
f1b758022a LightmapGI: Fix seam blending with directional lightmaps 2024-04-18 14:21:29 +02:00
Rémi Verschelde
c295f18955
Merge pull request #90789 from lyuma/fix_skeleton_root
Fix FBX and glTF when root nodes are skeleton bones
2024-04-18 12:24:47 +02:00
Rémi Verschelde
d06cb2e57d
Merge pull request #90761 from dsnopek/openxr-composition-layers-experimental
Mark `OpenXRCompositionLayer` and its children as experimental
2024-04-18 12:24:40 +02:00
Paul Joannon
1627287586
Change order of operation for C# types reloading
We now deserialize callables before reloading property states, in case a property is doing anything with the callable in its getter and/or setter.
2024-04-18 09:38:58 +02:00
Lyuma
d3706488d9 Fix FBX and glTF when root nodes are skeleton bones
Set p_scene_parent to the skeleton to guarantee BoneAttachment3D nodes are added as a child of the active skeleton.
Use get_owner() to go all the way up when calculating the root node in generate_scene
2024-04-17 22:10:05 -07:00
Rémi Verschelde
36bdab4ddd
Merge pull request #90759 from dsnopek/openxr-hand-revert
Revert `OpenXRHand` to its pre-`SkeletonModifier3D` state
2024-04-17 10:59:10 +02:00