Commit graph

10674 commits

Author SHA1 Message Date
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
David Snopek
a094ff377d Mark OpenXRCompositionLayer and its children as experimental 2024-04-16 11:02:44 -05:00
David Snopek
dfca388d75 Revert OpenXRHand to its pre-SkeletonModifier3D state 2024-04-16 10:36:43 -05:00
George Marques
f9048fcd7d
GDScript: Warn when enum variable has no default
The default will always be set to `0`, so if it's not a valid value in
the enum, the warning is shown.
2024-04-16 11:46:59 -03:00
A Thousand Ships
c070c12ddd
[GDScript] Clean up some unused code 2024-04-16 15:59:38 +02:00
Aaron Franke
77e35cf781
Move NavigationMeshSourceGeometryData(2D/3D) to the 2D/3D subfolders 2024-04-15 18:40:43 -07:00
Fredia Huya-Kouadio
f291a4ed3a Fix leakage of JNI object references
Fixes https://github.com/godotengine/godot/issues/87548
2024-04-15 10:30:18 -07:00
Rémi Verschelde
8a3195ef56
Merge pull request #90678 from raulsntos/dotnet/StringExtensions.Match
C#: Fix ExprMatch for case sensitive matching
2024-04-15 18:14:45 +02:00
Rémi Verschelde
684e7aa37a
Merge pull request #89472 from dalexeev/gds-fix-bin-tokenizer-continuation-lines
GDScript: Fix continuation lines in `GDScriptTokenizerBuffer`
2024-04-15 18:14:38 +02:00
Raul Santos
509d4f5302
C#: Fix ExprMatch for case sensitive matching
We were accidentally stopping the recursion when matching in the case sensitive scenario.

Took the opportunity to also rename the private method to follow the Core method naming more closely so it's easier to compare the implementations in the future.

Also, the private method now uses `ReadOnlySpan<char>` to avoid allocating strings on each recursion.
2024-04-15 03:15:28 +02:00
Rémi Verschelde
d00734053f
Merge pull request #90635 from bqqbarbhg/texture-path-fix
Fix FBX texture path resolving
2024-04-14 14:39:17 +02:00
Rémi Verschelde
122054cf7a
Merge pull request #90573 from timothyqiu/svg-image
Fix error when loading SVG imported as Image
2024-04-14 14:39:11 +02:00
bqqbarbhg
2a757e4897 Fix FBX texture path resolving 2024-04-13 20:28:12 +03:00
Rémi Verschelde
3a57f10dd5
Merge pull request #90602 from smix8/bsfmod
Use fmod for navigation mesh border size warning
2024-04-13 11:30:47 +02:00
Rémi Verschelde
c9a595afb5
Merge pull request #90580 from vnen/gdscript-allow-enum-to-int-cast
GDScript: Allow casting enum to int
2024-04-13 11:30:34 +02:00
Rémi Verschelde
8e1b50045a
Merge pull request #90554 from bqqbarbhg/fbx-color-fixes
FBX: Fix material colors
2024-04-13 11:30:31 +02:00
smix8
8a0f1f1995 Use fmod for navigation mesh border size warning
Uses fmod for checking that navigation mesh border size matches the cell size as a multiple of cell size is also valid.
2024-04-13 03:39:53 +02:00
bqqbarbhg
659597b290 Enable FBX albedo factor when textures are bound 2024-04-13 03:12:03 +03:00
George Marques
030995c10d
GDScript: Allow casting enum to int
An enum value is always an integer so the cast is valid. The code here
now consider this case to avoid giving an error message.
2024-04-12 11:49:21 -03:00
Haoyu Qiu
66a3a944e2 Fix error when loading SVG imported as Image 2024-04-12 18:01:58 +08:00
Rémi Verschelde
4a4d6df04e
Merge pull request #90508 from smix8/thread_bake
Use threads for baking navigation mesh inside editor
2024-04-12 11:16:50 +02:00
Rémi Verschelde
fcca9b330d
Merge pull request #90434 from smix8/path_simplify
Add navigation path simplification
2024-04-12 11:16:47 +02:00
Rémi Verschelde
da0e993959
Merge pull request #90373 from bitwise-aiden/ba-fix-mutliline-match
Fix multiline array/dictionary match statements
2024-04-12 11:16:44 +02:00
Rémi Verschelde
42ab525aa2
Merge pull request #86144 from jsjtxietian/disable-mesh-compression-for-2d
Disable mesh compression if vertex `position.z` is always 0
2024-04-12 11:16:33 +02:00
Aiden Storey
74177d79c9
Fix multiline array/dictionary match statements
Currently array and dictionary expressions cannot be spread over
multiple lines in match statements.

Adding mutliline push/pop while parsing the pattern for bracket and
brace enables the ability for these to be multiline. This enables more
complex patterns to be matched without exceeding line limits.

Fixes #90372
2024-04-12 10:59:28 +02:00
bqqbarbhg
5e52db5c93 Fix FBX orthographic camera size 2024-04-12 04:02:50 +03:00
bqqbarbhg
d238b0ef57 Fix FBX emission_texture copy-paste issue 2024-04-12 03:52:57 +03:00
bqqbarbhg
a998f0a482 Convert FBX material colors from linear to sRGB 2024-04-12 03:52:46 +03:00
George Marques
e761982979
GDScript: Assume constructor to be accessible from class
Since the constructor is accessed directly from the class, even if not
marked `static`, it can be retrieved as a Callable without an instance.
2024-04-11 20:28:46 -03:00
smix8
1c134f4a3d Add navigation path simplification
Adds navigation path simplification for NavigationServer and NavigationAgent.
2024-04-11 12:32:21 +02:00
Rémi Verschelde
2e5d2333b7
Merge pull request #90505 from aaronp64/gltfdocument_crash
Fix `GLTFDocument.append_from_scene` crash on null node
2024-04-11 11:02:57 +02:00
Rémi Verschelde
e911fcda1b
Merge pull request #90503 from rburing/gridmap_has_it_rough
GridMap: Fix `physics_material` property
2024-04-11 11:02:50 +02:00
Rémi Verschelde
58f8a227b9
Merge pull request #90482 from Faless/mbedtls/3.6.0-tls
mbedTLS: Update to new LTS v3.6.0
2024-04-11 11:02:46 +02:00
Rémi Verschelde
b70450871e
Merge pull request #89124 from wheatear-dev/test-json-rpc
Add unit tests for JSONRPC
2024-04-11 11:02:34 +02:00
smix8
2bc2b52bd1 Use threads for baking navigation mesh inside editor
Enables threaded navigation mesh baking inside the editor.
2024-04-11 03:53:26 +02:00
toastedbreadandomelette
b7de8e2c29
Add additional unit tests for RegEx 2024-04-10 23:24:27 +02:00
aaronp64
b56934ce19 Fix GLTFDocument.append_from_scene() crash on null node
Added null check for p_node parameter to give error instead of crash

Fixes #90502
2024-04-10 17:05:54 -04:00
Ricardo Buring
3590d49c70 GridMap: Fix physics_material property
Use computed bounce and friction, just like StaticBody3D already does.
Also don't rebuild all internals just to set two floats on each body.
2024-04-10 21:44:46 +02:00
Lyuma
40fa684c18 mbedTLS: Update to new LTS v3.6.0
Keep module compatibility with mbedtls 2.x (old LTS branch).

A patch has been added to allow compiling after removing all the `psa_*`
files from the library folder (will look into upstreaming it).

Note: mbedTLS 3.6 finally enabled TLSv1.3 by default, but it requires
some module changes, and to enable PSA crypto (new "standard" API
specification), so it might be best done in a separate commit/PR.
2024-04-10 21:19:22 +02:00
Edward Moulsdale
6b4a7598c7 Add unit tests for JSONRPC 2024-04-10 18:27:08 +01:00
Rémi Verschelde
67076c167d
Merge pull request #90448 from vnen/gdscript-infer-string-format
GDScript: Infer type with string format operator
2024-04-10 17:49:49 +02:00
Rémi Verschelde
8611fd8400
Merge pull request #90442 from vnen/gdscript-dont-warn-using-default-builtin
GDScript: Don't warn on unassigned for builtin-typed variables
2024-04-10 17:49:44 +02:00
George Marques
877802e252
GDScript: Don't warn on unassigned for builtin-typed variables
If the type of a variable is a built-in Variant type, then it will
automatically be assigned a default value based on the type. This means
that the explicit initialization may be unnecessary. Thus this commit
removes the warning in such case.

This also changes the meaning of the unassigned warning to happen when
the variable is used before being assigned, not when it has zero
assignments.
2024-04-10 11:59:57 -03:00
George Marques
4bdba718c5
GDScript: Infer type with string format operator
If the left value type is known to be String, assume the format operator
(`%`) will return a string, since it works with any type in the right
hand side. This is also used by type inference even if the right hand
type is unknown at compile time.
2024-04-10 11:49:30 -03:00
Danil Alexeev
02253b6b91
GDScript: Fix continuation lines in GDScriptTokenizerBuffer 2024-04-10 08:51:02 +03:00
jsjtxietian
077e20cd51 Disable mesh compression if vertex position.z is always 0 2024-04-10 11:27:36 +08:00
Bastiaan Olij
b67eba8399 OpenXR: apply fix for reverse Z 2024-04-10 10:35:19 +10:00
Rémi Verschelde
d3d10b55b4
Merge pull request #90422 from bruvzg/net_no_native_embed
[.NET] Disable output embedding on macOS, move it to the advanced options on other platforms.
2024-04-09 22:29:41 +02:00
Rémi Verschelde
9a9045cf7a
Merge pull request #89382 from dcaoc03/master
Fix enum autocompletion for core classes
2024-04-09 22:25:13 +02:00
Rémi Verschelde
f94bf175df
Merge pull request #87466 from BastiaanOlij/fix_openxr_render_target_multiplier
OpenXR: Cleanup swapchain logic (was Fix render target multiplier)
2024-04-09 22:25:03 +02:00
Rémi Verschelde
f8ca571efe
Merge pull request #84043 from dalexeev/gds-fix-unsafe-cast-warning
GDScript: Fix `UNSAFE_CAST` warning
2024-04-09 22:24:55 +02:00
bruvzg
bf558adcdd
[.NET] Disable output embedding on macOS, move it to the advanced options on other platforms. 2024-04-09 17:47:39 +03:00
Danil Alexeev
98dac9e39c
GDScript: Fix highlighting escapes in multiline raw strings 2024-04-09 10:21:10 +03:00
Bastiaan Olij
c388fe2ba7 OpenXR: Improve swapchain logic and fix swapchain update when render target multiplier is changed. 2024-04-09 16:56:39 +10:00
Rémi Verschelde
3d382c16ab
Merge pull request #90404 from aaronp64/zipreader_empty_error
Fix `ZIPReader.get_files()` error on empty zip files
2024-04-08 23:04:35 +02:00
aaronp64
2dad2fbce2 Fix ZIPReader.get_files() error on empty zip files
Added check for empty zip file before trying to look at first file

Fixes #90388
2024-04-08 15:57:35 -04:00
kobewi
809c6817be Add tests for signal await with parameters 2024-04-08 19:12:01 +02:00
Rémi Verschelde
0c6b5efab3
Merge pull request #90391 from AThousandShips/xr_bind_fix
[XR] Fix binds for composition layer virtuals
2024-04-08 18:42:44 +02:00
Rémi Verschelde
0fd440e95f
Merge pull request #90374 from BastiaanOlij/openxr_refresh_rate_signal
OpenXR: Add refresh rate signal support
2024-04-08 18:42:38 +02:00
A Thousand Ships
730cfdde66
[XR] Fix binds for composition layer virtuals 2024-04-08 17:28:26 +02:00
Rémi Verschelde
18b6adee9c
Merge pull request #90248 from akien-mga/libktx-4.3.2
libktx: Update to 4.3.2
2024-04-08 15:03:19 +02:00
Rémi Verschelde
980e4d7955
Merge pull request #90349 from bruvzg/empty_glyph_test
[TextServer] Improve empty glyph handling to allow glyphs smaller than 2px and avoid unnecessary texture updates.
2024-04-08 11:21:58 +02:00
Rémi Verschelde
2ae6343533
Merge pull request #90310 from mhilbrunner/OutdatedDemos
Update links to outdated asset library demos
2024-04-08 11:21:38 +02:00
Rémi Verschelde
ad1993455a
Merge pull request #90286 from dsnopek/openxr-composition-layers-intersects-ray
Add `intersects_ray()` method to `OpenXRCompositionLayer`
2024-04-08 11:21:18 +02:00
Rémi Verschelde
6640e4179d
Merge pull request #90247 from akien-mga/harfbuzz-8.4.0
harfbuzz: Update to 8.4.0
2024-04-08 11:21:11 +02:00
Rémi Verschelde
59cfa0ef75
Merge pull request #90237 from dsnopek/openxr-composition-layers-extension-properties
Allow OpenXR extensions to add properties to the OpenXRCompositionLayer node
2024-04-08 11:21:05 +02:00
Rémi Verschelde
cedf4ad011
Merge pull request #90230 from aaronfranke/gltf-sep-shape3d-res
Separate Shape3D resource logic in GLTFPhysicsShape
2024-04-08 11:21:02 +02:00
Rémi Verschelde
368d6db6cc
Merge pull request #90060 from warquys/CSharp-DebugInfo
Add DebugView for Array and Dictionary, based of the DebugView from the .NET Foundation
2024-04-08 11:20:46 +02:00
Rémi Verschelde
8f1b5d68f1
Merge pull request #90039 from AThousandShips/load_relative_note
[Doc] Document loading behavior with relative paths
2024-04-08 11:20:40 +02:00
Rémi Verschelde
08803e7d83
Merge pull request #89839 from timothyqiu/meanwhile
Fix node config warning not updating for `Multiplayer{Spawner,Synchronizer}`
2024-04-08 11:20:25 +02:00
Rémi Verschelde
a2f6698098
Merge pull request #89659 from dalexeev/gds-hl-fix-types
GDScript: Fix `for` expression is highlighted as type
2024-04-08 11:20:17 +02:00
Bastiaan Olij
148ff6a47f OpenXR: Add refresh rate signal support 2024-04-08 12:36:17 +10:00
bruvzg
1f8387f8fd
[TextServer] Improve empty glyph handling to allow glyphs smaller than 2px and avoid unnecessary texture updates. 2024-04-07 18:19:45 +03:00
skyace65
c83718624f Update links to outdated asset library demos
Update links to outdated asset library demos

Co-authored-by: Max Hilbrunner <m.hilbrunner@gmail.com>
2024-04-07 16:59:43 +02:00
Nông Văn Tình
316f253558 Show errors when solution file is missing in C# project
Fixes: #86591

Co-authored-by: Raul Santos <raulsntos@gmail.com>
2024-04-07 00:25:34 +07:00
David Snopek
025f2b8e7c Add intersects_ray() method to OpenXRCompositionLayer 2024-04-06 08:37:30 -05:00
Rémi Verschelde
d619ffdb75
Merge pull request #89897 from alesliehughes/upnp_memory_leak
UPNP: Use local variable for UPNPUrls to stop memory leak.
2024-04-06 13:06:28 +02:00
Haoyu Qiu
9bcda8f94c Prefer family name in fonts' names table 2024-04-06 16:08:59 +08:00
Valentin Arthur Thomas
f8c482b19a DebugView for Array and dictionary 2024-04-05 19:55:37 +02:00
David Snopek
fddf6dc651 Allow OpenXR extensions to add properties to the OpenXRCompositionLayer node 2024-04-05 07:18:32 -05:00
Rémi Verschelde
d402f5ecf2
libktx: Update to 4.3.2 2024-04-05 12:18:00 +02:00
Rémi Verschelde
383de7da19
Merge pull request #90225 from aaronfranke/gltf-ext-prop-list
GLTF export: Propagate `property_list_changed` from extensions
2024-04-05 12:16:41 +02:00
Rémi Verschelde
ecbd668ff3
Merge pull request #90223 from clubby789/optimize-static
Don't pass `self` when calling a static function from a non-static context
2024-04-05 12:16:38 +02:00
Rémi Verschelde
0ff056ea2e
Merge pull request #90218 from Repiteo/do-while-false-cleanup
Update lingering `do/while(0)` defines
2024-04-05 12:16:34 +02:00
Rémi Verschelde
d100888f0d
Merge pull request #90208 from Repiteo/scons/ninja-msvc
SCons: Fix Ninja compilation with MSVC
2024-04-05 12:16:22 +02:00
Rémi Verschelde
ca2d28602b
Merge pull request #90196 from bruvzg/ts_tcase
[TextServer] Expose ICU title case string conversion to scripting.
2024-04-05 12:16:18 +02:00
Rémi Verschelde
f2cc814f35
Merge pull request #90118 from AyOhEe/sln-title-fix
Fix "Create C# solution" dialog
2024-04-05 12:16:10 +02:00
Rémi Verschelde
7744d59197
Merge pull request #85856 from smix8/tilemap_layers_parse
Make 2D navigation mesh baking parse all TileMapLayers
2024-04-05 12:15:43 +02:00
Rémi Verschelde
72f9f8d339
Merge pull request #83217 from paulloz/fix/81903-delegate-capture-serialization
[.NET] Fix serialization of delegates capturing variables
2024-04-05 12:15:36 +02:00
Rémi Verschelde
8fcc7a52dc
harfbuzz: Update to 8.4.0 2024-04-05 10:35:10 +02:00
Aaron Franke
92b243dc3c
Separate Shape3D resource logic in GLTFPhysicsShape 2024-04-04 16:22:01 -07:00
Alistair Leslie-Hughes
767bfec8b6 Use local variable to stop memory leak.
I've change the urls variable to be a local, instead of manually allocating it all the time.
This is only used locally and was causing a memory leak because FreeUPNPUrls gave the impression it free it.

1. FreeUPNPUrls doesn't free the pointer passed in, that's up to caller.
2. The second if(!urls) produced dead code as we checked the pointer just after allocation.
2024-04-05 09:13:27 +11:00
Aaron Franke
ade5a8d802
Add support for explicitly-defined compound triggers in GLTF files 2024-04-04 14:34:40 -07:00
Jamie Hill-Daniel
164b34a734 Don't pass self when calling a static function from a non-static context 2024-04-04 21:15:17 +00:00
Aaron Franke
a9416da6ea
GLTF export: Propagate property_list_changed from extensions 2024-04-04 14:06:09 -07:00
Thaddeus Crews
bbb3eb3a1a
Update lingering do/while(0) defines 2024-04-04 14:17:22 -05:00
Paul Joannon
c310ecce13
Fix captured variable serialization in delegates 2024-04-04 18:46:11 +02:00
Silc Lizard (Tokage) Renew
04dd299cba Skeleton3D: Add SkeletonModifier / Deprecate Override / Separate PB 2024-04-05 01:28:26 +09:00
Thaddeus Crews
7918d50297
SCons: Fix Ninja compilation with MSVC 2024-04-04 10:16:33 -05:00
Rémi Verschelde
0c71ba7801
Merge pull request #89880 from dsnopek/openxr-composition-layers-node3d-drs
Add support for OpenXR composition layers
2024-04-04 17:09:07 +02:00
David Snopek
0f2b804059 Add support for OpenXR composition layers
Co-authored-by: Bastiaan Olij <mux213@gmail.com>
2024-04-04 09:20:23 -05:00
Rémi Verschelde
96a75d99c4
Merge pull request #90064 from lyuma/remove_immutable_post
Apply "Remove Immutable Tracks" after post-import.
2024-04-04 14:37:01 +02:00
Rémi Verschelde
1469db5e58
Merge pull request #89968 from Calinou/xr-startup-alert-windows
Tweak OpenXR alert to mention WMR only on Windows
2024-04-04 14:35:37 +02:00
Rémi Verschelde
c97885be7d
Merge pull request #89811 from timothyqiu/missing-i18n
Fix missing i18n for some editor strings
2024-04-04 14:31:43 +02:00
Rémi Verschelde
acfcdbd291
Merge pull request #88783 from Chubercik/embree-4.3.1
embree: Update to 4.3.1
2024-04-04 14:31:02 +02:00
Rémi Verschelde
406d9426cb
Merge pull request #86121 from lawnjelly/occlusion_cull_jitter
Jitter raster occlusion camera to reduce false positives.
2024-04-04 14:30:42 +02:00
Rémi Verschelde
e302fb2167
Merge pull request #85386 from RedMser/scene-tree-editor-improvements
Improve SceneTreeEditor usability
2024-04-04 14:30:38 +02:00
Rémi Verschelde
c196d12e23
Merge pull request #84947 from raulsntos/dotnet/instance_bindings
C#: Use `get_instance_binding` instead of set
2024-04-04 14:30:35 +02:00
smix8
d6ddeec0fd Make 2D navigation mesh baking parse all TileMapLayers
Makes 2D navigation mesh baking parse all TileMapLayers.
2024-04-04 10:45:53 +02:00
bruvzg
27f6f4147b
[TextServer] Expose ICU title case string conversion to scripting. 2024-04-04 10:56:49 +03:00
lawnjelly
691854d589 Jitter raster occlusion camera to reduce false positives.
Due to the low resolution of the occlusion buffer, small gaps between occluders can be closed and incorrectly occlude instances which should show through the gaps. To ameliorate this problem, this PR jitters the occlusion buffer over time, making it more likely an instance will be seen through a gap. This is used in conjunction with an occlusion timer per instance, to prevent instances flickering on and off rapidly.
2024-04-03 12:18:45 +01:00
Haoyu Qiu
91204f6f3f Fix missing i18n for some editor strings 2024-04-03 16:42:28 +08:00
AyOhEe
e18fb27d70
Fixed "Create C# solution" dialog
Flipped the title and dialog text to how they should be. It seemed that the title was being put in the dialog text, and vice versa.
2024-04-01 23:01:40 +01:00
RedMser
9cd30208d6 Improve SceneTreeEditor usability
- Mark contextually relevant node
- Remember/Clear selection as appropriate
- Scroll to marked/selected node
2024-03-31 21:35:10 +02:00
Lyuma
b0ce274a52 Apply "Remove Immutable Tracks" after post-import.
Reimplements "Remove Immutable" by comparing to the skeleton rest.
It is necessary to delay removing animation tracks until after the correct rest pose is calculated in rest-fixer.
Preserves the original implementation in the GLTFDocument / FBXDocument API for compatibility.
2024-03-30 23:45:22 -07:00
Danil Alexeev
27d7760f41
GDScript: Fix uninitialized local variables not being reset 2024-03-30 23:25:30 +03:00
A Thousand Ships
2508c2e309
[Doc] Document loading behavior with relative paths 2024-03-30 13:33:49 +01:00
Fabio Alessandrelli
4b973f451e [MP] Gracefully handle cache confirmation of deleted nodes
It's possible that after sending a cached node reference (e.g. RPC or
static MultiplayerSynchronizer) the reference node is removed from tree
before the remote peer(s) can confirm the referenced path.

To better detect that case, and avoid spamming errors when it happens,
this commit modifies the multiplayer API caching protocol, to send the
received ID instead of the Node path when sending the confirmation
packet.

**This is a breaking change** because it makes the runtime multiplayer
protocol incompatible with previous versions of Godot.
2024-03-29 23:11:04 +01:00
Raul Santos
7d08e8727b
C#: Make internal properties and property accessors public (but hidden)
Instead of making the accessors `internal` which can break binary compat, make them `public` but hide them with EB never so they don't show up in IntelliSense.

Also, do the same for properties with the `PROPERTY_USAGE_INTERNAL` flag. These properties were not meant to be exposed to scripting, but since they've been public before all we can do now is hide them.
2024-03-29 20:36:04 +01:00
Hugo Locurcio
e334bf6df4
Tweak OpenXR alert to mention WMR only on Windows
WMR isn't supported on non-Windows platforms, so there's no point
in mentioning it in the error message as it's not a possible
cause for OpenXR not initializing.
2024-03-28 06:17:54 +01:00
Jakub Mateusz Marcowski
c43eab55a4
embree: Update to 4.3.1 2024-03-27 22:10:35 +01:00
Rémi Verschelde
aed1775cf2
Merge pull request #89883 from timothyqiu/replication-pin
Improve replication editor's pin button
2024-03-26 13:45:42 +01:00
Rémi Verschelde
60d37f1d49
Merge pull request #89843 from kleonc/csharp-transform3d-interpolate-with-first-scale-then-rotate
[C#] Fix `Transform3D.InterpolateWith` applying rotation before scale
2024-03-26 13:45:39 +01:00
HolonProduction
d2c2194937 Completion Tests: Add script to owner 2024-03-25 16:17:44 +01:00
Haoyu Qiu
8cfded5934 Improve replication editor's pin button
- When unpressed, only hide the editor if MultiplayerSynchronizer is not
  selected.
- Add tooltip text.
2024-03-25 23:12:26 +08:00
Rémi Verschelde
195a2a479a Merge pull request #89666 from bruvzg/emb_os
[Font] Apply oversampling to the "embolden" strength.
2024-03-25 13:15:59 +01:00
Rémi Verschelde
c41da69ed7
Merge pull request #89863 from ppphp/resource_format_override
Add `override` mark to ResourceFormat class
2024-03-25 11:18:57 +01:00
ppphp
d4e1a74efb Add 'override' mark to ResourceFormat class 2024-03-25 04:06:34 +08:00
A Thousand Ships
4933fa8bf5
[Buildsystem] Fix encoding when reading files 2024-03-24 18:02:56 +01:00
kleonc
e2ed63b313 [C#] Fix Transform3D.InterpolateWith applying rotation before scale 2024-03-24 09:31:20 +01:00
Haoyu Qiu
6feb43200b Fix node config warning not updating for Multiplayer{Spawner,Synchronizer} 2024-03-24 13:53:09 +08:00
Rémi Verschelde
3895639f72
Merge pull request #89756 from zaevi/dotnet/fix_null_array
C#: Fix errors when creating `Variant` from null array
2024-03-24 01:23:18 +01:00
Rémi Verschelde
c3370023b6
Merge pull request #89692 from Scony/baking-crash-prevention
Add navigation baking crash prevention mechanism
2024-03-24 01:21:56 +01:00
Rémi Verschelde
1c2ff17f12
Merge pull request #89652 from invino4/patch-1
Add property `UsingGodotNETSdk` to Godot.NET.Sdk
2024-03-24 01:20:29 +01:00
Rémi Verschelde
7ff6d8cd32
Merge pull request #89547 from Repiteo/dotnet/invariant-strings
C#: Implement `InvariantCulture` on Variant strings
2024-03-24 01:17:55 +01:00
Rémi Verschelde
d121873d01
Merge pull request #89542 from aaronfranke/convert-hull-to-mesh-func
GLTF: Extract converting hull points to mesh to a helper function
2024-03-24 01:17:15 +01:00
Rémi Verschelde
8a65dd3b9e
Merge pull request #89532 from lyuma/fix_fbxdocument_binding
Fix method bindings in FBXDocument by making them virtual in GLTFDocument.
2024-03-24 01:17:02 +01:00
Rémi Verschelde
48cf825839
Merge pull request #89451 from AThousandShips/emit_fix
[Core] Disconnect one-shot signals before calling callbacks
2024-03-24 01:15:52 +01:00
Rémi Verschelde
cd4e4c0fcc
Merge pull request #89111 from AThousandShips/vec_use
Use `Vector*` component-wise `min/max/clamp` functions where applicable
2024-03-24 01:14:51 +01:00
Pawel Lampe
64fc9e2156 Add navigation baking crash prevention mechanism 2024-03-23 22:20:00 +01:00
Zae
833a03fbf6 C#: Fix errors when creating Variant from null array 2024-03-21 23:55:44 +08:00
Danil Alexeev
0498305b6b
GDScript: Improve DocGen for non-constant expressions 2024-03-21 12:23:54 +03:00
A Thousand Ships
db455e5bee
[Core] Disconnect one-shot signals before calling callbacks
This prevents infinite recursion with one-shot connections emitting
themselves
2024-03-20 20:24:44 +01:00
A Thousand Ships
79ba22a73f
Use Vector* component-wise min/max/clamp functions where applicable 2024-03-20 13:47:42 +01:00
VolTer
de8b6f7a3c Add editor settings for autocompletion with NodePath and StringName 2024-03-19 17:23:54 +02:00
bruvzg
f6a532d501
[Font] Apply oversampling to the "embolden" strength. 2024-03-19 08:50:01 +02:00
Danil Alexeev
c45242578a
GDScript: Fix for expression is highlighted as type 2024-03-18 22:33:08 +03:00
Jason Hunter
bdbd9995f8
Add property UsingGodotNETSdk to Godot.NET.Sdk
The Godot.NET.Sdk (for C# use) should define the property `UsingGodotNETSdk` in its [SDK.props](a07dd0d6a5/modules/mono/editor/Godot.NET.Sdk/Godot.NET.Sdk/Sdk/Sdk.props).  

## Why
Defining this property allows shared build configuration (e.g. Directory.Build.targets or other imported msbuild files) to detect deterministically when they are operating within the scope of a project controlled by Godot.NET.Sdk.  This enables shared build configuration that may span many different projects within a folder to have Godot.NET.Sdk-specific configuration that only applies to Godot projects.

## Why named UsingGodotNETSdk
This naming scheme is common practice in Microsoft Dotnet SDKs.  For example, the property `UsingMicrosoftNETSdk` is defined by the default SDK, `UsingMicrosoftTraversalSdk` is defined by [Microsoft.Build.Traversal](363532de5b/src/Traversal/Sdk/Sdk.props (L10)), `UsingMicrosoftNoTargetsSdk` by [Microsoft.Build.NoTargets](363532de5b/src/NoTargets/Sdk/Sdk.props (L10)), and so on.  The property `UsingMicrosoftNETSdk` is even used in the implementation of Godot.NET.Sdk for conditional logic of the type predicted here.

Note that these "Using*" properties are _additive_ in the sense that more than one can be defined for a given project (as SDKs can effectively be built upon other SDKs, using them as components).  So, it is normal and appropriate for both `UsingMicrosoftNETSdk` and `UsingGodotNETSdk` to be simultaneously defined within the same project.
2024-03-18 09:48:52 -07:00
Thaddeus Crews
300aa202c8
C#: Implement InvariantCulture on Variant strings 2024-03-15 19:43:00 -05:00
Aaron Franke
3604b57ba3
GLTF: Extract converting hull points to mesh to a helper function 2024-03-15 15:22:48 -07:00
Diogo Costa
935ea10f3a Fixed enum autocompletion for core classes (Issue #88858)
Minor fix consisted in the use of [[fallthrough]] macro
2024-03-15 20:20:36 +00:00
Lyuma
8232759100 Fix method bindings in FBXDocument by making them virtual in GLTFDocument. 2024-03-15 12:47:02 -07:00
Rémi Verschelde
9c2db0c035
Merge pull request #89495 from akien-mga/pcre2-fix-sljit-compilation-ioscross
pcre2: Remove unused sjlit files after last update
2024-03-15 10:40:10 +01:00
Rémi Verschelde
739fcd1b8c
pcre2: Remove unused sjlit files after last update
Follow-up to #89371.
2024-03-15 09:38:45 +01:00
smix8
5d5e85fe07 Add NavigationObstacle options to affect and carve navigation mesh
Adds NavigationObstacle options to affect and carve navigation mesh.
2024-03-15 01:45:44 +01:00
Rémi Verschelde
3e773b9167
Merge pull request #89484 from dalexeev/update-gds-doc
Update `@GDScript` documentation
2024-03-14 22:35:37 +01:00
Rémi Verschelde
36b33d9b72
Merge pull request #89460 from dsnopek/openxr-composition-layers-multiple
OpenXR: Allow GDExtensions to provide multiple, ordered composition layers
2024-03-14 22:35:08 +01:00
Rémi Verschelde
21b33c5ea4
Merge pull request #89418 from lyuma/gltf_vertex_packing
Only store vertices referenced by the indices per surface in the glTF importer
2024-03-14 22:34:52 +01:00
Rémi Verschelde
37b08a3724
Merge pull request #89356 from lyuma/vsk-gltf-sparse-accessors-4.3
GLTF export: Use sparse accessors for morph targets
2024-03-14 22:34:47 +01:00
Rémi Verschelde
453485aede
Merge pull request #89270 from Repiteo/enforce-typename-in-templates
Enforce template syntax `typename` over `class`
2024-03-14 22:34:37 +01:00
Danil Alexeev
0c48845247
Update @GDScript documentation 2024-03-14 17:51:41 +03:00
Lyuma
77f6e35a8d glTF importer now only stores vertices referenced by the indices per surface. 2024-03-13 18:34:55 -07:00
David Snopek
308a6a4734 OpenXR: Allow GDExtensions to provide multiple, ordered composition layers
Co-authored-by: Bastiaan Olij <mux213@gmail.com>
2024-03-13 17:53:15 -05:00
Rémi Verschelde
da945ce626
Merge pull request #89444 from AThousandShips/article_fix
[Doc] Fix some incorrect uses of `a/an`
2024-03-13 22:16:50 +01:00
Rémi Verschelde
a1c476f9d7
Merge pull request #87680 from AThousandShips/the_angry_count
Add methods to get argument count of methods
2024-03-13 22:16:43 +01:00
A Thousand Ships
24c9d442e9
[Doc] Fix some incorrect uses of a/an 2024-03-13 21:20:28 +01:00
Adam Scott
9f605e0187
Fix GCC build failure 2024-03-13 15:02:17 -04:00
Rémi Verschelde
48b650c254
Merge pull request #89422 from Repiteo/clang-tidy-NULL
clang-tidy: Enforce `modernize-use-nullptr`
2024-03-13 18:41:39 +01:00
Rémi Verschelde
0478998148
Merge pull request #89414 from bruvzg/update_icu_msdfgen
Update ICU and msdfgen.
2024-03-13 18:41:35 +01:00
Rémi Verschelde
6c482fad89
Merge pull request #89207 from bruvzg/_ts_req
[TextServer] Use GDVIRTUAL_REQUIRED_CALL for required extensions methods, update extension docs.
2024-03-13 18:41:28 +01:00
Rémi Verschelde
8620f7356b
Merge pull request #83037 from dalexeev/gds-fix-warning-ignore-issues
GDScript: Fix `@warning_ignore` annotation issues
2024-03-13 18:41:21 +01:00
Rémi Verschelde
6ba0179682
Merge pull request #64488 from reduz/interactive-music-take3
Add interactive music support
2024-03-13 14:32:21 +01:00
bruvzg
3bb5047db3
[TextServer] Use GDVIRTUAL_REQUIRED_CALL for required extensions methods, update extension docs. 2024-03-13 12:57:39 +02:00
bruvzg
0d02568ff8
Update ICU and msdfgen. 2024-03-13 09:12:50 +02:00
Juan Linietsky
43b78cd2ad Add interactive music support
This PR adds 3 types of audio streams used for interactive music support.

* AudioStreamInteractive: Allows setting several sub-streams and transition between them with many options.
* AudioStreamPlaylist: Allows sequential or shuffled playback of a list of streams.
* AudioStreamSynchronized: Allows synchronous playback of several streams, the volume of each can be controlled.

Theese three stream types can be combined to create complex, layered interactive music and transitions between them, similar to software such as WWise.
2024-03-12 21:54:59 +01:00
Danil Alexeev
ef1909fca3
GDScript: Fix @warning_ignore annotation issues 2024-03-12 19:00:06 +03:00
Thaddeus Crews
3b3e2374c9
clang-tidy: Enforce modernize-use-nullptr 2024-03-12 10:59:53 -05:00
Rémi Verschelde
48ad83a4e7
Merge pull request #88827 from adamscott/add-browse-folder-icon
Add browse folder and browse file icons
2024-03-12 16:28:03 +01:00
Adam Scott
44d3ce2c11
Add browse folder and browse file icons 2024-03-12 09:57:59 -04:00
Rémi Verschelde
061e0c758d
Merge pull request #89395 from bruvzg/rtl_ts_img_range
[RTL] Use "visible characters" property for inline object visibility
2024-03-12 14:23:03 +01:00
Lyuma
db2c9571bb glTF export: morph targets are relative, so use zero as reference 2024-03-12 02:39:15 -07:00
K. S. Ernest (iFire) Lee
1e63a2a132 Update buffer view target handling, encode sparse accessors as vec3.
Co-authored-by: Lyuma <xn.lyuma@gmail.com>
2024-03-12 02:39:00 -07:00
bruvzg
433de7f1a8
[RTL] Use "visible characters" property for inline object visibility 2024-03-12 11:28:45 +02:00
Rémi Verschelde
b1b0a526d8
Merge pull request #89393 from Repiteo/retire-subprocess_main
SCons: Remove `run_in_subprocess` & `subprocess_main` dependencies
2024-03-11 23:48:21 +01:00
Rémi Verschelde
d5856f864f
Merge pull request #89383 from bruvzg/font_no_bitmaps
[Font] Add option to disable embedded bitmaps loading.
2024-03-11 23:48:17 +01:00
Thaddeus Crews
5a6e3cbcb0
SCons: Remove run_in_subprocess dependency 2024-03-11 13:20:09 -05:00
bruvzg
911fa38d3a
[Font] Add option to disable embedded bitmaps loading. 2024-03-11 16:31:10 +02:00
Rémi Verschelde
f040a351c2
Merge pull request #89381 from aaronfranke/disable-3d
Disable all 3D nodes, physics, and resources when compiling without 3D
2024-03-11 14:02:57 +01:00
Jakub Marcowski
dab95993c6
pcre2: Update to 10.43 2024-03-11 11:42:02 +01:00
Aaron Franke
6aac3e4a16 Disable all 3D nodes, physics, and resources when compiling without 3D 2024-03-11 01:00:55 -07:00
Rémi Verschelde
53701a0234
Merge pull request #89361 from Repiteo/scons/with-statement
SCons: Ensure `with` statement where applicable
2024-03-10 21:13:18 +01:00
Thaddeus Crews
fb299d0fb1
SCons: Ensure with statement where applicable 2024-03-10 12:57:57 -05:00
Lyuma
fd2aa564ab gltf export: Remove snapping and fix validation
Round min/max correctly in accessors
Include correct target in vertex and indices bufferViews
Avoid use of Math::snapped
Normalize vertex weights.
2024-03-10 06:07:46 -07:00
A Thousand Ships
59bcc2888c
Add methods to get argument count of methods
Added to:
* `Callable`s
* `Object`s
* `ClassDB`
* `Script(Instance)`s
2024-03-10 11:02:43 +01:00
Rémi Verschelde
0ace0a1292
Merge pull request #89333 from Repiteo/enforce-eol-python
Enforce `\n` eol for Python writes
2024-03-09 22:20:23 +01:00
Thaddeus Crews
d9fa40f2df
Enforce \n eol for Python writes
• Ensure utf-8 encoding if previously unspecified
2024-03-09 14:29:24 -06:00
Paul Joannon
7290e7d7a5
C#: Fix warnings
- Fix most CS0108 in generated glue
- Suppress CA1001 on `Variant`
2024-03-09 17:05:23 +01:00
Rémi Verschelde
877cd12da8
Merge pull request #89284 from mihe/lsp-multiple-messages
Allow LSP to process multiple messages per poll
2024-03-09 00:52:29 +01:00
Danil Alexeev
87718d2a6e
Editor Help: Add syntax highlighting for code blocks 2024-03-09 00:02:31 +03:00
Mikael Hermansson
e2485044a1 Allow LSP to process multiple messages per poll 2024-03-08 18:49:29 +01:00
Rémi Verschelde
7755079f39
Merge pull request #89025 from Chubercik/clipper2-1.3.0
clipper2: Update to 1.3.0
2024-03-08 13:09:21 +01:00
Thaddeus Crews
9903e6779b
Enforce template syntax typename over class 2024-03-07 22:39:09 -06:00
George Marques
8e520454ef
GDScript: Add @export_custom annotation
Allows setting any arbitrary hint, hint string, and usage flags.
Useful for more complex hints or potential future hints not
available as a dedicated annotation.
2024-03-07 10:55:21 -03:00
Rémi Verschelde
0acc4276b6
Merge pull request #82952 from AbelToy/gds-export-array
Allow `@export`ed Arrays to set property hints for their elements
2024-03-06 09:49:53 +01:00
Abel Toy
882441a0ad
Support Array and PackedArray in @export_* 2024-03-06 16:17:54 +09:00
Hugo Locurcio
8221e7546b
Add editor shortcuts to toggle bottom panel visibility
Default shortcuts use the first or second letter of each word.

This also adds a new shortcut to toggle the last opened bottom panel.
On editor startup, this defaults to the first panel in the list
(which is the Output panel).
2024-03-05 15:53:15 +01:00
Rémi Verschelde
b59166d77a
Merge pull request #89171 from bruvzg/fix_fb_breaks
[TextServer] Fix fallback line breaking code adding two breaks for CR-LF.
2024-03-05 09:56:22 +01:00
RedMser
2bd714e34e
Allow configuring the script filename casing rule
Defaults to "Auto", which detects the casing based on the
preference of the currently selected language (C# for example
prefers PascalCase whereas GDScript prefers snake_case).
2024-03-05 09:43:29 +01:00
bruvzg
b58e45ed43
[TextServer] Fix fallback line breaking code adding two breaks for CR-LF. 2024-03-05 09:15:11 +02:00
A Thousand Ships
1e61e42250
[GDScript] Fix some test file paths 2024-03-04 19:11:28 +01:00
Rémi Verschelde
e40010a8e1
Merge pull request #89108 from Faless/mp/fix_config_reload
[MP] Fix replication config reload error
2024-03-04 13:34:22 +01:00
Rémi Verschelde
dd2a611118
Merge pull request #89092 from AThousandShips/csharp_doc
[C#] Fix typo in `Color` documentation
2024-03-04 13:34:06 +01:00